Jaký je rozdíl mezi programovacím jazykem a skriptovacím jazykem?

Nejlepší odpověď

Python je skriptovací jazyk, i když je také plnohodnotný, objektově orientovaný programovací jazyk. Rozdíl mezi skriptovacím jazykem a „programem“ je v tom, zda je kód spuštěn tlumočníkem či nikoli. To je pravděpodobně nejjednodušší způsob, jak o tom přemýšlet.

Takže pokud píšete skript v pythonu, měli byste soubor .py. Pokud chcete tento soubor spustit, ve skutečnosti spustíte python a předáte mu soubor .py jako argument. Něco jako:

/usr/bin/python /Path/To/MyScript.py

Python by pak spustil skript. Jak již zmínili ostatní, můžete do svého skriptu vložit čáru shebang, ale to jen řekne vašemu stroji, kde najít tlumočníka, který použije ke spuštění skriptu. Přístup tlumočníka má své výhody i nevýhody. Hlavní výhodou by bylo snadné použití. Níže uvedený řádek můžete vložit do souboru .py a můžete jej spustit prostřednictvím pythonu:

print("Hello world!")

S jazykem, jako je Swift Například v C ++, C # nebo Java byste svůj program skutečně zkompilovali do strojového kódu a soubor, který vyplynul z této kompilace, by byl váš program nebo část vašeho programu. Byl by připraven k distribuci, tak jak je, a pro jeho spuštění nepotřebujete žádné další programy. Interpretované jazyky z různých důvodů nebývají příliš rychlé. To pravděpodobně stojí za zmínku.

Máte pravdu, že Python není ve skutečnosti srovnatelný s Bashem. I když toho v Bash dosáhnete hodně, jazyk sám o sobě není příliš silný a není navržen tak, aby psal naplno o programech nebo řešeních. Python je plně vybavený objektově orientovaný programovací jazyk a můžete s ním psát téměř o čemkoli. Je pravda, že oba jsou skriptovací jazyky, ale nejsou ve stejné lize. Za prvé, Bash není objektově orientovaný. U Bash také primárně vyvoláváte pouze konzolové aplikace, které byly napsány v jiném jazyce. Pak pouze analyzujete výsledky pomocí Bash, nebo je posíláte do dalšího nástroje konzoly pomocí kanálu.

Zde je několik příkladů interpretovaných skriptovacích jazyků:

Python, Ruby, Uzel JS, Powershell, vbScript, Javascript, Appescript, Bash, Perl atd.

Zde je několik kompilovaných jazyků se silným typem:

Swift, Objective C, C, C ++, C # , Java

Doufejme, že to pomůže objasnit to.

Odpovědět

Skriptovací jazyky jako Python, Ruby, JavaScript, PHP jsou také programovací jazyky. Ve srovnání s tradičními kompilovanými jazyky se liší tím, že jsou interpretovány a mají dynamické psaní – datový typ objektu lze kdykoli změnit. Jinými slovy, není nutné předem definovat datový typ objektu nebo návratovou hodnotu funkce a můžete ji přepínat za chodu.

Tradičně se skriptovací jazyky používají pro jednoduché a rychlé úkoly. Ale to už není pravda. Nyní existují velké programy a kódové základny v Pythonu, Ruby, JavaScriptu a PHP. Některé z těchto jazyků mají ve srovnání s kompilovanými jazyky pomalý výkon. Ale ani to už není pravda. Díky technologiím JIT ukázaly JavaScript a PyPy velké zlepšení výkonu, stejně jako PHP 7.

Nakonec je to jen terminologie, kterou je třeba přeformulovat.

Webová technologie na nejjednodušší je sada statických dokumentů doručovaných webovým serverem do webového prohlížeče a prohlížeč jej vykresluje podle HTML a CSS. HTML je značkovací jazyk a CSS přidává styly, což usnadňuje psaní konzistentních a vlastních webových stránek. Ale obsah je statický a pro změnu některého z obsahu musíte upravit existující nebo napsat nový obsah HTML.

Chcete-li webový obsah dynamický, můžete použít jeden ze dvou přístupů: i) CGI nebo ii) vkládání kód na stránkách HTML. Bývalá technika umožňuje webovému serveru volat spustitelný soubor (napsaný v programovacím jazyce, jako je C, Perl nebo jakýkoli jiný, včetně skriptovacích jazyků), který generuje celou webovou stránku (s příslušnými hlavičkami HTML atd.) Dynamicky, vezme výsledek generovaný spustitelný soubor a vrátit jej do webového prohlížeče. To vyžaduje použití knihoven, které rozumějí interakci s webovým serverem (HTTP). Zdlouhavé, ale nejranější forma dynamického webového obsahu byla napsána tímto způsobem. Ten má jiný přístup. Webový server rozpozná stránky s vloženým kódem (obvykle obsahující HTML vložený s kódem napsaným ve skriptovacím jazyce, jako je PHP, JSP, Python), odešle jej do skriptovacího stroje, který pouze provede vložený kód a nahradí jej výsledkem provedení kódu ( zbytek HTML, CSS, JavaScript beze změny) a vrátit upravenou stránku HTML na server, který ji zase vrátí do webového prohlížeče. Python, Ruby také používají podobnou, ale nepatrnou variaci tohoto přístupu. Toto je skriptování na straně serveru

JavaScript začal jako klientský dynamický kódovací / skriptovací jazyk na straně klienta.Každý prohlížeč má zabudovaného tlumočníka JavaScriptu. Kód JavaScript lze vložit na webovou stránku a odeslat do webového prohlížeče, který tento kód poté provede na straně klienta pro úkoly, jako je ověřování formulářů, dynamická změna DOM. Ale s příchodem Node.js může JavaScript dělat to, co dělají skriptovací jazyky na straně serveru.

Pak přišel AJAX, technologie, která umožňuje kódu JavaScript na straně klienta spouštět skripty na straně serveru, vytáhnout výsledek ze serveru a naplnit DOM. Tímto způsobem můžete dynamicky naplnit rozevírací pole v prohlížeči, aniž byste obnovovali webovou stránku. Díky knihovnám JavaScript, jako je jQuery, bylo skriptování na straně klienta modulární a snadné. Rámečky HTML / CSS, jako je Bootstrap, udělaly to samé pro HTML5 a CSS3.

Rámečky webových aplikací modulují a zjednodušují psaní webových aplikací. Každý skriptovací jazyk má svou sbírku rámců webových aplikací. Ruby má Ruby on Rails. Python má Django, Flask. PHP má laravel. JavaScript má AngularJS a další.

Webové aplikace spoléhají na databáze jako na trvalé úložiště dat. Znalost SQL a databázových technologií, jako je Database Abstraction Layer a Object Relational Mapping, je tedy zásadní. Příchod databází NoSQL přináší nové věci, které se webový vývojář musí naučit.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *