A class on Programming Languages at TUM (video lectures) taught by Dr. Petter and Dr. Simon got me really interested into language design over the past semester.
While I learned a ton of stuff and for example got some really interesting insights into the decisions involved when comparing Java and C# and reading Anders Hejlsberg’s reasons for designing C# the way it is (e.g. why methods are not implicitly virtual in C# etc.), what I am going to share here are links that show language design at its worst.
First of all, there is Mark Rendle’s presentation on The Worst Programming Language [~ 1h] in which he sets out to develop the worst programming language ever. He draws inspiration from real programming languages as well as from other satirical languages such as INTERCAL, where he borrows the
There is also a blog article called PHP : a fractal of bad design that someone posted on reddit a few months back that has to be taken with a rather large grain of salt but does a good job at showcasing design choices in PHP, that – looking back – seem to have been not too smart, and is hilariously funny while doing it. There is also PHPsadness.com and /r/lolphp that are kind of similar. Did you know that – in PHP – if you have a
:: where it is not supposed to be, PHP < 5.4 complains it found an unexpected
T_PAAMAYIM_NEKUDOTAYIM (Hebrew for double colon) ? If not, these are the places to find out. (I really recommend checking out the graph for the less than relation in PHP, it’s nothing like you expect.)
These are just the links I remember off the top of my head, I plan on sharing more of those in the future, as well as some links on language design that are not tongue-in-cheek.