Компиловани програмски језик

Компиловани програмски језик је програмски језик чије су имплементације типично компилатори (преводиоци који генеришу машински језик од изворног кода), а нису интерпретатори (корак-по-корак извршиоци изворног кода, који не врше превођење пре покретања).

Термин је донекле нејасан; у принципу било који језик може бити реализован са компилатором или са интерпретатором. Комбинација оба решења је такође уобичајена: компилатор може да преведе изворни код у неки средњи облик (често називан бајткод), који се затим преноси на интерпретатор који га извршава.

Предности и мане

Програми компилирани у урођени код за компилирано време имају тенденцију да буду бржи од оних преведених у време извршавања, због уопштавања процеса превођења. Нове технологије, као што су „Just-in-time компилација и општи напредак у процесу превођења почињу да смањују овау разлику. Помешано решење коришћења бајткода тежи да има ефикасност негде између.

Програмски језици ниског нивоа се обично компилирају, посебно када је ефикасност примарна брига, у односу на подржавање разлићитих платформи. За језике ниског нивоа, постоји више један-на-један пресликавања између програмираног кода и хардверских операција обављених од стране машинског језика, што олакшава програмерима да контролишу процесорско и меморијско коришћење много детаљније.

Уз мало труда увек је могуће написати преводиоце чак и за традиционални интерпретирани језик. На пример, Common Lisp се може превести на Јава бајткод, који се тумачи Јава виртуелном машином; C код, који је компилиран на урођен машински код; или компилиран директно на урођен код. Програмски језици који подржавају више компилационих дестинација дају већу контролу  програмеру да изабере или брзину извршења или компатибилност са различитим платформама.

Програмски језици

Неки језици који се најчешће сматрају да су компилирани:

Алатке

Види још

Литература

  • Abelson, Harold; Sussman, Gerald Jay (1996). Structure and Interpretation of Computer Programs (2nd изд.). MIT Press. Архивирано из оригинала 09. 03. 2018. г. Приступљено 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.

Спољашње везе