Programming language is a set of concepts.
First, the abstract and expressive
1, for strong (a group of) expression of specific issues (and explain) the ability;
Quasi issues of domain better abstraction;
Contains specific language concepts, paradigms;
2, has its own unique concept and build system
These concepts (for some issues) have a better description, abstract, expressive power.
3, Abstract (expressed) in two directions
Concept Language 1) The abstract concept underlying von Neumann and is easier to use the expression: io, step, concurrency
2) The general abstract things more general (field) basic concepts: reactX, dsl, etc.
Second, the feasibility
Language can be interpreted as the basis of von Neumann system.
Explanation of the process will produce a certain interpretation of the code at the expense of cpu and memory performance.
Examples: virtual function table, the dynamic distribution.
It is also possible only at the expense of speed compiler or interpreter.
Third, the high and low language is a balance between the human ability to understand and control the machine.
Programming languages and software systems, at different levels. The higher the level, the more human-friendly, the ability to control the machine's worse; the lower the level, the stronger the ability to control the machine
(Paradigm) basis for the existence of language is a strong expressive power in some areas
The concept Language (Paradigm) into the domain of the concept of von Neumann domain;
More advanced language skills more powerful; or more targeted descriptive power.