Vadim Zaytsev aka @grammarware

DYOL: Design Your Own LanguageAlphabet

Caveat emptor: these individual card pages are work in progress, and their content is in no way final!


The basic alphabet is often taken for granted, especially for textual languages, but it is an important design aspect. In some languages (APL being the extreme) the alphabet is extremely broad, with specific symbols being used for built-in operators, which shifts the visual feel of the language closer to mathematics. In other languages keywords are taken from English, which limits language appeal to some groups of users (and may lead to reimplementations with translated keywords).

Perceived affordances

The original design card was about suggestive physical form of the designed system, such as shaping holes in recycle bins to match the type of waste, which was measured to increase recycling levels. Shaping the alphabet of the language, along with its Concrete Syntax, can send a message about its platform or technology bias, or make it more attractive to specific target audiences (scientists, children, etc).

Synonyms and similar terms

In higher level software languages the designers prefer to call their alphabets "dictionaries" to stress the fact that atomic language elements are words and not just letters of symbols.

ASCII, or American Standard Code for Information Interchange, was developed in the 1960s based on telegraph code. Its limitations shaped the alphabet of many software languages (Source: public domain)

EBCDIC, or Extended Binary Coded Decimal Interchange Code, played a similar role on IBM mainframes and midrange computers. Its 8 bits could hold bigger alphabets than ASCII's 7 bits (Source: public domain)

A theoretical prototype of a keyboard for APL (Source: Wm313, sharealike)

A hand-made keyboard for APL (Source: Luca Saiu, fair use)

A factory-made keyboard for APL sold for a little over £100 (Source: Dyalog, fair use)

Scratch uses colour-coded visual symbols as its alphabet (Source: MIT, sharealike)

COBOL translated to Russian, from L. Coddington's Quick Cobol, 1971/1974 (photo taken by @grammarware)

At Hackers & Designers Summer Academy 2015 participants designed a language for ordering pizza with emojis (photo taken by @grammarware)

The DYOL toolkit was created and is maintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Page last updated in March 2021.