# Computer Languages


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:

<code><pre>
	int preg_match ( string $pattern , string $subject ...
</pre></code>

  And

<code><pre>
	int substr\_compare ( string $main_str , string $str ...
</pre></code>

  And then you find a nice function on [www.php.net](http://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](/projects/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](http://fvue.nl/wiki/Bash:_Piped_`while-read'_loop_starts_subshell):

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

Example output:
<code><pre>
foo1: bar
foo2:  (shouldn't be empty)
</pre></code>

* 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](/downloads/2010/c++-talk.pdf) for
  some horrific examples, `Pdf` is
  from [fefe.de](http://www.fefe.de/c++/c++-talk.pdf) (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. 

