Tuesday 1 June 2010

The Pull Of Two Different Languages.

It sometimes seems many bloggers like to beat up on languages like Java and C++. I enjoy programming in both of them. Java is pragmatic down to the end and while the language has many faults the IDEs are a wonder to behold. C++ lets me be productive but also create some elegant solutions to problems, yes it has warts but I like them. As I code all day long in C++ I tend to avoid it when programming at home. Java being the language of choice for android is something I do a fair amount of at home.

The languages the perhaps you could say inspire me these days are Haskell and varients of Lisp. Now I have probably written about the same amount of code so I am judging each language with equal experience, that is I am a beginner in both.

My preference for which on I prefer seems to swing from one to another at least a couple of times a year. At the moment my mind is swinging towards scheme, although I have not produced code of note just yet. Each language has it niceties.

Haskell with its type system is great and appeals to my mathematic side. types find bugs when you compile and haskell feels concise but not to the point of obscurity when you have to read it again.

Scheme feels slightly less concise but offers the freedom from variables having types which paradoxically appeals to me. I don't spend time fixing compiler issue so instead I get to explore the problem space with greater ease, even if the code is less robust and something I would have to work on later if I was to make it closer to production code.

Call me bipolar if you want but I like what both offer and I can't in my mind decide which one is best. I guess I can see both sides of the argument for dynamic and typed languages. Perhaps I should not worry about it to much as many of the idea transfer from one to the other and both are great fun to program in.

No comments:

Post a Comment