Ce este un compilator de programare?

0
27


Un compilator este un program software care convertește codul de programare scris de un programator uman în cod binar (cod mașină) care poate fi înțeles și executat de un anumit CPU. Actul de a transforma  codul sursă în  cod de mașină se numește „compilație”. Când tot codul dvs. este transformat odată înainte de a ajunge pe platformele care îl rulează, procesul se numește Ahead of Build (AOT).

Ce limbaje de programare folosesc un compilator AOT?

Multe limbaje de programare populare necesită un compilator care să includă:

  • Fortran
  • Pascal
  • limbaj de asamblare
  • C.
  • C++
  • Rapid

Înainte de Java și C#, toate programele de calculator erau fie compilate, fie interpretate .

Dar codul interpretat?

Codul interpretat execută instrucțiuni într-un program fără a le compila în limbajul mașinii. Codul interpretat analizează direct codul sursă, este combinat cu o mașină virtuală care traduce codul pentru mașină în timpul rulării sau folosește codul precompilat. Javascript este în general interpretat .

Codul compilat rulează mai repede decât codul interpretat, deoarece nu trebuie să lucreze în momentul în care este efectuată acțiunea. Lucrarea este deja făcută.

Ce limbaje de programare folosesc un compilator JIT?

Java și C# folosesc compilatoare just-in-time. Compilatoarele just-in-time sunt o combinație de compilatoare și interpreți AOT. După ce scrie un program Java, compilatorul JIT convertește codul în bytecode în loc de cod care conține instrucțiuni pentru procesorul unei anumite platforme hardware. Bytecode este independent de platformă și poate fi trimis și executat pe orice platformă care acceptă Java. Într-un fel, programul este compilat într-un proces în două etape .

În mod similar, C# folosește un compilator JIT care face parte din runtime-ul limbajului comun, care gestionează execuția tuturor aplicațiilor .NET. Fiecare platformă țintă are un compilator JIT. Atâta timp cât platforma poate înțelege conversia de limbă a bytecode intermediar, programul rulează.

Avantajele și dezavantajele compilației AOT și JIT

Compilarea Ahead-of-time (AOT) oferă un timp de pornire mai rapid, mai ales când o mare parte din cod este executată la pornire. Cu toate acestea, necesită mai multă memorie și mai mult spațiu pe disc. Compilarea JOT ar trebui să vizeze cea mai puțin capabilă dintre toate platformele de execuție posibile.

Compilarea Just-in-time (JIT) profilează platforma țintă în timp ce rulează și se recompilează din mers pentru o performanță îmbunătățită. JIT generează cod îmbunătățit, deoarece vizează platforma actuală, deși de obicei durează mai mult pentru a rula decât codul compilat AOT.