The Future of Programming

Marc Andreessen discussed the history of programming in a recent podcast, noting the shift from machine-targeted languages to human-targeted languages. Although he seems to think that the change was fairly sudden (for him, it was started with Java in 1995), and he spends a surprising amount of time discussing PHP, which seems to be his favourite example of an easy-to-use language, his general point is still well founded.

It’s certainly interesting to see how languages like C and C++ are fading, their place being taken by Java. This is simply due to economic incentives: why spend expensive programmer time solving problems than can be solved by a cheap machine? Java is in danger of becoming overly feature-laden, but it still has a single important strength over its predecessors - simple dynamic memory management - no more explicit object creation/destruction. This does for memory what filesystems have done for disk. It’s hard to see just how much this has done for development speed and robustness until you compare it to what went before. PHP, Python, and so on, have the potential to do more, particularly for the new breed of web-based applications.

Andreessen also briefly discusses Web Services. He certainly seems to believe in Web Services - as he notes, the majority of major languages have good bindings for them now. I can see good things ahead for Web Services as the annoying details are sorted out by the market: see the doc/literal discussion from Andre Tost’s article I linked to a few days ago for an example. I look forward to seeing how this pans out.