Od petdesetih let prejšnjega stoletja so računalniški strokovnjaki zasnovali na tisoče programskih jezikov. Mnogi so prikriti, morda ustvarjeni za doktorata. diplomskega dela in od takrat nikoli ni bilo slišati. Drugi so postali priljubljeni za nekaj časa, potem pa so zbledeli zaradi pomanjkanja podpore ali zato, ker so bili omejeni na določen računalniški sistem. Nekatere so različice obstoječih jezikov in dodajo nove funkcije, kot je paralelizem - možnost vzporednega izvajanja številnih delov programa na različnih računalnikih.
Preberite več o Kaj je programski jezik?
Primerjava jezikov programiranja
Obstaja več načinov za primerjavo računalniških jezikov, vendar zaradi enostavnosti jih bomo primerjali po metodi kompilacije in ravni abstrakcije.
Prevajanje v strojno kodo
Nekateri jeziki zahtevajo, da se programi pretvorijo neposredno v strojno kodo - navodila, ki jih procesor razume neposredno. Ta proces preobrazbe se imenuje kompilacija. Jezik montaže, C, C ++ in Pascal so sestavljeni jeziki.
Tolmačenje jezikov
Tudi drugi jeziki so Razlaga na primer Basic, Actionscript in Javascript, ali kombinacija obeh, sestavljenih v vmesni jezik - to vključuje Java in C #.
Interpretirani jezik je obdelan med izvajanjem. Vsaka vrstica se prebere, analizira in izvede. To, da je treba interpretirane jezike vsakič v zanki ponovno obdelati, je to tako, da so interpretirani jeziki tako počasni. Ta režijska vrednost pomeni, da interpretirana koda deluje med 5 - 10-krat počasneje kot sestavljena koda. Tumačeni jeziki, kot sta Basic ali JavaScript, so najpočasnejši. Njihova prednost ni, da jih po spremembah ni treba ponovno sestaviti, kar je priročno, ko se učite programirati.
Ker sestavljeno programi skoraj vedno tečejo hitreje kot interpretirani, jeziki, kot sta C in C ++, so ponavadi najbolj priljubljeni za pisanje iger. Java in C # se prevajata v interpretiran jezik, ki je zelo učinkovit. Ker sta virtualni stroj, ki interpretira Java, in .NET ogrodje, ki poganja C #, močno optimizirana, trdijo, da so aplikacije v teh jezikih tako hitre, če ne hitrejše kot sestavljene C ++.
Stopnja abstrakcije
Drugi način za primerjavo jezikov je stopnja abstrakcije. To kaže, kako blizu je določenemu jeziku strojna oprema. Strojna koda je najnižja raven, jezik montaže je tik nad njo. C ++ je višji od C, ker C ++ ponuja večjo abstrakcijo. Java in C # sta višja od C ++, ker se prevajata v vmesni jezik, imenovan bytecode.
Kako se jeziki primerjajo
Hitro sestavljeni jeziki
- Jezik montaže
- C
- C ++
- Pascal
- C #
- Java
Razumno hitro razlaga
- Perl
- PHP
Počasno razlaga
- JavaScript
- ActionScript
- Osnovni
Strojna koda so navodila, ki jih izvaja CPU. To je edino, kar lahko CPU razume in izvede. Za tolmačene jezike je potrebna aplikacija, imenovana an Tolmač ki bere vsako vrstico izvorne kode programa in jo nato »zažene«.
Tolmačenje je lažje
Programe, napisane v interpretiranem jeziku, je zelo enostavno ustaviti, spremeniti in ponovno zagnati, zato so priljubljene za učenje programiranja. Ni potrebe po pripravi. Sestavljanje je lahko precej počasen postopek. Velika sestava Visual C ++ lahko traja od nekaj ur do ure, odvisno od tega, koliko kode je treba obnoviti in hitrosti pomnilnika in CPU-ja.
Ko so se računalniki prvič pojavili
Ko so računalniki v petdesetih letih prvič postali priljubljeni, so bili programi napisani v strojni kodi, saj ni bilo druge možnosti. Programerji so morali vnesti vrednosti fizično preklopiti stikala. To je tako mučen in počasen način ustvarjanja aplikacije, da je bilo treba ustvariti računalniške jezike višje ravni.
Sestavljalec: Hitro teči - počasi pisati!
Jezik montaže je berljiva različica strojne kode in je videti tako
Mov A, 45 USD
Ker je vezan na določen CPU ali družino povezanih CPU-jev, jezik montaže ni zelo prenosljiv in je veliko časa za učenje in pisanje. Jeziki, kot je C, so zmanjšali potrebo po programiranju jezika montaže, razen kadar je RAM omejen ali je potrebna časovno kritična koda. To je običajno v kodi jedra v središču operacijskega sistema ali v gonilniku video kartice.
Jezik montaže je najnižja raven kode
Jezik montaže je zelo nizek; večina kode samo premika vrednosti med registri CPU-ja in pomnilnikom. Če pišete paket plač, ki ga želite razmišljati o plačah in davčnih olajšavah, ne Registrirajte se na A do Memory XYZ. Zato so jeziki višje ravni, kot so C ++, C # ali Java so bolj produktivni. Programer lahko razmišlja o problematični domeni (plače, odbitki in časovne razmejitve), ne pa po strojni domeni (registri, pomnilnik in navodila).
Programiranje sistemov s C
C je v zgodnjih sedemdesetih letih prejšnjega stoletja zasnoval Dennis Ritchie. Lahko ga obravnavamo kot orodje splošnega pomena - zelo uporabno in zmogljivo, a zelo enostavno prepušča napake, kar lahko naredi sisteme negotove. C je jezik nizke ravni in je bil opisan kot prenosni sestavni jezik. Sintaksa številnih skriptnih jezikov temelji na C, npr. JavaScript, PHP in ActionScript.
Perl: Spletne strani in pripomočki
Perl je bil zelo priljubljen v svetu Linux kot eden prvih spletnih jezikov in je še danes zelo priljubljen. Za hitro in umazano programiranje na spletu ostaja brez primere in poganja številne spletne strani. Vendar ga je nekoliko zasenčil PHP kot jezik spletnega skripta.
Kodiranje spletnih strani s PHP
PHP je bil zasnovan kot jezik za spletne strežnike in je zelo priljubljen v povezavi z Linuxi, Apache, MySql in na kratko PHP ali LAMP. Razlaga se, vendar vnaprej sestavljen, zato se koda izvede hitro hitro. Lahko se izvaja na namiznih računalnikih, vendar se ne uporablja tako pogosto za razvoj namiznih aplikacij. Na podlagi sintakse C vključuje tudi Predmeti in Razredi.
Pascal je bil zasnovan kot učni jezik nekaj let pred C, vendar je bil zelo omejen s slabim ravnanjem z nizi in datotekami. Več proizvajalcev je jezik razširilo, vendar ni bilo celotnega vodilnega, dokler se nista pojavila Borlandova Turbo Pascal (za Dos) in Delphi (za Windows). To so bile močne izvedbe, ki so dodale dovolj funkcionalnosti, da so bile primerne za komercialni razvoj. Vendar je Borland bil proti veliko večjemu Microsoftu in izgubil bitko.
C ++: Eleganten jezik!
Razredi C ++ ali C plus, kot je bilo prvotno znano, so nastali približno deset let po C in uspešno uvedli objektno orientirano programiranje na C, pa tudi funkcije, kot so izjeme in predloge. Učenje vseh C ++ je velika naloga - daleč je najbolj zapleten programski jezik, vendar ko ga obvladite, ne boste imeli težav z nobenim drugim jezikom.
C #: Majhna stava Microsofta
C # je ustvaril Delphise je arhitekt Anders Hejlsberg, ko se je preselil k Microsoftu in razvijalcem Delphija, počutil kot doma s funkcijami, kot so obrazci za Windows.
Sintaksa C # je zelo podobna Javi, kar ne preseneča, saj je Hejlsberg delal tudi na J ++, potem ko se je preselil v Microsoft. Naučite se C # in že ste na dobri poti do poznavanja Jave. Oba jezika sta napol sestavljena, tako da se namesto da bi se predelali v strojno kodo, predelata v bajt kodo (C # prevaja v CIL, vendar sta podobna in Bytecode) in se nato razlagata.
Javascript: Programi v vašem brskalniku
Javascript namesto tega ni nič kot Java, njen skriptni jezik temelji na sintaksi C, vendar z dodatkom Predmeti uporablja pa se predvsem v brskalnikih. JavaScript se razlaga in veliko počasneje kot sestavljeno koda, vendar deluje dobro v brskalniku.
Izumil ga je Netscape, saj se je izkazal za zelo uspešnega in že po nekaj letih uživa nov najem življenja zaradi AJAX; Asinhroni Javascript in XML. To omogoča, da se deli spletnih strani posodabljajo s strežnika brez ponovnega risanja celotne strani.
ActionScript: neokusen jezik!
ActionScript je implementacija JavaScript, vendar obstaja izključno v aplikacijah Macromedia Flash. Z vektorsko grafiko se uporablja predvsem za igre, predvajanje video posnetkov in druge vizualne učinke ter za razvoj prefinjenih uporabniških vmesnikov, ki se vse izvajajo v brskalniku.
Osnovno za začetnike
Osnovni je kratica za večnamensko kodeks simboličnih navodil za začetnike in je bila ustvarjena za poučevanje programiranja v šestdesetih letih. Microsoft je jezik naredil svoj s številnimi različicami, vključno z VBScriptom za spletna mesta in zelo uspešno Visual basic. Zadnja različica tega je VB.NET in ta deluje na isti platformi .MREŽA kot C # in ustvari isto bajtno kodo CIL.
Lua je brezplačni skriptni jezik, napisan na C, ki vključuje zbiranje smeti in sorodne postopke. Dobro je vmesnik s C / C ++ in se uporablja v industriji iger (in tudi ne igre) za skriptno logiko igre, sprožilce dogodkov in nadzor igre.
Zaključek
Medtem ko ima vsak svoj najljubši jezik in je vložil čas in sredstva za učenje programiranja, je nekaj težav, ki jih je najbolje rešiti s pravim jezikom.
E.G ne bi uporabljali C za pisanje spletnih aplikacij in v Javascript ne bi napisali operacijskega sistema. Ne glede na jezik, ki ga izberete, če je to C, C ++ ali C #, vsaj veste, da ste na pravem mestu, da se ga naučite.