The civilized platforms controlled by large companies who invested in developer tools are all gone, strangled by the Darwinian jungle of the web. It is hard for programmers who have only known the web to realize how incredibly awful it is compared to past platforms. The web is just an enormous stack of kluges upon hacks upon misbegotten designs. This Archaeology of Errors is no place for the application programmers of old: it takes a skilled programmer with years of experience just to build simple applications on today’s web. What a waste. Twenty years of expediency has led the web into a technical debt crisis. To my shame, we are OK with that.
This philosophical argument has been raging for centuries, but I believe that software, for the first time ever, gives us a chance to make lasting progress. That is because software is the first human-built artifact with sufficient power and flexibility to expose the problem. Biological, mental, and social systems also challenge the ideology of formalism, but we can’t build them to experiment with alternative approaches. Software for the first time lets us do Experimental Philosophy.
I can’t help feeling nostalgic for the good old days before our thing went mainstream.
Price of success I suppose, but now we have proclamations like “The world belongs to people who code. Those who don’t understand will be left behind”. Another example in a daily stream of hyperbolic mass media reports, reminding us yet again that ‘software is eating the world’.
I have to say I preferred when the whole thing was regarded more as an exciting hobby – mostly by and for those who took the time to study the craft – than a world dominating force. This article may have value, but in those days you knew you were free of the grand statements. Money backs this new world, not code.
But pop culture holds a disdain for history. Pop culture is all about identity and feeling like you’re participating. It has nothing to do with cooperation, the past or the future — it’s living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from] — and the Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs.
Who should I thank? My so-called “colleagues,” who laugh at me behind my back, all the while becoming famous on my work? My worthless graduate students, whose computer skills appear to be limited to downloading bitmaps off of netnews? My parents, who are still waiting for me to quit “fooling around with computers,” go to med school, and become a radiologist? My department chairman, a manager who gives one new insight into and sympathy for disgruntled postal workers?
My God, no one could blame me – no one! – if I went off the edge and just lost it completely one day. I couldn’t get through the day as it is without the Prozac and Jack Daniels I keep on the shelf, behind my Tops-20 JSYS manuals. I start getting the shakes real bad around 10am, right before my advisor meetings. A 10 oz. Jack ‘n Zac helps me get through the meetings without one of my students winding up with his severed head in a bowling-ball bag. They look at me funny; they think I twitch a lot. I’m not twitching. I’m controlling my impulse to snag my 9mm Sig-Sauer out from my day-pack and make a few strong points about the quality of undergraduate education in Amerika.
If I thought anyone cared, if I thought anyone would even be reading this, I’d probably make an effort to keep up appearances until the last possible moment. But no one does, and no one will. So I can pretty much say exactly what I think.
Oh, yes, the acknowledgements. I think not. I did it. I did it all, by myself.
(Olin Shivers, from The Scheme Shell Manual, 1994)
The most vocal Go detractors are those developers who write in ML-derived languages (Haskell, Rust, Scala, et al) who have tied their preferred programming language into their identity. The mere existence of Go says “your views on what makes a good programming language are wrong”. And the more people that use and like Go, the more strongly they feel that they’re being told their choice of programming language – and therefore their identity – is wrong.
… EMACS is a good example of RMS’s ideal piece of software. User written. User modified. Free. Constantly improved and improving. One of the most complex, powerful, and easy to use editors around. It’s concepts have been copied in many comercial products. Many, many hours of volunteer labor have gone into its development…
So what’s wrong? Well, for one thing, EMACS has been 15 years or so in the making. The fact that it constantly changes is more of an annoyance than a feature to many sites. New features have taken precedence over things like efficiency…
net.micro, from 1985 (yes, 1985)
…it is beneath the dignity of excellent men to waste their time in calculation when any peasant could do the work just as accurately with the aid of a machine.
The world isn’t clean. The world is is a “ball of mud”. So a tool which models the world ends up resembling that world as well.