A programming language is a interface to the control of a CPU effectively controlling a computer.
A language is a (possibly infinite) set of string all of which choose their symbols from some one alphabet.
There is range of language going to lowest level, the machine language to the highest level possible where each programming language solve its own domain of application:
Type of language | Domain of application | Performance |
---|---|---|
Lower-level | hardware / machine | computer performance |
Higher-level | business domains | programmer performance |
Computer languages differ not so much in what they make possible, but in what they make easy.
Each level is known as a generation / hierarchy and implements an abstraction layer where:
A programming language (high level) is:
See Language - (Grammar | Syntax | Lexicon)
This section is about computer language, for Natural Language, see (Natural|Human) Language - Text (Mining|Analytics)
There are only two kinds of languages:
the ones people complain about and the ones nobody uses.
When workflows are defined as code, they become more maintainable, versionable, testable, and collaborative.
The problem about all graphical programming languages is that when your project becomes complex, not only will you have spaghetti code, bit it will actually look like spaghetti too
is it:
A Turing tarpit (or Turing tar-pit) is any programming language or computer interface that allows for flexibility in function but is difficult to learn and use because it offers little or no support for common tasks.