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!
==Use== Thousands of different programming languages have been created, mainly in the computing field.<ref>{{cite web|access-date=1 June 2009|url=http://hopl.murdoch.edu.au/|title=HOPL: an interactive Roster of Programming Languages|publisher=[[Murdoch University]]|location=Australia|quote=This site lists 8512 languages.|url-status=dead|archive-url=https://web.archive.org/web/20110220044217/http://hopl.murdoch.edu.au/|archive-date=20 February 2011}}</ref> Individual software projects commonly use five programming languages or more.<ref>{{cite conference|first1=Philip|conference=Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering β EASE '15|last1=Mayer|first2=Alexander|last2=Bauer|title=Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering |publisher=ACM|year=2015|location=New York, NY, US|isbn=978-1-4503-3350-4|pages=4:1β4:10|doi=10.1145/2745802.2745805|quote=Results: We found (a) a mean number of 5 languages per project with a clearly dominant main general-purpose language and 5 often-used DSL types, (b) a significant influence of the size, number of commits, and the main language on the number of languages as well as no significant influence of age and number of contributors, and (c) three language ecosystems grouped around XML, Shell/Make, and HTML/CSS. Conclusions: Multi-language programming seems to be common in open-source projects and is a factor that must be dealt with in tooling and when assessing the development and maintenance of such software systems.|chapter=An empirical analysis of the utilization of multiple programming languages in open source projects|doi-access=free}}</ref> Programming languages differ from most other forms of human expression in that they require a greater degree of precision and completeness. When using a natural language to communicate with other people, human authors and speakers can be ambiguous and make small errors, and still expect their intent to be understood. However, figuratively speaking, computers "do exactly what they are told to do", and cannot "understand" what code the programmer intended to write. The combination of the language definition, a program, and the program's inputs must fully specify the external behavior that occurs when the program is executed, within the domain of control of that program. On the other hand, ideas about an algorithm can be communicated to humans without the precision required for execution by using [[pseudocode]], which interleaves natural language with code written in a programming language. A programming language provides a structured mechanism for defining pieces of data, and the operations or transformations that may be carried out automatically on that data. A [[programmer]] uses the [[Abstraction (computer science)|abstractions]] present in the language to represent the concepts involved in a computation. These concepts are represented as a collection of the simplest elements available (called [[language primitive|primitives]]).<ref>{{cite web|url=http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html|title=Structure and Interpretation of Computer Programs|author=Abelson, Sussman, and Sussman|access-date=3 March 2009|url-status=dead|archive-url=https://web.archive.org/web/20090226050622/http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html|archive-date=26 February 2009}}</ref> ''[[Computer Programming|Programming]]'' is the process by which programmers combine these primitives to compose new programs, or adapt existing ones to new uses or a changing environment. Programs for a computer might be [[Execution (computing)|executed]] in a [[Batch processing|batch process]] without any human interaction, or a user might type [[Command (computing)|commands]] in an [[Session (computer science)|interactive session]] of an [[Interpreter (computing)|interpreter]]. In this case the "commands" are simply programs, whose execution is chained together. When a language can run its commands through an interpreter (such as a [[Unix shell]] or other [[command-line interface]]), without compiling, it is called a [[scripting language]].<ref>{{cite web |url = http://www.mactech.com/articles/mactech/Vol.15/15.09/ScriptingLanguages/index.html |title = Scripting Languages |year = 1999 |first1= Brown |last1=Vicki |first2=Rich |last2=Morin |website = MacTech |url-status = live |archive-url = https://web.archive.org/web/20171202235828/http://www.mactech.com/articles/mactech/Vol.15/15.09/ScriptingLanguages/index.html |archive-date = 2 December 2017}}</ref> ===Measuring language usage=== Determining which is the most widely used programming language is difficult since the definition of usage varies by context. One language may occupy the greater number of programmer hours, a different one has more lines of code, and a third may consume the most CPU time. Some languages are very popular for particular kinds of applications. For example, [[COBOL]] is still strong in the corporate data center, often on large [[Mainframe computer|mainframes]];<ref>{{cite web |url = http://www.computerworld.com.au/article/319269/cobol_turns_50/ |title = COBOL turns 50 |date = 2009-09-21 |access-date = 2013-10-19 |author = Georgina Swan |publisher = Computerworld |url-status = dead |archive-url = https://web.archive.org/web/20131019181128/http://www.computerworld.com.au/article/319269/cobol_turns_50/ |archive-date = 19 October 2013}}</ref><ref>{{cite web |url = http://www.developer.com/lang/other/7-myths-of-cobol-debunked.html |title = 7 Myths of COBOL Debunked |date = 2012-05-03 |access-date = 2013-10-19 |author = Ed Airey |publisher = developer.com |url-status = live |archive-url = https://web.archive.org/web/20131019171802/http://www.developer.com/lang/other/7-myths-of-cobol-debunked.html |archive-date = 19 October 2013}}</ref> [[Fortran]] in scientific and engineering applications; [[Ada (programming language)|Ada]] in aerospace, transportation, military, real-time, and embedded applications; and [[C (programming language)|C]] in embedded applications and operating systems. Other languages are regularly used to write many different kinds of applications. Various methods of measuring language popularity, each subject to a different bias over what is measured, have been proposed: * counting the number of job advertisements that mention the language<ref>{{cite web |author=Nicholas Enticknap |url=http://www.computerweekly.com/Articles/2007/09/11/226631/sslcomputer-weekly-it-salary-survey-finance-boom-drives-it-job.htm |title=SSL/Computer Weekly IT salary survey: finance boom drives IT job growth |work=Computer Weekly |access-date=2013-06-14 |url-status=live |archive-url=https://web.archive.org/web/20111026035734/http://www.computerweekly.com/Articles/2007/09/11/226631/SSLComputer-Weekly-IT-salary-survey-finance-boom-drives-IT-job.htm |archive-date=26 October 2011}}</ref> * the number of books sold that teach or describe the language<ref>{{cite web|url=http://radar.oreilly.com/archives/2006/08/programming_language_trends_1.html|title=Counting programming languages by book sales|publisher=Radar.oreilly.com|date=2 August 2006|url-status=dead|archive-url=https://web.archive.org/web/20080517023127/http://radar.oreilly.com/archives/2006/08/programming_language_trends_1.html|archive-date=17 May 2008}}</ref> * estimates of the number of existing lines of code written in the language{{spaced ndash}} which may underestimate languages not often found in public searches<ref>Bieman, J.M.; Murdock, V., Finding code on the World Wide Web: a preliminary investigation, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation, 2001</ref> * counts of language references (i.e., to the name of the language) found using a web search engine. Combining and averaging information from various internet sites, stackify.com reported the ten most popular programming languages (in descending order by overall popularity): [[Java (programming language)|Java]], [[C (programming language)|C]], [[C++]], [[Python (programming language)|Python]], [[C Sharp (programming language)|C#]], [[JavaScript]], [[Visual Basic .NET|VB .NET]], [[R (programming language)|R]], [[PHP]], and [[MATLAB]].<ref>{{cite web |url=https://stackify.com/popular-programming-languages-2018/ |title=Most Popular and Influential Programming Languages of 2018 |publisher=stackify.com |date=2017-12-18 |access-date=2018-08-29 |archive-date=30 August 2018 |archive-url=https://web.archive.org/web/20180830004924/https://stackify.com/popular-programming-languages-2018/ |url-status=live }}</ref> As of June 2024, the top five programming languages as measured by [[TIOBE index]] are [[Python (programming language)|Python]], [[C++]], [[C (programming language)|C]], [[Java (programming language)|Java]] and [[C Sharp (programming language)|C#]]. TIOBE provides a list of top 100 programming languages according to popularity and update this list every month.<ref>{{cite web | url=https://www.tiobe.com/tiobe-index/ | title=TIOBE Index | access-date=24 June 2024 }}</ref>
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)