Programming Language - Mentor of your Computer

Page 28

High-level programming language Also note that assembly language may itself be regarded as a higher level (but often still one-to-one if used without macros) representation of machine code, as it supports concepts such as constants and (limited) expressions, sometimes even variables, procedures, and data structures. Machine code, in its turn, is inherently at a slightly higher level than the microcode or micro-operations used internally in many processors. See C2's page about high-level languages [6].

Execution models There are three models of execution for modern high-level languages: Interpreted Interpreted languages are read and then executed directly, with no compilation stage. Compiled Compiled languages are transformed into an executable form before running. There are two types of compilation: Intermediate representations When a language is compiled to an intermediate representation, that representation can be optimized or saved for later execution without the need to re-read the source file. When the intermediate representation is saved it is often represented as byte code. Machine code generation Some compilers compile source code directly into machine code. Virtual machines that execute byte code directly or transform it further into machine code have blurred the once clear distinction between intermediate representations and truly compiled languages. Translated A language may be translated into a low-level programming language for which native code compilers are already widely available. The C programming language is a common target for such translators.

See also • • • • •

Abstraction (computer science) Generational list of programming languages Low-level programming languages Very high-level programming languages Categorical list of programming languages

External links • http://c2.com/cgi/wiki?HighLevelLanguage - The WikiWikiWeb's article on high-level programming languages

References [1] HThreads - RD Glossary (http:/ / www. ittc. ku. edu/ hybridthreads/ glossary/ index. php) [2] Surana P (2006) (PDF). Meta-Compilation of Language Abstractions. (ftp:/ / lispnyc. org/ meeting-assets/ 2007-02-13_pinku/ SuranaThesis. pdf). . Retrieved 2008-03-17. [3] Kuketayev. "The Data Abstraction Penalty (DAP) Benchmark for Small Objects in Java." (http:/ / www. adtmag. com/ joop/ article. aspx?id=4597). . Retrieved 2008-03-17. [4] Chatzigeorgiou; Stephanides (2002), "Evaluating Performance and Power Of Object-Oriented Vs. Procedural Programming Languages" (http:/ / books. google. com/ books?id=QMalP1P2kAMC& dq="abstraction+ penalty"& lr=& source=gbs_summary_s& cad=0), in Blieberger; Strohmeier, Proceedings - 7th International Conference on Reliable Software Technologies - Ada-Europe'2002, Springer, pp. 367,

24


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.