The term computer language includes a large variety of artificial languages used to communicate with computers. It is broader than the more commonly-used term programming language. Programming languages are a subset of computer languages. For example, HTML is a markup language and a computer language, but it is not traditionally considered a programming language. Machine code is a computer language. It can technically be used for programming, and has been (e.g. the original bootstrapper for Altair BASIC), though most would not consider it a programming language.
Characteristics
Computer languages can be divided into two groups: high-level and low-level languages. High-level languages are designed to be easier to use, more abstract, and more portable than low-level languages. Syntactically correct programs in some languages are then compiled to low-level language and executed by the computer. Most modern software is written in a high-level language, compiled into object code, and then translated into machine instructions.
Computer languages could also be grouped based on other criteria. Another distinction could be made between human-readable and non-human-readable languages. Human-readable languages are designed to be used directly by humans to communicate with the computer. Non-human-readable languages, though they can often be partially understandable, are designed to be more compact and easily processed, sacrificing readability to meet these ends.
Types of Computer Languages
Programming languages
-
Programming languages are the primary means by which developers of computing systems instruct a machine to organize or manipulate information or control physical devices. Most software is written using one or more programming languages. Common examples include C++, Java, BASIC, assembly languages, and many others.
Scripting languages
-
Scripting languages are a type of programming language designed to control other software or to coordinate the actions of multiple software applications. They are usually distinguished from "full" programming languages in that they are dependent on another application, are more accessible to users, include fewer features, and are not compiled but run via an interpreter. In practice, some languages originally conceived for scripting (PHP) have grown to be become "full" programming languages and some "full" programming languages have been adapted for embedding into applications (Java). Common examples include Perl and JavaScript. (scripting language list)
Originally, scripting languages described the command set of shells with a command line interpreter. In this type of interpreter, commands can be entered either interactively or as shell scripts and batch scripts. Some modern scripting language interpreters (such as Python) preserve the interactive mode, but most do not.
Visual programming languages
-
Most programming language are based on a programmer writing source code to instruct the computer, but visual programming languages are designed to have the programmer manipulate visual representations of program elements.
Machine code
-
Main article: Machine code
All instructions to a computer are ultimately expressed in machine code, a non human-readable binary computer language which corresponds to the available instructions for a microprocessor. Source code is converted to machine code by a compiler, sometimes on the fly). Some programming languages use an intermediate computer language called bytecode which is designed to make software more portable across different computer architectures. Such systems use a virtual machine to convert bytecode to machine code when a program is run. Java is a well-known example.
Domain-specific languages
-
Languages for representing information
Languages for describing software behavior
Languages for designing systems
History of computing languages
- Further information: History of computing, History of programming languages, and History of computing hardware
See Also
|
Types of Computer languages |
|
|
|
|
References
- Anderson, A. John (1994). Foundations of Computer Technology. CRC Press, 431. ISBN 0412598108.
|