Programming language: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Pat Palmer
(removing paragraph about interpreted "rule of thumb" (see talk page for explanation))
imported>Pat Palmer
(more on interpreted language lines blurring these days)
Line 7: Line 7:
'''Compiled''' languages must first be translated by a '''[[compiler]]''' from human readable [[source code]] to an [[object code]]. A '''[[linker]]''' is often applied to this code to assemble it with existing libraries and runtime environments into a form the computer can run.  
'''Compiled''' languages must first be translated by a '''[[compiler]]''' from human readable [[source code]] to an [[object code]]. A '''[[linker]]''' is often applied to this code to assemble it with existing libraries and runtime environments into a form the computer can run.  


'''Interpreted''' languages rely on an application, the '''[[interpreter]]''', that translates the (sometimes human readable) source code into machine code through pre-existing interfaces. For example, an interpreter would read a line such as this: <code>PRINT "Cookies are yummy!"</code> and call the predefined, '''platform independent''' function <code>PRINT</code> inside the interpreter itself where the interpreter then executes the '''platform dependent''' [[function call]] that corresponds with <code>PRINT</code>.  The division between compiled languages and interpreted languages tends to be fuzzy.
'''Interpreted''' languages rely on an application, the '''[[interpreter]]''', that translates the (sometimes human readable) source code into machine code through pre-existing interfaces. For example, an interpreter would read a line such as this: <code>PRINT "Cookies are yummy!"</code> and call the predefined, '''platform independent''' function <code>PRINT</code> inside the interpreter itself where the interpreter then executes the '''platform dependent''' [[function call]] that corresponds with <code>PRINT</code>.  The division between compiled languages and interpreted languages is becoming fuzzier with platforms such as [[Java programming language|Java]] and the .NET framework, both of which require sophisticated, optimized "runtime" engines to execute their program, but include Just-In-Time compilation to native code.


==See Also==
==See Also==

Revision as of 18:20, 26 April 2007

A programming language is a humanly readable lexicon and grammar that a programmer uses to instruct a computer how to operate.

Programs written in a programming language have to be translated into a code (directly, or indirectly through an interpreter) the central processing unit (CPU) can understand and execute machine code. The programming language allows the programmer to define data structures and combine them with logic and procedural instructions. Generally a programming language reflects the state of development of the hardware and its processing power.

Programming languages can generally be divided into two categories:

Compiled languages must first be translated by a compiler from human readable source code to an object code. A linker is often applied to this code to assemble it with existing libraries and runtime environments into a form the computer can run.

Interpreted languages rely on an application, the interpreter, that translates the (sometimes human readable) source code into machine code through pre-existing interfaces. For example, an interpreter would read a line such as this: PRINT "Cookies are yummy!" and call the predefined, platform independent function PRINT inside the interpreter itself where the interpreter then executes the platform dependent function call that corresponds with PRINT. The division between compiled languages and interpreted languages is becoming fuzzier with platforms such as Java and the .NET framework, both of which require sophisticated, optimized "runtime" engines to execute their program, but include Just-In-Time compilation to native code.

See Also

List of programming languages