User:Lugalde/Universal programming language

Universal programming language

In Computer science and Computer programming, the Universal programming language refers to an hypotetical or real programming language having the most features of diverse programming languages such as Homoiconicity, diversity or Programming paradigm, notations, syntaxes, etc. and runnable by compuetrs regardless of their architecture.

On its simpest definition, an universal programming language should be able to host and run programs expressed as algorithms, given that these are bound to neither a particular programming language nor computer architecture.

Features
Even when it seems clear the simplistic idea of an universal programming language as a programming language most people 'agree' to use, it is not clear the set of features an universal programming language should have

Homoiconicity

It should solve the Expression problem

Dynamic

Atemporality

It must not be understood as 'permanent' or 'unchanged', but it can change and evolve in order to suppont new paradigms and features to come.

Clearity

Simplicity

Ortogonality

Expressive power (computer science)

Literate programming

Modular programming (contrast Monolithic application)

Metaprogramming

Ontology (information science)

Mathematical notation (flame wars)

Syntaxes

Specification language

History
Turing machine

Little man computer

Donald Knuth's MIX

Formulae

Uses
Surprisingly, given the features provided by an universal programming language, they can be used to several purposes, rather than merely running a program

Educational

Testing for new features

Prototyping