Quantcast
Viewing all articles
Browse latest Browse all 69

Power and Complexity in a Programming Language

I've been reading the new Coders at Work book. It is great. I'm reading it straight through and I'm in the middle of the interview with Joshua Bloch. One really interesting subject that has been brought up in that interview is the trade off of power and complexity in programming languages.

It seems that the more power and flexibility you add to a programming language the more complexity you add to it. The more complex a language is the harder it is for programmers to understand it, read it and maintain it. Also the more complex it is the more likely it will be subsetted which can reduce the portability of the language among programmers. One programmer may know one subset of a language and another programmer a different subset. C++ seems a fine example of this.

That brings up some interesting questions. What philosophy should you take in creating a new programming language that you simply want to be beautiful and awesome? I know that's pretty general, but I'm kind of general about it right now. I think I tend toward the minimalist language design where you design a small powerful language from which you can build up complexity in different directions. Lispy sounding, isn't it? I wonder what other languages are like that.


Viewing all articles
Browse latest Browse all 69

Trending Articles