I have done programming in (or at least looked at) the following computer languages during my live. Of course the world is not a perfect place, but some languages out there are just plain awful.

  • BASIC - with line numbers! At the time (I was 11) didn’t know there was something else out there. Fun and easy language, although I never programmed in it ever again.

  • Pascal - After BASIC, there is no going back to Pascal. Only briefly looked at it in my youth and discarded it in favor for BASIC…

  • PHP - a language for children, by children. Insecure, weird and no namespaces (and that for a dynamic language). I always need to look up function prototypes, like the difference of the thing you are looking for in these functions:

int preg_match ( string $pattern , string $subject …

And

int substr_compare ( string $main_str , string $str …

And then you find a nice function on www.php.net, which is ‘deprecated’ because of various reasons.

  • C - old, but functional. Obviously no gc and namespaces, but you get a real sense of power and nicely documented in manual pages I still use C today for rdup for instance.

  • Perl - love it. Easy to write, easy to read (after using it for a few years).

  • Python - not for me. I just don’t like OO programming and the format rules are really not for me.

  • Unix Shell - sucks, except for short stuff. See Bash: Gotchaes:

!/bin/bash
echo nothing | while read line; do
foo=bar
echo foo1: $foo
done
echo foo2: $foo

Example output:

foo1: bar
foo2:  (shouldn’t be empty)

  • Java - never dared venturing in to it. Way too verbose and again I don’t really like OO programming.

  • C++ - I will rather be shot in the shoulder than to use this. See this nice pdf for some horrific examples, Pdf is from fefe.de (Felix von Leitner).

  • Lisp - nice language. One of the oldest languages out there and still interesting. But learning (common) Lisp now (without concurrency and stuff) isn’t worth the effort.

  • Erlang - great language. I could not cope with the syntax, although I even found the functional aspect of it rather nice.

  • Go - better than C, simpler than C++. And has concurrency, namespaces and gc. The more I code in it the more I like it. Even the OO implementation (using Interfaces{}) is nice.

  • Assorted macro languages, like LaTex and m4. Fun, but obscure.