Sunday, 15 May 2016

The decline of Programming

MIT has changed their curriculum some years ago: they started using Python instead of Scheme as they did in the legendary 6.001 introductory course, the one that gave us SICP. UC Berkeley did the same and many other universities use Python now in their introductory courses. What's wrong with that? Lisp is a niche language(family), almost nobody uses it today, it was a mistake in the first place to teach it for so long, very academical and useless knowledge. And I disagree. Yes, Lisp is not widely used, to say the least. And yes, Python is one of the most productive languages out there. This is amazing. I don't think such an easy solution would be possible in other programming environments. My problem is not with Python per se. The problem is that Python is completely inadequate to teach programming principles. It is a nice language to use but it is a terrible language to teach any principles. Let's see for example object oriented programming. I am not a big fan of OO, but if there is something worse than OO that's OO implemented badly. And Python's OO is the worst I've ever seen. Actually it fails so badly that, in my opinion, it's a mistake to call it OO in the first place. Or let's talk about parallel programming. It's a fact that one can't ignore parallel programming in the recent and especially the coming years. Yet, Python has no real answer to overcome the limitations of GIL. It is not the topic of an introductory course, but it's basically impossible to teach parallel programming principles using Python.

These are theoretical arguments. It is still a fact that Python is about a million fold more useful language than Scheme. So the question still stands: What's my problem with teaching a so much more practical language instead of a theoretically beautiful but more or less useless language? My problem is the degradation of Programming as an art and intellectual activity to a mere Coding as a conveyor belt job. It's not a new thing, it's happening for quite some time now. More about that in another post. But what makes it really bad now is that the most prominent institutes accepted and have signed up to this trend.