Avantajele și dezavantajele compilatorilor
Avantaj: autonom și eficient
Un mare avantaj al programelor care sunt compilate este că ele sunt unități autonome gata să fie executate. Deoarece acestea sunt deja compilate în fișiere lingvistice ale mașinilor binare, nu este necesară oa doua aplicație sau pachet pe care utilizatorul ar trebui să le actualizeze. Dacă un program este compilat pentru Windows într-o arhitectură x86, utilizatorul final are nevoie doar de un sistem de operare Windows care rulează pe o arhitectură x86. În plus, un pachet precompilat poate rula mai repede decât un cod sursă interpreter în timp real.
Dezavantaj: specific pentru un hardware
Deoarece un compilator traduce codul sursă într-un limbaj specific al mașinii, programele trebuie să fie compilate special pentru OS X, Windows sau Linux, precum și pentru arhitecturi de 32 sau 64 de biți. Pentru un programator sau o companie de software care încearcă să facă un produs să atingă un public cât mai larg posibil, aceasta înseamnă necesitatea existenței mai multor versiuni ale codului sursă pentru aceeași aplicație, ceea ce are drept rezultat o perioadă mai mare de timp petrecută pe produs. întreținerea codului sursă și probleme suplimentare la lansarea actualizărilor.
Avantaj: optimizarea hardware-ului
Deși limitarea la un pachet hardware specific are dezavantajele sale, compilarea unui program poate crește și performanța acestuia. Utilizatorii pot trimite optiuni specifice compilatoarelor, legate de detaliile hardware-ului pe care va rula programul. Acest lucru permite compilatorului să genereze cod în limbajul mașinii, ceea ce face utilizarea mai eficientă a hardware-ului specificat, spre deosebire de codul generic mai general. Acest lucru permite, de asemenea, utilizatorilor avansați să optimizeze performanța unui program pe calculatoarele lor.
Dezavantaj: timpul de compilare
Unul dintre dezavantajele de a avea un compilator este că trebuie să compilați cu adevărat codul sursă. În timp ce programele mici pe care mulți dezvoltatori de codificare încep să le necesite pentru a fi compilate, suitele mari de aplicații pot lua cantități semnificative de timp pentru a le compila. Când programatorii nu au nimic de făcut decât să aștepte terminarea compilatorului, de această dată procesul poate fi mai lent, mai ales în timpul etapei de dezvoltare, când codul trebuie să fie compilat pentru a testa funcționalitatea acestuia și pentru a rezolva erorile.