This topic was published by DevynCJohnson and viewed 8992 times since "". The last page revision was "".
- Topics - 443
It is important to know that a "computer language" and a "programming language" are not quite the same. A computer language is code that can be read by a computer. A programming language (also called software languages) is used to make a program. For instance, HTML, CSS, XML, SQL, and Latex are examples of computer languages that are not programming languages. C/C++, Python, Lua, Scala, and Java are examples of computer languages that are programming languages.
Programming languages can also be classified by how they work or the structure of their code. Such categories include object-oriented, procedural, synchronous, wirth, stack-based, etc. The C programming language is an example of a procedural language.
Markup languages are computer languages that are not compiled (like scripting languages). However, markup languages are not used to make programs. Rather, they can be used to make web-pages (like HTML) or databases (like XML). Markup languages use "tags" instead of commands (such as "<br />"). Latex is not quite a "markup language". Rather, it is a "document markup language".
Command-line languages are computer languages used in a terminal console (like PowerShell and Bash).
NOTE: Notice that many computer languages fall under multiple categories. For instance, Bash is both a scripting language and a command-line language.
"Little Languages" are computer languages with very few commands and such languages have very specific purposes. For instance, awk is used for text manipulation and SQL is used for database management.
Numerous machine languages exist. Each one is named after the processor that uses it. For instance, ARM processors understand the ARM machine language. Assembly source code is compiled to machine code.
FUN FACT: Not all computer languages are based on the English language. Numerous Non-English computer languages exist. For instance, "GOST 27974-88 Programming language ALGOL 68" is a Russian computer language that uses Cyrillic letters.
Extension languages is a loose term that refers to any language that can be used inside a program to extend it (like plugins). Examples include Lua (used for Minetest mods), Python (used in Blender and GIMP), and others.
Assembly languages are a very low-level programming languages. "Low-level" refers to the fact that the language is very similar to the machine language. Assembly languages are easily converted to machine language via an assembler.
Hardware Description Languages (like VHDL) are used to control the behavior of digital circuits. For instance, VHDL is used to design the Heptane processor. Other examples of hardware description languages include Verilog, Hydra, KARL, and Lola.
An Architecture Description Language (ADL) is similar to a hardware description language (HDL). However, ADLs are used to design a system architecture. Examples of ADLs include ABACUS and ACME.
Specification Languages are used to describe a system and set rules for an implementation. Specification languages can be used to to create a general algorithm. The code can then be transpiled to one or more programming languages. For instance, SequenceL can be used to generate C++ code. Examples of specification languages include LOTOS, CASL, Vienna Development Method (VDM), and SequenceL.
An Interface Definition Language (IDL) is a special subset of specification languages that is used to describe the Application Programming Interface (API) of software (such as a library). Examples of IDLs include IDL specification language, JSON-WSP, Franca IDL, and Simplified Wrapper and Interface Generator (SWIG).
As many people can see, with a variety of computer languages and many needs, numerous categories exist for classifying languages. Many other classification groups exist, but these are the most important to know for typical computer use.
- List of programming languages by type (Wikipedia) - http://en.wikipedia.org/wiki/List_of_programming_languages_by_type
- Non-English-based programming languages (Wikipedia) - http://en.wikipedia.org/wiki/Non-English-based_programming_languages
- Computer Programming Languages - http://www.landofcode.com/programming-intro/computer-programming-languages.php