Comparison of UIs as languages

Communication uses languages. Communication involving computers (human-computer and computer-computer) is no exception.

The languages that are used at the "lowest level" are usually called programming languages: the machine language on the bottom, and general purpose languages, GPLs, right above it. This blog analyzes "higher level" languages, usually called user interfaces or domain-specific languages, using the following attributes:

Internal textual languages (APIs)

Internal API
Public API
API bindings for another GPL

External textual languages

A language based on the Command Line Interface framework
A language based on some other metalanguage
A fully custom language

Non-textual languages

Other languages

Speech interface is a variation of a custom textual language, but not yet practical to implement. It's interesting to see what other language types emerge.

Originally published on 2008-03-26 at under category Metaprogramming