Moving from cowboy coding to agile development

Thursday, January 26, 2006

A Wicked Programming Language

Sometimes I find "geeky", cryptic coding funny and even interesting. Today I stumbled upon a "Turing-complete programming language" called Brainfuck (see also the corresponding Wikipedia page).

Of course code (or a language) like that is merely entertaining. I would never like to see anything like that in a production code I might have to maintain. (And, pointing to my previous post, I would never advise a novice programmer to see anything like that for learning purposes.)

Still, the language definition put a smile on my face.

Wednesday, January 25, 2006

FP vs. OOP?

Because my computer is still being fixed (luckily the repair seems to be covered by the guarantee) - and I can come up with a bunch of similar excuses (like my mail server blocking the invitation to the second/third coding dojo session in Helsinki) - I have concentrated on reading articles and blog entries on programming.

One of the most interesting topics I ran into was the issue of teaching programming to new students. There seem to be two quite strong schools: one in favour of FP (functional programming) as the first thing to teach, and one in favour of OOP (object-oriented programming) in the same role. One of the most interesting articles or publications on the subject was Matthias Felleisen's presentation How to Design Class Hierarchies (pdf, 95 pages - but reading the whole thing won't take more than 10 minutes).

Felleisen raises some interesting points - at least interesting to me, since I started my "academic" programming life with Java.