Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Programming language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Language for communicating instructions to a machine}} {{Pp-pc1}} {{Use dmy dates|date=September 2020}} [[File:C Hello World Program.png|thumb|right|upright=1.3|The [[source code]] for a computer program in [[C (programming language)|C]]. The gray lines are [[comment (computer programming)|comments]] that explain the program to humans. When [[compiled]] and [[Execution (computing)|run]], it will give the output "[["Hello, World!" program|Hello, world!]]".]] A '''programming language''' is a system of notation for writing [[computer program]]s.<ref name="Aaby 2004">{{cite book |last=Aaby |first=Anthony |url=http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/intro.htm |title=Introduction to Programming Languages |year=2004 |access-date=29 September 2012 |archive-url=https://web.archive.org/web/20121108043216/http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/intro.htm |archive-date=8 November 2012 |url-status=dead}}</ref> Programming languages are described in terms of their [[Syntax (programming languages)|syntax]] (form) and [[semantics (computer science)|semantics]] (meaning), usually defined by a [[formal language]]. Languages usually provide features such as a [[type system]], [[Variable (computer science)|variables]], and mechanisms for [[Exception handling (programming)|error handling]]. An [[Programming language implementation|implementation]] of a programming language is required in order to [[Execution (computing)|execute]] programs, namely an [[Interpreter (computing)|interpreter]] or a [[compiler]]. An interpreter directly executes the source code, while a [[compiler]] produces an [[executable]] program. [[Computer architecture]] has strongly influenced the design of programming languages, with the most common type ([[imperative languages]]—which implement operations in a specified order) developed to perform well on the popular [[von Neumann architecture]]. While early programming languages were closely tied to the [[Computer hardware|hardware]], over time they have developed more [[abstraction (computer science)|abstraction]] to hide implementation details for greater simplicity. Thousands of programming languages—often classified as imperative, [[functional programming|functional]], [[logic programming|logic]], or [[object-oriented programming|object-oriented]]—have been developed for a wide variety of uses. Many aspects of programming language design involve tradeoffs—for example, [[exception handling]] simplifies error handling, but at a performance cost. [[Programming language theory]] is the subfield of [[computer science]] that studies the design, implementation, analysis, characterization, and classification of programming languages.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)