Llenguatge de programació compilat
tipus de llenguatge de programació From Wikipedia, the free encyclopedia
Remove ads
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]
Remove ads
Avantatges i inconvenients
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]
Remove ads
Exemple de llenguatges compilats
*Ada
- ALGOL
- BASIC
- PowerBasic
- Visual Basic (to bytecode)
- PureBasic
- C
- C++
- C# (to bytecode)
- Carbon (programming language)
- CLEO
- COBOL
- Cobra
- Crystal
- D
- eC
- Eiffel
- Sather
- Ubercode
- Erlang (to bytecode)
- F# (to bytecode)
- Factor (later versions)
- Forth
- Fortran
- Go
- Haskell
- Haxe (to bytecode or C++)
- Java (to bytecode)
- Clojure[5]
- Scala
- Kotlin
- JOVIAL
- Julia (through JIT)
- LabVIEW, G
- Lisp
- Common Lisp
- Mercury
- ML
- Standard ML
- Alice
- OCaml
- Standard ML
- Nim (to C, C++, or Objective-C)
- Pascal
- Object Pascal
- Delphi
- Free Pascal / Lazarus
- Modula-2
- Modula-3
- Oberon
- Object Pascal
- Objective-C
- PL/I
- RPG
- Rust
- Seed7
- SPITBOL
- Swift
- Vala
- Visual Foxpro
- Visual Prolog
- Zig
Remove ads
Referències
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads