There are a lot of studies that show that programmers writing in programming language X are N times more productive than programmers working in other programming languages. You can find such studies for C#, Smalltalk, Java, Erlang, Haskell, Python, and even Forth.
But I wonder whether it's even possible to design this kind of study with proper controls. For example, you'd have to control for the fact that "average" programmers don't usually bother to learn new languages; so if you're trying to see how productive a new language is, you can't just find someone who's already familiar with it. That person is probably a better than average programmer anyway.
I'm currently considering rewriting my company's main product in another language, just for fun. It would be a learning experience for myself -- I would learn the product better by reimplementing it, and I would learn the new language better by using it to write a real program. I'm mainly considering erlang, haskell, ocaml, and ruby.
I will consider the project to be a success if the new program is around one tenth the lines of code (doable, since the current product has a lot of optimization code), and not laughably inefficient (which might be a problem for haskell).
Considering that even at one-tenth the size, the program would still be 13,000 lines of code, I would need a very productive language in order to even consider doing this in my spare time. Perhaps I'll just have to try one and see whether it works out.
Posted on April 25, 2003 06:27 PM
More languages articles