You Get What You Pay For
This piece landed in my inbox twice today and immediately caught my attention. It's well written, and makes some excellent points that I think are exactly on the mark, explaining that enterprise software doesn't need to work...
It's interesting to consider why Rails appears to be a better choice than the leading enterprise frameworks right now. Could it be because Rails is so well marketed? Or is it because Rails needs to work, having been forged under the pressure of some fairly dynamic requirements, and has remained a work in progress, evolving to match the speed, and changing needs of it's users and contributors?
Instead of letting social and technical demands clash together, somehow the culture and community of Ruby has managed to successfully exploit this dynamic, and the benefits can be seen, not only in getting people flocking to the Ruby platform, but more importantly, promoting functional programming techniques and domain specific languages in general, and an overall emphasis on simplicity and elegance. These are all sound and significant ideas that have been proven to work time and time again over the past 30 or so years, so why does it seem the majority of working programmers know nothing about them? Thinking about this, it's easy to see just how dominant certain cultural and social assumptions and norms can be, even in a technical arena supposedly dominated by rational analysis and logic.
In fact, social assumptions are exactly what Ruby is doing right - so much more right than any of the other scripting languages at the moment it seems - orienting the language in a completely humanistic context first and foremost by focusing on the "joy of programming". That's more than just a nice ideal, it's what I would describe as fundamentally important. People will never be creative or productive if they can't enjoy what they're doing as a craft, and by realising this on a wider level, the open source movement has a tremendous opportunity to deal final crushing blows to the clumsy and oppressive enterprise software currently masquerading as "best in breed" products.
I studied sociology for some time, and still continue researching and reading within the discipline, and I've also worked with various enterprise applications that would definitely slot straight in to the model as vividly described, so not much of this is news to me. It's just great to see the growing recognition of just how deeply social the so-called "technical" decisions of managers really are and the growing reaction to this mediocrity.