Kompilovani programski jezik
Kompilovani programski jezik je programski jezik čije su implementacije tipično kompilatori (prevodioci koji generišu mašinski jezik od izvornog koda), a nisu interpretatori (korak-po-korak izvršioci izvornog koda, koji ne vrše prevođenje pre pokretanja).
Termin je donekle nejasan; u principu bilo koji jezik može biti realizovan sa kompilatorom ili sa interpretatorom. Kombinacija oba rešenja je takođe uobičajena: kompilator može da prevede izvorni kod u neki srednji oblik (često nazivan bajtkod), koji se zatim prenosi na interpretator koji ga izvršava.
Prednosti i mane
urediProgrami kompilirani u urođeni kod za kompilirano vreme imaju tendenciju da budu brži od onih prevedenih u vreme izvršavanja, zbog uopštavanja procesa prevođenja. Nove tehnologije, kao što su „Just-in-time kompilacija i opšti napredak u procesu prevođenja počinju da smanjuju ovau razliku. Pomešano rešenje korišćenja bajtkoda teži da ima efikasnost negde između.
Programski jezici niskog nivoa se obično kompiliraju, posebno kada je efikasnost primarna briga, u odnosu na podržavanje razlićitih platformi. Za jezike niskog nivoa, postoji više jedan-na-jedan preslikavanja između programiranog koda i hardverskih operacija obavljenih od strane mašinskog jezika, što olakšava programerima da kontrolišu procesorsko i memorijsko korišćenje mnogo detaljnije.
Uz malo truda uvek je moguće napisati prevodioce čak i za tradicionalni interpretirani jezik. Na primer, Common Lisp se može prevesti na Java bajtkod, koji se tumači Java virtuelnom mašinom; C kod, koji je kompiliran na urođen mašinski kod; ili kompiliran direktno na urođen kod. Programski jezici koji podržavaju više kompilacionih destinacija daju veću kontrolu programeru da izabere ili brzinu izvršenja ili kompatibilnost sa različitim platformama.
Programski jezici
urediNeki jezici koji se najčešće smatraju da su kompilirani:
Alatke
urediVidi još
urediLiteratura
uredi- Abelson, Harold; Sussman, Gerald Jay (1996). Structure and Interpretation of Computer Programs (2nd izd.). MIT Press. Arhivirano iz originala 09. 03. 2018. g. Pristupljeno 02. 01. 2017.
- Raphael Finkel: Advanced Programming Language Design, Addison Wesley 1995.
- Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes: Essentials of Programming Languages, The MIT Press 2001.
- Maurizio Gabbrielli and Simone Martini: "Programming Languages: Principles and Paradigms", Springer, 2010.
- David Gelernter, Suresh Jagannathan: Programming Linguistics, The MIT Press 1990.
- Ellis Horowitz (ed.): Programming Languages, a Grand Tour (3rd ed.), 1987.
- Ellis Horowitz: Fundamentals of Programming Languages, 1989.
- Shriram Krishnamurthi: Programming Languages: Application and Interpretation, online publication.
- Bruce J. MacLennan: Principles of Programming Languages: Design, Evaluation, and Implementation, Oxford University Press 1999.
- John C. Mitchell: Concepts in Programming Languages, Cambridge University Press 2002.
- Benjamin C. Pierce: Types and Programming Languages, The MIT Press 2002.
- Terrence W. Pratt and Marvin V. Zelkowitz: Programming Languages: Design and Implementation (4th ed.), Prentice Hall 2000.
- Peter H. Salus. Handbook of Programming Languages (4 vols.). Macmillan 1998.
- Ravi Sethi: Programming Languages: Concepts and Constructs, 2nd ed., Addison-Wesley 1996.
- Michael L. Scott: Programming Language Pragmatics, Morgan Kaufmann Publishers 2005.
- Robert W. Sebesta: Concepts of Programming Languages, 9th ed., Addison Wesley 2009.
- Franklyn Turbak and David Gifford with Mark Sheldon: Design Concepts in Programming Languages, The MIT Press 2009.
- Peter Van Roy and Seif Haridi. Concepts, Techniques, and Models of Computer Programming, The MIT Press 2004.
- David A. Watt. Programming Language Concepts and Paradigms. Prentice Hall 1990.
- David A. Watt and Muffy Thomas. Programming Language Syntax and Semantics. Prentice Hall 1991.
- David A. Watt. Programming Language Processors. Prentice Hall 1993.
- David A. Watt. Programming Language Design Concepts. John Wiley & Sons 2004.
Spoljašnje veze
uredi