Skip to content


Rant on the Failure of Programming to be Pragmatic

A listener sent me a link to this rant, The State of the Art is Terrible, by Zack Morris. If you can wade through the technical humbuggery, I think there is a useful point. Several decades after the advent of high level programming languages and well into the age of ubiquitous computing, it genuinely is time for computing technology to be more focused on outcomes.

I’m on the threshold now of rejecting this false idol, but for at least a little longer I have to cling to it to carry me through. I have a dream of starting some kind of open source movement for evolvable hardware and languages. The core philosophy would be that if your grandparents can’t use it out of the box to do something real (like do their taxes or call 911 when they fall down) then it fails. You should literally be able to tell it what you want it to do and it would do its darnedest to do a good job for you. Computers today are the opposite of that. They own you and bend you to their will. And I don’t think people fully realize how trapped we are within this aging infrastructure.

The post is rife with examples of how the status quo is an abysmal failure to all but those of a very hackish bent. Morris touches on why this is so, the industrialization of software and the subsequent urge to profit. If you can wade through the very down tone, I think there is a kernel of optimism–a call for a sea change in how computers work and work for us.

Morris isn’t alone in this view, keeping company with the likes of Jaron Lanier. This is not likely to be the last rant in this vein. I think he is a bit more pragmatic, though, highlighting PHP as an example of a step in the right direction. His point isn’t that PHP has a natural language based syntax or that it has syntax or semantics that mirror concepts and idioms with which non-programmers are familiar. Rather he suggests it for its more productive failure modes, that it makes a best effort on the easy stuff and doesn’t obscure breakages requiring more investigation.

Whether you agree with PHP specifically or not, it is worth considering it as an example of the model he is proposing–languages and tools that are more focused on outcomes than abstract design principles or idealized syntax. The emphasis of getting out of the way of doing useful things ultimately sets apart this rant from a crowd of voices raising many of the same critiques of the state of the art.

Posted in Programming, Technology.

Tagged with , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Fernando Cassia says

    I agree, but that´s what Mike F. Cowlishaw has been saying for AGES.

    That s why he created REXX (which predates PHP), and why he evolved it into NetRexx, (Rexx for the Java VM), and why he carefully considered “human beings” into its syntax. He calls it “Human-centered” or “human-oriented” programming language, in other words, a human-friendly one. Plus, as NetRexx translates Rexx into Java, that means the programmer doesn´t have to worry about “porting” his code to different OSs.

    So, yes, the writer has a point, but he isn´t by far the first to think about that.

    http://news.techeye.net/software/why-an-open-netrexx-means-humans-can-do-java

    FC



Some HTML is OK

or, reply to this post via trackback.



Creative Commons License
The Command Line by Thomas Gideon
is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.