Home > Language > Types > Software languages

Software languages

Languages for telling computers what to do. A specific kind of formal language — one designed to be both human-readable and mechanically executable.

Categories

Software languages fall into several broad categories:

These categories overlap. Modern languages are often multi-paradigm.

Relation to formal language theory

Formal language theory classifies languages by the grammar needed to generate them: regular, context-free, context-sensitive, recursively enumerable — the Chomsky hierarchy. Most software languages are context-free at the parsing level; their semantics sits in type systems, evaluation rules, and execution models.

Whether the software-language categories above map cleanly onto the Chomsky hierarchy, and whether that mapping reveals structural properties useful to SPLectrum’s framework — open territory. More coming.

Where SPLectrum engineering sits

SPLectrum’s engineering uses Bare as the default runtime — JavaScript, dynamically typed, flexible. Data schemas are defined in AVRO, a declarative schema language. Protocols in SPLectrum are data transformations; see the applied seed — engineering for the foundational translation.

See Let’s Talk Software Languages for the blog conversation.