Porovnanie populárnych programovacích jazykov
Ako sa hromadia?
Getty Images/ermingut
Od 50. rokov minulého storočia počítačoví vedci vymysleli tisíce programovacích jazykov. Mnohé sú nejasné, možno vytvorené pre doktorandské štúdium. a odvtedy som o nej nepočul. Iné sa na chvíľu stali populárnymi a potom vybledli kvôli nedostatku podpory alebo preto, že boli obmedzené na konkrétny počítačový systém. Niektoré sú variantmi existujúcich jazykov, ktoré pridávajú nové funkcie, ako napríklad paralelizmus – možnosť paralelného spustenia mnohých častí programu na rôznych počítačoch.
Prečítajte si viac o Čo je to programovací jazyk?
Porovnanie programovacích jazykov
Existuje niekoľko spôsobov, ako porovnávať počítačové jazyky, ale pre jednoduchosť ich porovnáme podľa metódy kompilácie a úrovne abstrakcie.
Kompilácia do strojového kódu
Niektoré jazyky vyžadujú, aby boli programy transformované priamo do strojového kódu – inštrukcií, ktorým CPU priamo rozumie. Tento transformačný proces sa nazýva kompilácia . Assembly Language, C, C++ a Pascal sú kompilované jazyky.
Interpretované jazyky
Iné jazyky sú tiež Vykladané ako napríklad Basic, Actionscript a Javascript alebo ich zmes kompilovaná do stredného jazyka – to zahŕňa Java a C#.
Interpretovaný jazyk sa spracováva za behu. Každý riadok sa prečíta, analyzuje a vykoná. Nutnosť opätovného spracovania riadku zakaždým v slučke je to, čo robí interpretované jazyky takými pomalými. Táto réžia znamená, že interpretovaný kód beží 5 až 10-krát pomalšie ako kompilovaný kód. Interpretované jazyky ako Basic alebo JavaScript sú najpomalšie. Ich výhodou je, že po zmenách nie je potrebné ich prekompilovať a to je praktické, keď sa učíte programovať.
Pretože zostavené programy takmer vždy bežia rýchlejšie ako interpretované, jazyky ako C a C++ bývajú najobľúbenejšie na písanie hier. Java a C# sa kompilujú do interpretovaného jazyka, ktorý je veľmi efektívny. Pretože virtuálny stroj, ktorý interpretuje Javu, a rámec .NET, na ktorom beží C#, sú značne optimalizované, tvrdí sa, že aplikácie v týchto jazykoch sú také rýchle, ak nie rýchlejšie ako kompilované C++.
Úroveň abstrakcie
Ďalším spôsobom porovnávania jazykov je úroveň abstrakcie. Označuje, ako blízko je konkrétny jazyk k hardvéru. Strojový kód je najnižšia úroveň, tesne nad ňou je jazyk assembleru. C++ je vyššie ako C, pretože C++ ponúka väčšiu abstrakciu. Java a C# sú vyššie ako C++, pretože sa kompilujú do stredného jazyka nazývaného bytecode.
Ako sa porovnávajú jazyky
- |_+_|
- Montážny jazyk
- C
- C++
- Pascal
- C#
- Java
- |_+_|
- Perl
- PHP
- |_+_|
- JavaScript
- ActionScript
- Základné
Strojový kód sú inštrukcie, ktoré CPU vykonáva. Je to jediná vec, ktorú môže CPU pochopiť a vykonať. Interpretované jazyky potrebujú aplikáciu s názvom an Tlmočník ktorý prečíta každý riadok zdrojového kódu programu a potom ho „spustí“.
Tlmočenie je jednoduchšie
Je veľmi jednoduché zastaviť, zmeniť a znova spustiť aplikácie napísané v interpretovanom jazyku, a preto sú obľúbené na učenie sa programovania. Nie je potrebná žiadna fáza kompilácie. Kompilácia môže byť dosť pomalý proces. Kompilácia veľkej aplikácie Visual C++ môže trvať minúty až hodiny v závislosti od toho, koľko kódu je potrebné prebudovať, a od rýchlosti pamäte a CPU.
Keď sa prvýkrát objavili počítače
Keď sa počítače v 50. rokoch prvýkrát stali populárnymi, programy sa písali v strojovom kóde, pretože neexistovala žiadna iná cesta. Programátori museli pri zadávaní hodnôt fyzicky prepínať prepínače. Toto je taký zdĺhavý a pomalý spôsob vytvárania aplikácie, že museli byť vytvorené počítačové jazyky vyššej úrovne.
Assembler: Rýchle spustenie – pomalé písanie!
Assembly language je čitateľná verzia strojového kódu a vyzerá takto
|_+_|
Pretože je viazaný na konkrétny CPU alebo rodinu príbuzných CPU, jazyk assembleru nie je veľmi prenosný a jeho učenie a písanie je časovo náročné. Jazyky ako C znížili potrebu programovania v assembleri okrem prípadov, keď je RAM obmedzená alebo je potrebný časovo kritický kód. Toto je zvyčajne v kóde jadra v srdci operačného systému alebo v ovládači grafickej karty.
Assembly Language je najnižšia úroveň kódu
Jazyk symbolických inštrukcií je na veľmi nízkej úrovni; väčšina kódu iba presúva hodnoty medzi registrami CPU a pamäťou. Ak píšete mzdový balík, ktorý chcete myslieť z hľadiska miezd a daňových úľav, nie registra A do pamäťového miesta XYZ. To je dôvod, prečo jazyky vyššej úrovne ako C++,C#aleboJavasú produktívnejšie. Programátor môže myslieť v pojmoch problémovej domény (platy, zrážky a časové rozlíšenie), nie hardvérovej domény (registre, pamäť a inštrukcie).
Programovanie systémov s C
C bol navrhnutý na začiatku 70. rokov 20. storočia Dennisom Ritchiem. Dá sa to považovať za univerzálny nástroj – veľmi užitočný a výkonný, ale veľmi ľahko sa prepúšťajú chyby, ktoré môžu spôsobiť neistotu systémov. C je nízkoúrovňový jazyk a bol opísaný ako prenosný jazyk zhromaždenia. Syntax mnohých skriptovacích jazykov je založená na jazyku C, napr. JavaScript , PHP a ActionScript.
Perl: Webové stránky a nástroje
Perl, veľmi populárny vo svete Linuxu, bol jedným z prvých webových jazykov a dodnes je veľmi populárny. Pre „rýchle a špinavé“ programovanie na webe zostáva bezkonkurenčný a riadi mnoho webových stránok. Bolo to však trochu zatienené PHP ako webový skriptovací jazyk .
Kódovanie webových stránok pomocou PHP
PHP bol navrhnutý ako jazyk pre webové servery a je veľmi populárny v spojení s Linuxom, Apache, MySql a PHP alebo skrátene LAMP. Je interpretovaný, ale predkompilovaný, takže kód sa vykonáva primerane rýchlo. Môže byť spustený na stolných počítačoch, ale nie je tak široko používaný na vývoj desktopových aplikácií. Na základe syntaxe C obsahuje aj Objekty a triedy.
Pascal bol navrhnutý ako vyučovací jazyk niekoľko rokov pred C, ale bol veľmi obmedzený so zlým zaobchádzaním s reťazcami a súbormi. Niekoľko výrobcov rozšírilo jazyk, ale nebolo žiadneho celkového lídra, kým sa neobjavili Borland's Turbo Pascal (pre Dos) a Delphi (pre Windows). Boli to výkonné implementácie, ktoré pridali dostatok funkcií, aby boli vhodné pre komerčný vývoj. Borland však stál proti oveľa väčšiemu Microsoftu a bitku prehral.
C++: Elegantný jazyk!
Triedy C++ alebo C plus, ako boli pôvodne známe, prišli asi desať rokov po C a úspešne zaviedli objektovo orientované programovanie do C, ako aj funkcie ako výnimky a šablóny. Naučiť sa celý C++ je veľká úloha – je to zďaleka najkomplikovanejší z programovacích jazykov tu, ale keď ho zvládnete, nebudete mať problémy so žiadnym iným jazykom.
C#: Veľká stávka spoločnosti Microsoft
C# vytvorilDelphiArchitekt Anders Hejlsberg po svojom prechode do Microsoftu a vývojári Delphi sa budú cítiť ako doma s funkciami, ako sú formuláre Windows.
Syntax jazyka C# je veľmi podobná Jave, čo nie je prekvapujúce, pretože Hejlsberg tiež pracoval na J++ potom, čo prešiel do Microsoftu. Naučte sa C# a ste na dobrej ceste spoznať Javu. Oba jazyky sú čiastočne kompilované, takže namiesto kompilovania do strojového kódu sa kompilujú do bajtkódu (C# sa kompiluje do CIL, ale ten a bajtkód sú podobné) a potom sa interpretujú.
Javascript: Programy vo vašom prehliadači
Javascript nie je nič ako Java, namiesto toho je to skriptovací jazyk založený na syntaxi C, ale s pridaním Objekty a používa sa hlavne v prehliadačoch. JavaScript je interpretovaný a oveľa pomalší ako skompilovaný kód, ale funguje dobre v prehliadači.
Vynájdený spoločnosťou Netscape sa ukázal ako veľmi úspešný a po niekoľkých rokoch útlmu si užíva nový dych, pretože AJAX; Asynchrónny Javascript a XML . To umožňuje častiam webových stránok aktualizovať sa zo servera bez prekresľovania celej stránky.
ActionScript: okázalý jazyk!
ActionScript je implementáciou JavaScriptu, ale existuje výlučne v aplikáciách Macromedia Flash. Pomocou vektorovej grafiky sa používa hlavne na hry, prehrávanie videí a iných vizuálnych efektov a na vývoj sofistikovaných používateľských rozhraní, pričom všetko beží v prehliadači.
Základné pre začiatočníkov
Základné je skratka pre Beginners All-purpose Symbolic Instruction Code a bola vytvorená na výučbu programovania v 60. rokoch minulého storočia. Spoločnosť Microsoft vytvorila jazyk vlastným s mnohými rôznymi verziami vrátane VBScript pre webové stránky a veľmi úspešných Visual Basic . Najnovšia verzia je VB.NET a beží na rovnakej platforme .NET ako C# a vytvára rovnaký bajtový kód CIL.
Dva je bezplatný skriptovací jazyk napísaný v C, ktorý zahŕňa garbage collection a coroutines. Je dobre prepojený s C/C++ a používa sa v hernom priemysle (a tiež mimo hier) na skriptovanie logiky hry, spúšťanie udalostí a ovládanie hier.
Záver
Aj keď každý má svoj obľúbený jazyk a investoval čas a zdroje do učenia sa, ako ho naprogramovať, existuje niekoľko problémov, ktoré je najlepšie vyriešiť správnym jazykom.
Napr. nepoužili by ste C na písanie webových aplikácií a nenapísali by ste operačný systém v Javascripte. Ale bez ohľadu na to, aký jazyk si vyberiete, ak je to C, C++ alebo C#, aspoň viete, že ste na správnom mieste, aby ste sa ho naučili.