Computer Language

About

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.

Larry Wall

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.
Bjarne Stroustrup - creator of C++

Visual

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

Core language

is it:

  • algorithmic,
  • functional,
  • object-oriented

Scripting / Dynamic Language

Language - Scripting (also called Dynamic)

Compiled Language

At Build time

At runtime

Query Language

Markup and Style Sheets language

DSL

Turing tarpit

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.

Documentation / Reference

Task Runner