Mutterings on languages

De gustibus non disputandum. — Roman proverb
(One ought not argue on the basis of taste.)

This is mostly dedicated to keeping track of my half-witted ravings on programming language design, in particular my ravings about the perceived deficiencies of C++, but also as a reference for when I encounter bugs, so that hopefully I find them more easily in the future. It may occasionally diverge into half-witted ravings on human language.

The reader should kindly keep in mind that I am not a Real Computer Scientist (TM), and I don’t actually know all the ins and outs of the implementation of what I’ve written, so I may be whining about some things that are actually brilliant design; I just don’t know better.

If the reader finds anything blatantly wrong, kindly email me.


AdaC and C++EiffelKotlinModula-2Modula-3NimOberon-07


Compilers available: Gnat. I think there are others, but this is the only one I know for certain.

C and C++

Compilers: Don’t make me laugh.


Compilers available: EiffelSoftware’s EiffelStudio and GoboSoft’s Gobo Eiffel Compiler.


Compilers available: JetBrains, that AndroidStudio thing (which is really the same, just in a different suit).


Compilers: Gnu Modula-2, though it isn’t in the actual Modula-2 distribution; you have to bootstrap it, it works with an ancient version of the compiler, and that’s if you’re lucky enough to make it actually work.


Compilers: Critical Mass Modula-3.


Compilers: nim.

Oberon and variants

Compilers: OBNC (translates to C code) and oberonc (for the JVM).