This commit is contained in:
Miloslav Ciz 2023-12-21 12:04:09 +01:00
parent 7573a09d17
commit b931aa36c3
10 changed files with 66 additions and 27 deletions

View file

@ -27,13 +27,21 @@ A computer language consists from two main parts:
- [Brainfuck](brainfuck.md): However funny and meme this language may look, its simple design is actually pretty beautiful and interpreters are ultra extremely simple to make. It is a GOOD language.
- [C](c.md): The one and only, the go-to language of the [suckless](suckless.md) community and of compiled languages in general, greatly [future-proof](future_proof.md), uncontested in performance and with nice oldschool [meme](meme.md)-free design, our beloved C. It has many flaws, but has stood as the best practically used language, and is also [historically](history.md) most significant.
- [Comun](comun.md): official [LRS](lrs.md) language
- [Scheme](scheme.md): the minimal/elegant member of [lisp](lisp.md) family of [functional](functional.md) languages
- [Scheme](scheme.md): the minimal/elegant member of [Lisp](lisp.md) family of [functional](functional.md) languages
- [Forth](forth.md): beautifully simple stack-based language
- [Lambda calculus](lambda_calculus.md): ultra extremely [minimal](minimalism.md) [mathematical](math.md) [functional](functional.md) language
- [LIL](lil.md): very nice KISS & [suckless](suckless.md) interpreted language
- [Lua](lua.md)
- [Sigma calculus](sigma_calculus): yes or no? seems like yes
## Interesting Programming Languages
Some programming languages may be [interesting](interesting.md) rather than directly useful, however they teach us a lot and may help us design good practically usable languages. In fact professional researches in theory of computation spend their whole lives dealing with such languages.
One such language is e.g. **[Unary](unary_lang.md)**, a programming language that only uses a single character while being Turing complete (i.e. having the highest possible "computing power", being able to express any program). All programs in Unary are just sequences of one character, differing only by their length (i.e. a program can also be seen just as a single natural number, the length of the sequence). We can do this because we can make an ordered list of all (infinitely many) possible programs in some simple programming language (such as a [Turing machine](turing_machine.md) or [Brainfuck](brainfuck.md)), i.e. assign each program its ordinal number (1st, 2nd, 3rd, ...) -- then to express a program we simply say the position of the program on the list.
There is a community around so called **[esoteric programming languages](esolang.md)** which takes great interest in such languages, from mere [jokes](jokes.md) (e.g. languages that look like cooking recipes or languages that can compute everything but can't output anything) to discussing semi-serious and serious, even philosophical and metaphysical questions. If you dare, kindly follow the rabbit hole.
## See Also
- [esoteric programming language](esolang.md)