Tuesday May 28, 2013

Not All Programming Languages Are Created Equal (Duh!)

Charles Nutter, the creater of JRuby, on the challenges faced by programming language designers:

[T]here’s always going to be a conflict between what programmers want out of programming languages and what’s actually possible to give them. There’s no magical fairy world where every language can be as fast as every other language, because there’s no way to predict how every program is going to execute (or in truth, how a given program is going to execute given a general strategy)…The important thing is for language users to recognize that nothing is free, and to understand the implications of language features and design decisions they make in their own programs.

While we wait these coming weeks for Apple to wow us with new developer goodies at WWDC to make our lives “easier”, this article is a great splash of cold water. Every decision to simplify trades off for a complexity somewhere else. Good food for thought for anyone building non-trivial apps.