I came across this interesting transcript of a talk given by Chris Granger. In it, he describes the journey of Eve, a programming language that was meant to democratise programming and make it easy for non-technical types to learn and develop their own systems. This isn’t an original idea - it’s been attempted many different times. And, just like those other systems, it ultimately failed in it’s goals. In my eyes, there are two reasons for that.
First problem: it’s really, really hard to do this and fundamentally crippled by the nature of modern computing. Human languages and the methods by which we all communicate are nuanced and ambiguous. This is because humans are composed of extraordinarily complex building blocks that allow for such ambiguity and we’ve evolved to that level over millenia. Meanwhile, computers were invented under 200 years ago and are composed of bits that each represent an on/off state. The simplistic, binary nature of a computer building block does not allow for any uncertainty.
All the efforts to create a “human” language for computers have failed and I believe the dissonance between binary bits and ambiguous thought will always lead to failure. Until computers have evolved to something more complex, we’re stuck with the imperfect programming tools currently available.
Second problem: it became a science project. Steve McConnell called this Research-oriented development in his classic Rapid Development book but I prefer the slightly more glib term :). Software research is what all developers want to do. You have an interesting, difficult problem to solve with no hard end goals or deadlines. You don’t need to worry about delivering a product, meeting customer expectations, or any other mundane requirements.
I saw this happen at my first job. The two best developers in the company were given the task of building version 2 of our internal mobile porting tools. With no project manager cracking the whip or any deadlines, they both spent close to two years working on it and produced nothing usable. It was even worse with Eve: these guys were handed a wodge of cash and told to go with it. It was highly predictable, nay inevitable that they would spend all that money with the end result of 34 incomplete versions and no deliverable in sight.
It think the most depressing thing about reading that transcript was the wasted time and money. There are plenty of good projects that fail due to lack of funds. And yet this project, which was doomed from the start, got all that cash. That’s humanity for you in all it’s complex, nuanced, inefficient glory.