I'm not sure why I ended up on this link ... but it was something very strange. And then I saw this:
That resonated! So what's it about? Well, some dude named Tony Hoare says:
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
I'm in for some of that. Where do I sign?
It gets better! Hidden in there was an entire track of bad ideas! I'm in awe! Look at this:
"Standards are Great, but Standardisation is a Really Bad Idea"
Standards arise from consensus between competitors signaling maturity in a marketplace. A good standard can ensure interoperability and assist portability, allowing the switching of suppliers. A widely adopted standard can create new markets, and impose useful constraints which in turn foster good design and innovation. Standards are great, and as the old joke goes, that's why we have so many of them!
If standards represent peace, then formal standardisation can be war! Dark, political, expensive and exclusive games played out between large vendors often behind closed doors. There are better ways to forge consensus and build agreements and the notion of a committee taking often a number of years to writing a specification, especially in the absence of implementation experience appears archaic in today's world of Agile methods, test driven development, open source, Wikis and other Web base collaborations.
When I die and go to heaven's conferences, that's what I want hear. But there's more!
"RPC and its Offspring: Convenient, Yet Fundamentally Flawed"
... A fundamental goal of these and countless other similar technologies developed over the years was to shoehorn distributed systems programming into the local programming models so customary and convenient to the average developer, thereby hiding the difficult issues associated with distribution such as partial failure, availability and location issues, and consistency and synchronization problems. ....
The old abstract-away-the-net trick... yes, that one never works, but we'll throw it in for free.
But wait, there's MORE:
"Java enterprise application standards..."
In the late 90's, the J2EE standard was greeted with much enthusiasm, as a legion of Java developers were looking to escape proprietary vendor lock-in and ill-conceived technologies and embrace a standard, expert-designed specification for building enterprise applications in Java.
Unfortunately, the results were mixed, and included expensive failures like CMP/BMP entity beans. History has shown that both committee-led standards and container-managed frameworks gave way to open source driven innovation and lightweight POJO-based frameworks.
oh, POJO, Oh, OH, PO JO! (Why am I thinking about that scene in _When Harry met Sally_?)
If you're a good software engineer (and all readers of this blog are *good* at something) you'll also appreciate this one:
"Traditional Programming Models: Stone knives and bearskins in the Google age"
Programming has been taught using roughly the same approach for decades, but today's systems use radically different architectures -- consider the explosion in the count of processors and cores, massively distributed environments running parallel computations, and fully virtualized operating environments.
Learn how many of yesterday's programming principles have inadvertently become today's worst practices, and how these anti-patterns continue to form the basis of modern programming languages, frameworks and infrastructure software.
How come these guys have all the fun?
When and where is this assembly of net angels? Unlike Dave, I am not giving away tickets. Worse, you can't even pay for it with money. It's over! March 2009, and nobody knew. Who do I kill?Posted by iang at September 16, 2009 05:08 PM | TrackBack