Od 50. let 20. století vymýšleli počítačoví vědci tisíce programovacích jazyků. Mnoho z nich je temných, snad vytvořených pro Ph. D. a od té doby nikdy neslyšel. Jiní se na chvíli stali populárními a poté vybledli kvůli nedostatku podpory nebo proto, že byli omezeni na konkrétní počítačový systém. Některé jsou variantami existujících jazyků a přidávají nové funkce, jako je paralelismus - schopnost spouštět mnoho částí programu paralelně na různých počítačích.
Přečtěte si více o Co je programovací jazyk?
Porovnání programovacích jazyků
Existuje několik způsobů, jak porovnat počítačové jazyky, ale pro zjednodušení je porovnáme pomocí metody kompilace a úrovně abstrakce.
Kompilace do strojového kódu
Některé jazyky vyžadují, aby byly programy transformovány přímo do strojového kódu - instrukce, kterým CPU přímo rozumí. Tento transformační proces se nazývá sestavení. Jazyk sestavení, C, C ++ a Pascal jsou kompilované jazyky.
Interpretované jazyky
Jiné jazyky jsou buď Interpretováno jako je Basic, Actioncript a Javascript, nebo směs obou kompilovaných do přechodného jazyka - to zahrnuje Java a C #.
Interpretovaný jazyk je zpracováván za běhu. Každý řádek je přečten, analyzován a proveden. Potřeba přepracovat řádek pokaždé ve smyčce je to, co činí interpretované jazyky tak pomalými. Tato režie znamená, že interpretovaný kód běží 5 až 10krát pomaleji než kompilovaný kód. Interpretované jazyky jako Basic nebo JavaScript jsou nejpomalejší. Jejich výhoda nemusí být po změnách překompilována a to je užitečné, když se učíte programovat.
Protože kompilován programy téměř vždy běží rychleji, než je interpretováno, jazyky jako C a C ++ jsou obvykle nejoblíbenější pro psaní her. Java i C # se kompilují do interpretovaného jazyka, který je velmi efektivní. Protože virtuální stroj, který interpretuje Javu a .NET framework, který provozuje C #, je silně optimalizován, tvrdí se, že aplikace v těchto jazycích jsou stejně rychlé, ne-li rychlejší, než kompilované C ++.
Úroveň abstrakce
Druhým způsobem, jak porovnat jazyky, je úroveň abstrakce. To ukazuje, jak blízko je konkrétní jazyk hardwaru. Strojový kód je nejnižší úroveň, s jazykem assembleru těsně nad ním. C ++ je vyšší než C, protože C ++ nabízí větší abstrakci. Jáva a C # jsou vyšší než C ++, protože se kompilují do přechodného jazyka zvaného bytecode.
Jak jazyky porovnat
Rychle kompilované jazyky
- Shromáždění jazyk
- C
- C ++
- Pascal
- C#
- Jáva
Rozumně rychlý výklad
- Perl
- PHP
Pomalu interpretováno
- JavaScript
- ActionScript
- Základní
Strojový kód je příkaz, který CPU provádí. Je to jediná věc, kterou CPU dokáže pochopit a spustit. Interpretované jazyky vyžadují aplikaci zvanou Tlumočník který přečte každý řádek zdrojového kódu programu a poté jej „spustí“.
Tlumočení je snazší
Je velmi snadné zastavit, změnit a znovu spustit aplikace napsané v interpretovaném jazyce, a proto jsou oblíbené pro výuku programování. Není potřeba žádná fáze kompilace. Kompilace může být docela pomalý proces. Kompilace velké aplikace Visual C ++ může trvat několik minut až hodin, v závislosti na tom, kolik kódu je třeba znovu sestavit a na rychlosti paměti a procesoru.
Když se počítače poprvé objevily
Když se počítače poprvé staly populárními v padesátých letech, programy byly psány strojovým kódem, protože neexistoval žádný jiný způsob. Programátoři museli fyzicky přepínat přepínače, aby zadávali hodnoty. Toto je tak zdlouhavý a pomalý způsob vytváření aplikace, že musely být vytvořeny vyšší počítačové jazyky.
Assembler: Rychlý běh - pomalý zápis!
Sestavovací jazyk je čitelná verze Strojového kódu a vypadá takto
Pohyb A, 45 $
Protože je vázán na konkrétní procesor nebo rodinu souvisejících procesorů, není jazyk Assembly Assembly příliš přenosný a jeho učení a psaní je časově náročné. Jazyky jako C snížily potřebu programování v jazyce Assembly Assembly, s výjimkou případů, kdy je RAM omezená nebo je potřebný časově kritický kód. Obvykle se jedná o kód jádra v srdci operačního systému nebo v ovladači grafické karty.
Shromáždění jazyk je nejnižší úroveň kódu
Montážní jazyk je velmi nízký; většina kódu pouze přesouvá hodnoty mezi registry CPU a pamětí. Pokud píšete mzdový balíček, který chcete přemýšlet, co se týče platů a odpočtů daní, ne zaregistrovat A do paměti XYZ. To je důvod, proč jazyky vyšší úrovně, jako je C ++, C# nebo Jáva jsou produktivnější. Programátor může myslet z hlediska problémové domény (platy, srážky a přírůstky), nikoli hardwarové domény (registry, paměť a pokyny).
Programování systémů pomocí C
C byl navržen v časných sedmdesátých létech Dennis Ritchie. Lze to považovat za univerzální nástroj - velmi užitečný a výkonný, ale velmi snadno propouštějící chyby, díky nimž mohou být systémy nezabezpečené. C je jazyk nízké úrovně a byl popsán jako přenosný jazyk sestavení. Syntaxe mnoha skriptovacích jazyků je založena na C, například, JavaScript, PHP a ActionScript.
Perl: Webové stránky a nástroje
Perl byl velmi populární ve světě Linuxu a byl jedním z prvních webových jazyků a dnes zůstává velmi populární. Pro „rychlé a špinavé“ programování na webu zůstává bezkonkurenční a řídí mnoho webů. Byl však poněkud zatměněn PHP jako webový skriptovací jazyk.
Kódování webových stránek s PHP
PHP byl navržen jako jazyk pro webové servery a je velmi populární ve spojení s Linuxem, Apache, MySql a zkrátka PHP nebo LAMP. Je interpretován, ale předkompilován tak, aby se kód spouštěl přiměřeně rychle. Může být spuštěn na stolních počítačích, ale není používán pro vývoj desktopových aplikací. Na základě syntaxe C zahrnuje také Objekty a třídy.
Pascal byl navržen jako výukový jazyk několik let před C, ale byl velmi omezený špatným zpracováním řetězců a souborů. Několik výrobců rozšířilo jazyk, ale neexistoval žádný celkový vůdce, dokud se neobjevil Borlandův Turbo Pascal (pro Dos) a Delphi (pro Windows). Jednalo se o výkonné implementace, které přidaly dostatek funkcí, aby byly vhodné pro komerční rozvoj. Avšak Borland byl proti mnohem většímu Microsoftu a prohrál bitvu.
C ++: Elegantní jazyk!
Třídy C ++ nebo C plus, jak byly původně známé, přišly asi deset let po C a úspěšně zavedly objektově orientované programování do C, stejně jako funkce jako výjimky a šablony. Naučit se vše C ++ je velký úkol - jedná se o zdaleka nejsložitější programovací jazyky, ale jakmile si ji osvojíte, nebudete mít potíže s žádným jiným jazykem.
C #: Microsoft je Big Bet
C # byl vytvořen uživatelem DelphiArchitekt Anders Hejlsberg poté, co se přestěhoval do vývojářů Microsoft a Delphi, se bude cítit jako doma s funkcemi, jako jsou Windows formuláře.
Syntaxe C # je velmi podobná Java, což není překvapivé, protože Hejlsberg také pracoval na J ++ poté, co se přestěhoval do Microsoftu. Naučte se C # a jste na dobré cestě k poznání Javy. Oba jazyky jsou polokompilovány tak, že místo kompilace do strojového kódu se kompilují do bajtkódu (kompiluje C # do CIL, ale jsou podobné a Bytecode) a jsou interpretovány.
Javascript: Programy v prohlížeči
Javascript není nic jako Java, místo toho je to skriptovací jazyk založený na syntaxi C, ale s přidáním Objekty a používá se hlavně v prohlížečích. JavaScript je interpretován a je mnohem pomalejší než sestaven kód, ale funguje dobře v prohlížeči.
Vynalezl Netscape, který se ukázal jako velmi úspěšný a po několika letech v doldrách si užívá nový pronájem života kvůli AJAX; Asynchronní Javascript a XML. To umožňuje částem webových stránek aktualizovat ze serveru bez překreslení celé stránky.
ActionScript: honosný jazyk!
ActionScript je implementace JavaScriptu, ale existuje pouze v aplikacích Macromedia Flash. S využitím vektorové grafiky se používá hlavně pro hry, přehrávání videí a dalších vizuálních efektů a pro vývoj sofistikovaných uživatelských rozhraní, vše spuštěných v prohlížeči.
Základní pro začátečníky
Základní je zkratka pro univerzální symbolický instrukční kód pro začátečníky a byla vytvořena pro výuku programování v 60. letech. Microsoft si vytvořil svůj vlastní jazyk s mnoha různými verzemi, včetně VBScript pro webové stránky a velmi úspěšných Visual Basic. Nejnovější verzí je VB.NET, která běží na stejné platformě .SÍŤ jako C # a vytvoří stejný bytecode CIL.
Lua je bezplatný skriptovací jazyk napsaný v jazyce C, který zahrnuje sběr odpadků a coroutiny. Dobře se propojuje s C / C ++ a používá se v herním průmyslu (i mimo hry) ke skriptování herní logiky, spouštěčů událostí a ovládání her.
Závěr
I když každý má svůj oblíbený jazyk a investoval čas a zdroje do učení, jak ho programovat, existují problémy, které lze nejlépe vyřešit pomocí správného jazyka.
E.G byste nepoužívali C pro psaní webových aplikací a nepsali byste operační systém v Javascriptu. Ale podle toho, jaký jazyk si vyberete, pokud je to C, C ++ nebo C #, alespoň víte, že jste na správném místě, abyste se ho naučili.