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[uredi | uredi izvor]
Programi 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[uredi | uredi izvor]
Neki jezici koji se najčešće smatraju da su kompilirani:
Alatke[uredi | uredi izvor]
Vidi još[uredi | uredi izvor]
Literatura[uredi | uredi izvor]
- 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 | uredi izvor]