Wednesday, November 10, 2010

Now, having said that

Having given praise to my polyglot nature, I must condemn it.

One of the reasons I study programming languages is so that I can write my own. When I find a neat feature in a programming language, I think about how I would solve the computational problem to translate it into C.

Having aged, I'ved decided against writing yet another language. The world needs less languages than more. We ultimately only need 3.

We need one language to experiment and think about complexity.

We need one language to ship products.

We need one language to train beginners.

Will we ever agree which language fits these roles best? No. Now, I do my best not to amplify the problem.

Programming Language research will be over when all three questions can be answered with one language. In my opinion, the closest languages now to do it are either C# or JavaScript.

I'm betting on JavaScript.


  1. I respectfully disagree. You're missing two key facts: (1) project requirements differ and (2) all programming languages have trade-offs. Python is faster to code in than C but it runs slower, so there are certain projects where C is going to be the better choice, and others where it's Python. That's just one of many examples.

  2. I think there are several languages existing already that are suitable both for 1. and 2.
    It's the inertia in mainstream programming that holds back strengthening those languages with wider user-base.

  3. I respectively disagree as well. I think there is a need for a bunch of different languages. I don't believe in some grand super language. The reason for this is that I believe that every problem has a natural complexity to it. A programming language is just a method of fully specifying the solution to the problem and more importantly a way of compressing it. If one believes in a super language, they are essentially saying that there is one superior way of compressing the problem's solution. However, I feel like this is not the case. Every problem has a different structure. So naturally, the best compression will depend on this structure. Therefore, different languages will be needed.

    However, after saying all that, we might find a language that is good enough. Other languages might be able to solve the problem better (ie. text manipulation), however, it still might not be worth it. The time needed to pick-up these languages might off-set the costs of solving the problem in a sub-optimal manner. Either way, it was an interesting idea.

  4. @jkwiens I think you are right in that a super language isn't going to emerge.

    I think a language that is good enough will emerge that companies will place stock in. It seems to me to be a limiting process that is going to evolve. I wager that it is JavaScript because of the dominance of the browser, but I can be wrong.