Glossary of Programming Languages
compiled by Craig Persiko
First, some categorical definitions
- High-level language - Java, C, C++, PHP, JavaScript, Python, etc. Platform-independent (commands are
the same for all kinds of computers). Designed to be understandable by people, and usually compiled to
work on computers.
- Low-level language - Very simple computer instructions given one small step at a time. True
Machine Language is made up of binary numeric codes for these instructions. We generally deal
with its equivalent Assembly Language, which uses short abbreviations for commands, such as "add"
for an addition calculation, or "sub" for subtraction. Platform-dependent (commands are different for
different kinds of computers)
- Compiler - Converts a high level language to assembly language, saving it in a new file. Source
code to Object code. A compiler is a program, generally written in a high level language itself. Compilers
are generally platform-dependent. They produce assembly language that works only on the machine they are
running on.
- There are two general categories of modern high-level programming languages: Scripting Languages and
Compiled Languages. Compiled languages generally produce programs that run faster than scripting language
programs.
- C, C++, and Java are examples of Compiled Languages. With them, you write your complete
program, compile it to an executable file, and then run that executable file. To make any changes, you have
to change your program, re-compile, and run again from the beginning. Compiled languages are generally
strongly-typed. (You have to declare variables and specify their data types before using them.)
- Perl, PHP, Python and JavaScript are examples of Scripting Languages (Interpreted Languages).
With them, you write your program, then run it through an interpreter that executes it immediately. You can
make changes to the program as it's running and see the results immediately. Scripting languages are
generally loosely-typed. (You can use variables as needed without declaring them first.)
- Open-Source Software (OSS) is computer software that is available in complete source code form
for which the source code and certain other rights normally reserved for copyright holders are provided
under a software license that permits users to study, change, and improve the software. Some open source
software is available within the public domain. Open source software is very often developed in a public,
collaborative manner.
- Interpreter - a program which inputs a source code program (such as Perl or PHP) and
executes it directly, converting each line of code to machine language as it goes. This is like
compiling and running a program all in one step.
A Brief History of Programming Languages:
- 1843: Ada Lovelace wrote the world's first computer program. Her full name was Augusta Ada King, Countess of Lovelace. She was an English mathematician and writer chiefly known for her work on Charles Babbage's early mechanical general-purpose computer, the analytical engine. Her notes on the engine include what is recognised as the first algorithm intended to be processed by a machine; thanks to this, she is considered the world's first computer programmer.
- 1943: Colossus: the world's first programmable, digital, electronic, computing device. Used by
British codebreakers including Alan Turing to help read encrypted German messages during World War II.
- 1946: ENIAC: the first American computer. Filled a large room, and required about 18,000 vacuum
tubes. Designed by J. Presper Eckert and John Mauchly at the University of Pennsylvania.
- 1957: FORTRAN: the first modern programming language, suited to numeric computation and
scientific computing. Developed by John W. Backus at IBM. Still being used today.
- 1964: BASIC: an acronym for Beginner's All-purpose Symbolic Instruction Code. Designed by John
George Kemeny and Thomas Eugene Kurtz at Dartmouth College in New Hampshire to provide computer access to
non-science students. At the time, nearly all use of computers required writing custom software, which was
something only scientists and mathematicians tended to be able to do.
- 1972: C: Developed by Dennis Ritchie at the Bell Telephone Laboratories (now AT&T) for use with
the Unix operating system. Allows easy manipulation of low-level memory, more so than most high-level
languages.. Still one of the world's most popular programming languages.
- 1974: SQL: often pronounced like "Sequel", stands for Structured Query Language., A database
language designed for managing data in relational database management systems. Developed by Donald D.
Chamberlin and Raymond F. Boyce at IBM. Still the most widely used language for relational databases.
- 1982: The Internet Protocol Suite (TCP/IP) was standardized and the concept of a world-wide network of fully interconnected TCP/IP networks called the Internet was introduced.
- 1983: C++: Originally an extension of C, but with object-oriented features added. Developed by
Bjarne Stroustrup at Bell Labs (Now AT&T). Still one of the world's most popular programming languages.
- 1986: Objective-C: Developed by Brad Cox, licensed by NeXT Software, which was acquired by Apple
Computer. Similar to C++, Objective-C is a reflective, object-oriented programming language which adds
Smalltalk-style messaging to the C programming language. Objective-C is still widely used with Apple
platforms such as the iPhone and iPad.
- 1987: Perl: A high-level, general-purpose, interpreted, dynamic scripting language. The language
provides powerful text processing facilities without the arbitrary data length limits of many contemporary
Unix tools, facilitating easy manipulation of text files. It is also used for graphics programming, system
administration, network programming, applications that require database access and CGI programming on the
Web. Perl is nicknamed "the Swiss Army chainsaw of programming languages" due to its flexibility and
adaptability. It is open source.
- 1991: HTML: stands for HyperText Markup Language. HTML is not a programming language. It is the
predominant markup language for web pages. It provides a means to create structured documents by denoting
structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It
allows images and objects to be embedded and can be used to create interactive forms. It is written in the
form of HTML elements consisting of "tags" surrounded by angle brackets within the web page content. It
can embed scripts in languages such as JavaScript which affect the behavior of HTML webpages. HTML can
also be used to include Cascading Style Sheets (CSS) to define the appearance and layout of text and other
material. HTML was originally developed by Tim Berners-Lee at CERN (European Organization for Nuclear
Research).
- 1991: Visual Basic: Event-driven programming language and integrated development environment
(IDE). VB is considered a relatively easy to learn and use programming language, because of its graphical
development features and BASIC heritage. Developed by Alan Cooper, sold to Microsoft.
- 1991: Python: a general-purpose high-level programming language whose design philosophy
emphasizes code readability. Python aims to combine "remarkable power with very clear syntax". Its use of
indentation for block delimiters is unusual among popular programming languages. Python is often used as a
scripting language. Developed by Guido van Rossum at CWI in the Netherlands. Python is open source.
- 1995: The Internet was commercialized as NSFNET was decommissioned, removing the last restrictions on the use of the Internet to carry commercial traffic. This is when private individuals gained access to the Internet via commercial internet service providers.
- 1995: Java: Similar syntax to C++, but built for imbedded devices and the internet, fully
object-oriented. Has a simpler object model and fewer low-level facilities. Developed by James Gosling at
Sun Microsystems (now Oracle). Competes with C++ for the world's most popular programming language. It is
somewhat open source.
- 1995: PHP: (Stands for Hypertext Preprocessor). A widely used, general-purpose scripting
language that was originally designed for web development to produce dynamic web pages. For this purpose,
PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor
module, which generates the web page document. As a general-purpose programming language, PHP code is
processed by an interpreter application in command-line mode performing desired operating system operations
and producing program output on its standard output channel. It may also function as a graphical
application. PHP is available as a processor for most modern web servers and as standalone interpreter on
most operating systems and computing platforms. PHP was designed by Rasmus Lerdorf, and is open source.
- 1995: Ruby: a dynamic, reflective, general purpose object-oriented programming language that
combines syntax inspired by Perl. Ruby was developed in Japan by Yukihiro "Matz" Matsumoto.
Around 2005, interest in the Ruby language surged in tandem with Ruby on Rails, a popular web application
framework written in Ruby. Rails is frequently credited with making Ruby "famous". Ruby is open source.
- 1996: JavaScript: Very different from Java. A scripting language (not compiled) that is
primarily used in the form of client-side JavaScript, implemented as part of a web browser in order to
provide enhanced user interfaces and dynamic websites. JavaScript and Java have similar syntax, and
JavaScript copies many Java names and naming conventions; but the two languages are otherwise unrelated
and have very different semantics. Developed by Brendan Eich at Netscape (now AOL).
- 1998: XML: Extensible Markup Language is not a programming language. It is a set of rules for
encoding documents in machine-readable form. It is similar to HTML, but much more general and flexible.
Developed by a working group of the World Wide Web Consortium (W3C).
- 2000: C#: Developed by Anders Hejlsberg at Microsoft, within the .NET initiative. Combines ideas
from Java and C++, along with the capability to easily interoperate with programs written in other
languages. Has largely replaced Visual Basic for Windows application development.
- 2011: Kotlin: a compiled programming language designed to interoperate fully with Java. In 2019, Google announced that the Kotlin programming language is now its preferred language for Android app developers.
- 2014: Swift: a compiled programming language created by Apple for iOS and OS X development. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C code written for Apple products. Swift is intended to be more resilient to erroneous code ("safer") than Objective-C, and also more concise (the same idea can be expressed with a smaller quantity of code). It is built with the LLVM compiler framework included in Xcode 6, and uses the Objective-C runtime, allowing C, Objective-C, C++ and Swift code to run within a single program.
(Most of this information is from Wikipedia.)