Od 1950-ih računalni znanstvenici osmislili su tisuće programskih jezika. Mnogi su nejasni, možda stvoreni za doktoranda. teza i od tada se nikada nije čulo. Drugi su postali popularni neko vrijeme, a zatim su izblijedjeli zbog nedostatka podrške ili zato što su bili ograničeni na određeni računalni sustav. Neke su inačice postojećih jezika, dodajući nove značajke poput paralelizma - mogućnost paralelnog pokretanja mnogih dijelova programa na različitim računalima.
Pročitajte više o Što je programski jezik?
Usporedba jezika programiranja
Postoji nekoliko načina za usporedbu računalnih jezika, ali radi jednostavnosti usporedit ćemo ih metodom kompilacije i razinu apstrakcije.
Sastavljanje u strojni kod
Neki jezici zahtijevaju da se programi izravno transformiraju u Machine Code - upute koje CPU razumije izravno. Taj proces transformacije se naziva kompilacija. Sastavni jezik, C, C ++ i Pascal su jezici jezika.
Tumačeni jezici
Drugi su jezici tumačiti kao što su Basic, Actionscript i Javascript ili kombinacija oba sastavljena na srednjem jeziku - to uključuje Java i C #.
Tumačeni jezik obrađuje se tijekom izvođenja. Svaki se redak čita, analizira i izvršava. Ono što svaki put u petlji mora ponovo obrađivati liniju ono što tumači jezike čini toliko sporim. Taj režijski račun znači da protumačeni kôd radi između 5 i 10 puta sporije od sastavljenog koda. Tumačeni jezici kao što su Basic ili JavaScript su najsporiji. Njihova prednost je što ne moraju biti prekomponirane nakon promjena, a to je prikladno kad učite programirati.
Jer sastavljeno programi gotovo uvijek rade brže nego što se tumače, jezici poput C i C ++ najčešće su najpopularniji za pisanje igara. Java i C # kombiniraju se na interpretirani jezik koji je vrlo učinkovit. Budući da je virtualni stroj koji tumači Javu i .NET okvir koji izvodi C # uvelike optimiziran, tvrdi se da su aplikacije na tim jezicima brže, ako ne i brže od sastavljenog C ++.
Razina apstrakcije
Drugi način usporedbe jezika je nivo apstrakcije. Ovo ukazuje koliko je određeni jezik blizak hardveru. Strojni kod je najniža razina, s tim da je jezik montaže tik iznad njega. C ++ je viši od C jer C ++ nudi veću apstrakciju. Java i C # su viši od C ++, jer se prevode na srednji jezik zvan bajt kod.
Kako se jezici uspoređuju
Brzo sastavljeni jezici
- Jezik skupštine
- C
- C ++
- paskal
- C #
- Java
Razumno brzo tumači
- Perl
- PHP
Sporo interpretirano
- JavaScript
- ActionScript
- Osnovni, temeljni
Strojni kod su upute koje izvršava CPU. To je jedino što CPU može razumjeti i izvršiti. Tumačeni jezici trebaju aplikaciju koja se zove an Tumač koji čita svaki redak izvornog koda programa i zatim ga 'pokreće'.
Tumačenje je lakše
Vrlo je lako zaustaviti, promijeniti i ponovo pokrenuti programe napisane na interpretiranom jeziku i zato su popularne za učenje programiranja. Ne treba faza kompilacije. Kompilacija može biti prilično spor proces. Veliki Visual C ++ program može trajati od nekoliko sati do sata, ovisno o tome koliko koda mora biti obnovljeno i brzini memorije i CPU-a.
Kad su se računala pojavila prvi put
Kad su računala pedesetih godina prošlog stoljeća postala popularna, programi su se pisali strojnim kodom jer nije bilo drugog načina. Programeri su morali unositi vrijednosti da fizički okrenu prekidače. Ovo je tako naporan i spor način kreiranja aplikacije da su se morali stvoriti računalni jezici više razine.
Assembler: Brzo trčanje - polako za pisanje!
Jezik montaže je čitljiva verzija Strojnog koda i izgleda ovako
Mov A, 45 USD
Budući da je vezan za određeni CPU ili obitelj povezanih CPU-a, skupštinski jezik nije baš prenosiv i zahtijeva mnogo vremena za učenje i pisanje. Jezici poput C smanjili su potrebu za programiranjem jezika skupštine osim ako je RAM ograničen ili je potreban vremenski kritičan kôd. To se obično nalazi u jezgri kernela u srcu operativnog sustava ili u upravljačkom programu za video kartice.
Jezik montaže je najniža razina koda
Jezik skupštine je na vrlo niskoj razini; većina koda samo pomiče vrijednosti između CPU registara i memorije. Ako pišete paket o plaćama, koji želite razmisliti o plaćama i poreznim odbitcima, a ne Registrirajte se na A to Memory XYZ. To je razlog zašto su jezici više razine poput C ++, C # ili Java produktivniji su. Programer može razmišljati o problematičnoj domeni (plaće, odbitci i obračuni), a ne o hardverskoj domeni (registri, memorija i upute).
Programiranje sustava s C
C ga je osmislio početkom 1970-ih Dennis Ritchie. To se može smatrati alatom opće namjene - vrlo koristan i moćan, ali vrlo jednostavan propust grešaka koji mogu učiniti sustav nesigurnim. C je jezik niske razine i opisan je kao prijenosni skupštinski jezik. Sintaksa mnogih skriptnih jezika temelji se na C, na pr. JavaScript, PHP i ActionScript.
Perl: Web stranice i uslužni programi
Vrlo popularan u svijetu Linuxa, Perl je bio jedan od prvih web jezika i danas je vrlo popularan. Za brzo i prljavo programiranje na webu ostaje bez premca i pokreće mnoge web stranice. To ga je, međutim, pomalo pomračilo PHP kao jezik skripta.
Kodiranje web stranica s PHP-om
PHP dizajniran je kao jezik za web poslužitelje i vrlo je popularan u suradnji s Linuxom, Apacheom, MySql-om, a ukratko i PHP-om ili LAMP-om. Ona se tumači, ali je unaprijed sastavljena pa se kôd izvršava vrlo brzo. Može se izvoditi na stolnim računalima, ali se ne koristi tako široko za razvoj desktop aplikacija. Na temelju C sintakse, također uključuje objekti i klase.
Pascal je zamišljen kao nastavni jezik nekoliko godina prije C, ali bio je vrlo ograničen s lošim rukovanjem nizovima i datotekama. Nekoliko proizvođača produžilo je jezik, ali sveukupni lider nije bio sve dok se nisu pojavili Borlandovi Turbo Pascal (za Dos) i Delphi (za Windows). To su bile snažne implementacije koje su dodale dovoljno funkcionalnosti kako bi bile pogodne za komercijalni razvoj. Međutim, Borland je bio protiv mnogo većeg Microsofta i izgubio bitku.
C ++: Odličan jezik!
C ++ ili C plus klase, kako se prvotno znalo, pojavili su se desetak godina nakon C i uspješno su uveli objektno orijentirano programiranje na C, kao i značajke poput izuzetaka i predložaka. Učenje svih C ++ velik je zadatak - daleko je komplicirani od programskih jezika ovdje, ali kad ga savladate, nećete imati problema s bilo kojim drugim jezikom.
C #: Microsoftova velika ponuda
C # stvorio autor Delphiarhitekt Anders Hejlsberg nakon što je prešao na Microsoft i Delphi programere osjećat će se kao kod kuće sa značajkama kao što su Windows obrasci.
Sintaksa C # vrlo je slična Javi, što i ne čudi jer je Hejlsberg također radio na J ++ nakon što je prešao u Microsoft. Naučite C # i dobro ste na putu do poznavanja Jave. Oba jezika su polu-sastavljena, tako da umjesto kompilacije za strojni kod, oni se kompiliraju u bajt kod (C # kompilira u CIL, ali on i Bytecode su slični), a zatim se interpretiraju.
Javascript: programi u vašem pregledniku
Javascript nije ništa poput Java, već njegov skriptni jezik zasnovan na C sintaksi, ali uz dodatak objekti a koristi se uglavnom u preglednicima. JavaScript se tumači i puno je sporije od sastaviti koda, ali dobro funkcionira u pregledniku.
Izmišljen od Netscape-a pokazao se vrlo uspješnim i nakon nekoliko godina propadanja uživa u novom zakupu života zbog AJAX; Asinhroni Javascript i XML. To omogućava dijelovima web stranica da se ažuriraju s poslužitelja bez ponovnog crtanja cijele stranice.
ActionScript: Flashy Language!
ActionScript je implementacija JavaScripta, ali postoji isključivo u Macromedia Flash aplikacijama. Koristeći vektorsku grafiku, uglavnom se koristi za igre, reprodukciju videozapisa i druge vizualne efekte i za razvoj sofisticiranih korisničkih sučelja koja se izvode u pregledniku.
Osnovno za početnike
Osnovni, temeljni je skraćenica za početni višenamjenski kurs simboličke upute, a stvorena je za podučavanje programiranja u 1960-ima. Microsoft je načinio jezik svoj sa mnogo različitih verzija, uključujući VBScript za web stranice i vrlo uspješan Visual Basic. Najnovija inačica toga je VB.NET i radi na istoj platformi .NETO kao C # i proizvodi isti CIL bytecode.
Lua je besplatni skriptni jezik napisan na C koji uključuje odvoz smeća i korake. Dobro se kombinira s C / C ++ i koristi se u industriji igara (i ne-igrama) za skriptu logike igara, pokretača događaja i kontrole igara.
Zaključak
Iako svatko ima svoj omiljeni jezik i uložio je vrijeme i resurse u učenje kako ga programirati, postoje neki problemi koji su najbolje riješiti pravim jezikom.
E.G ne biste koristili C za pisanje web aplikacija i ne biste napisali operativni sustav u Javascript. Ali koji god jezik odabrali, bilo da je riječ o C, C ++ ili C #, barem znate da ste na pravom mjestu da to naučite.