Ivan Porto Carrero

IO(thoughts) flatMap (_.propagandize)



Adding a Dynamic Language to the Toolbelt

It may or may not be a surprise to people that read my blog but I do web development and really like it.  But lately I feel constricted in my programming environment so I want to add another language. But let me share some of my history first.

I started programming as a young boy and wrote my first menu system for my pc when I was 8 I think. It was nothing really complicated a series of batch scripts so that my mother could easily navigate the pc. She has been having problems with a computer for as long as I can remember :) 

After that I moved to GW BASIC like other people will have had the pleasure of jumping back and forth to line numbers. A couple of years later I wrote snake in that language and some game related to soccer.

Around that time they put QuickBasic on the market and this is the point where everything that has the name Basic in it just looses my attention. Dim variable type = value just does NOT feel natural to me and that is just a variable declaration.. Don’t get me started on the other stuff.

So I kind of lost track of pc for a while and got a bass guitar instead.  Also a lot of fun, and the coolnes factor is not to be underestimated.

Next I came in contact with TurboPascal (I’m still not talking Object Oriented here) I think Turbopascal 4 and 5 it was, that I used to program some stuff in. Turbo pascal was a cool language and i wrote Black jack in that as my end project for the IT course in year 9 (3rd year of high school).

Next I didn’t really program at night anymore due to family related things and the fact that I didn’t have a pc at home would have a lot to do with it. This situation remained until I was 20 something. I must say that I did meet a lot of girls and learnt how to pour cocktails etc :)
In school I did get to do some programming I learnt dbaseIV and access.

So then I lost track of pc / IT all together for a while until I got a job as a helpdesk officer at an ISP. Helpdesk officer ==> Team leader ==> Junior Network engineer ==> Own business as webdevelopment.

I hadn’t programmed in a long time 8+ years but had asked all the companies that hired me if I could get to some programming soon. Of course I could but never really got to do it. That’s why I started my own company and so I re-learnt programming 3 years ago. I started with .NET in visual basic.NET that lasted about 5 days and switched to C#.

Now 3 years later I know how to write C#, javascript, actionscript, xml, xsl, xsl-fo, T-SQL And that would be it. Not too much but also not too bad for 3 years working knowledge.

Lately there has been ruby on stage as THE buzzword for productivity in programming. I think that it is more dynamic languages that are the strong point. Things I like in javascript are the anonymous functions or whatever they are called (  mypage.doSomework(‘myVar’, function(){ do some other work in a function }); ) would be an example.

Although a couple of people have been complaining about Joel’s posts on ruby. And I do think that on ruby Joel doesn’t hit the nail on the head but generally he does. John Lam strongly disagrees but he wrote rubyclr so he’s allowed to be defending his camp.

Anyway I felt it was time to learn a new language. Since everything I know are mostly C-based languages I toyed with the idea of C++ but then I feel like I should practice a different strain of languages.
As you may or may not know, I talk quite a lot to Alex James of Base4. And he put me on to ironpython.  The choice falls on IronPython or Ruby at this point.  On investigating both languages i came to the constation that they are both very similar like java and c# or javascript and actionscript.

And tonight I made a decission on which language to learn and it is IronPython
Going by the rule if both sides of a dilemma are equal chose the one with the biggest emotional response :) So I chose IronPython because it is invented by Guido Van Rossum (on wikipedia) who is a dutch guy which coincidentally happens to be my native language but I’m from Belgium so a very different accent.

I’ll let you know how the python adventures go as i move through them.. But depending on the workload I have I might not be able to do much with it in a short period of time.

To top