La Diferenco Inter Kompilitaj kaj Interpretitaj Lingvoj

Komuna demando, kiun oni pensas pri enirado en programado, estas "kies lingvo mi lernu?"

La respondo al ĉi tiu demando estas preskaŭ neeble respondi. Se vi serĉas lerni programi por karieraj celoj, tiam estas bona ideo vidi kion ĉiuj aliaj uzas kaj lernas tion.

Ekzemple, en la lastaj jaroj granda nombro da homoj uzas ĉu la .NET-stako, kiu implikis ASP.NET, C #, JavaScript / JQuery / AngularJS. Ĉi tiuj programlingvoj estas ĉiuj partoj de la iloj de Windows kaj dum .NET estis disponebla al Linukso, ĝi ne estas vaste uzata.

Ene de la Linuksa mondo, homoj uzas Java, PHP, Python, Ruby On Rails kaj C.

Kio estas Kompila Lingvo?

#include int ĉefa () {printf ("Hello Mondo"); }

La supre estas tre simpla ekzemplo de programo skribita en la lingvo de programado C.

C estas ekzemplo de kompilita lingvo. Por kuri la supran kodon, ni devas kuri ĝin per C-tradukilo.

Ĝenerale, por fari tion, ekzekutu la sekvan komandon en Linukso:

gcc helloworld.c -u saluton

La supre komando turnas la kodon el homa legable formato en maŝinkodon, kiun la komputilo povas kuri denaske.

"gcc" mem estas kompila programo (gnu c compiler).

Kompila programo povas esti kurita simple per kuri la nomon de la programo kiel sekvas:

./hello

La avantaĝoj de uzado de kompililo por kompili kodo estas, ke ĝi ĝenerale kuras pli rapide ol interpretitan kodon, ĉar ĝi ne bezonas funkcii ĝin sur la muŝo laŭ la apliko.

La kompilita programo ankaŭ estis kontrolita pro eraroj dum ĝi estas kompilita. Se ekzistas iuj ordonoj, kiujn la kompililo ne ŝatas, tiam ili estos raportitaj. Ĉi tio ebligos al vi ripari ĉiujn kodajn erarojn antaŭ akiri plene kurantan programon.

Nur ĉar programo kompilita sukcese ne signifas, ke ĝi logike funkcios kiel vi atendas ĝin, do vi ankoraŭ devas provi vian aplikon.

Malofte estas io ajn perfekta, tamen. Se ni havas programon C kreitan en nia Linuksa komputilo, ni ne povas kopii tiun kompilitan programon al nia komputila Vindozo kaj atendi la ekzekuton por ekzekuti.

Por akiri la saman programon C por kuri en nia komputila Vindozo, ni devos denove kompili la programon per kompililo de C en komputilo de Windows.

Kio estas Interpretita Lingvo?

presi ("saluton mondo")

La supra kodo estas pythona programo, kiu montros la vortojn "Saluton Mondo" kiam ĝi estas kurita.

Por kuri la kodon ni ne bezonas kompili ĝin unue. Anstataŭe, ni simple povas ekzekuti la jenan komandon:

python helloworld.py

La supra kodo ne bezonas esti kompilita unue sed ĝi postulas ke python estas instalita en iu ajn maŝino, kiu bezonas kuri la skripton.

La python-interpretisto prenas la homan legeblan kodon kaj turnas ĝin en ion alian antaŭ igi ĝin, kion la maŝino povas legi. Ĉio ĉi okazas malantaŭ la scenoj kaj kiel uzanto, ĉio, kion vi vidos, estas la vortoj "Saluton Mondo".

Ĝenerale oni konsideras, ke la kodo interpretita kuros pli malrapide ol kompilitan kodon, ĉar ĝi devas aktive efektivigi la paŝon turni la kodon en ion, kiun la maŝino povas manipuli sur la muŝo kiel kontraŭa al kompilita kodo, kiu povas simple kuri.

Kvankam ĉi tio eble ŝajnas malfavora, ekzistas multaj kialoj, kial interpretitaj lingvoj estas utilaj.

Por unu estas multe pli facile akiri programon skribitan en python por kuri sur Linukso, Vindozo kaj MacOS . Ĉio, kion vi devas fari estas certigi, ke pythono estas instalita en la komputilo, kiun vi volas kuri la skripton.

Alia avantaĝo estas, ke la kodo ĉiam estas disponebla por legi kaj ĝi povas facile ŝanĝi por funkcii kiel vi volas ĝin. Kun kompila kodo, vi devas trovi, kie la kodo konserviĝas, ŝanĝu ĝin, kompilu ĝin kaj reenplaĉi la programon.

Kun interpretita kodo, vi malfermas la programon, ŝanĝu ĝin kaj ĝi pretas iri.

Do Kiun Vi Devus Uzi?

Ni dubas, ke via decido pri programlingvo decidos ĉu ĝi estas kompila lingvo aŭ ne.

Ĉi tiu listo povus valori rigardi, ĉar ĝi listigas la 9 plej popularajn programlingvojn.

Dum iuj lingvoj klare mortas, kiel ekzemple COBOL, Visual Basic kaj ActionScript, ekzistas aliaj, kiuj estis mortontaj kaj faris draman revenon kiel JavaScript.

Ĝenerale, nia konsilo estus, ke se vi uzas Linukson, vi devus lerni Java, Python aŭ C kaj se vi uzas Windows lerni .NET kaj AngularJS.