Vés al contingut

Llenguatge de programació compilat

De la Viquipèdia, l'enciclopèdia lliure
Llenguatge de programació compilat

TipusTipologia de lengatge de programacion (oc) Tradueix Modifica el valor a Wikidata
Característiques tècniques
PlataformaC standard library i altres

Un llenguatge compilat és un llenguatge de programació les implementacions del qual solen ser compiladors (traductors que generen codi màquina a partir del codi font) i no intèrprets (executors pas a pas del codi font, on no es produeix cap traducció prèvia a l'execució).[1]

El terme és una mica vague. En principi, qualsevol llenguatge es pot implementar amb un compilador o amb un intèrpret.[2] També és habitual una combinació d'ambdues solucions: un compilador pot traduir el codi font a alguna forma intermèdia (sovint anomenada p-code o bytecode), que després es passa a un intèrpret que l'executa.[3]

Avantatges i inconvenients

[modifica]

Els programes compilats en codi natiu en temps de compilació solen ser més ràpids que els traduïts en temps d'execució a causa de la sobrecàrrega del procés de traducció. Tanmateix, les noves tecnologies, com ara la compilació just-in-time, i les millores generals en el procés de traducció, estan començant a reduir aquesta bretxa. Les solucions mixtes que utilitzen bytecode tendeixen a una eficiència intermèdia.

Els llenguatges de programació de baix nivell s'acostumen a compilar, especialment quan la principal preocupació és l'eficiència, en lloc del suport multiplataforma. Per a aquests llenguatges, hi ha més correspondències un a un entre el codi programat i les operacions de maquinari realitzades pel codi màquina, cosa que facilita als programadors controlar l'ús de la unitat central de processament (CPU) i la memòria amb detall.

Amb cert esforç, sempre és possible escriure compiladors fins i tot per a llenguatges interpretats tradicionalment. Per exemple, Common Lisp es pot compilar al codi de bytes de Java (després interpretat per la màquina virtual Java), codi C (després compilat al codi de màquina natiu) o directament al codi natiu. Els llenguatges de programació que admeten múltiples objectius de compilació ofereixen als desenvolupadors més control per triar la velocitat d'execució o la compatibilitat o l'ús entre plataformes.[4]

Exemple de llenguatges compilats

[modifica]

Referències

[modifica]
  1. «Interpreted vs Compiled Programming Languages: What's the Difference?» (en anglès), 10-01-2020. [Consulta: 17 desembre 2023].
  2. Ullah, Asmat. «Features and Characteristics of Compiled Languages» (en anglès). www.sqa.org.uk.
  3. «Difference between Compiled and Interpreted Language» (en anglès americà), 26-03-2020. [Consulta: 17 desembre 2023].
  4. «Compiled vs interpreted language: Basics for beginning devs» (en anglès). [Consulta: 17 desembre 2023].
  5. Hickey, Rich. "Clojure is a compiled language", Retrieved on 11 September 2020.