Jeff Atwood writes about futurist programming. The manifesto and the notes list some principles and guidelines that sound rebellious than revolutionary. That was sarcasm, if you believe, but a lot of good things can happen out of the exaggeration. One thing I take away from it is to question every practice that you follow, whether it is a recommendation, best practice or a globally accepted standard. Everything that we follow should have a reason, and that reason tied to benefit for the user.
This has another benefit that people start understanding value of the standards and best practices. If you do it because you are told to, you bypass the value. Rather, do it because you understand that you need it. In fact you might end up modifying it or tweaking it or tuning it to the specific case you are handling. Another thing that I liked was to start looking for solutions in the new direction. Of course this does not mean that we should completely throw out years of study and the past, but it is necessary sometimes to ignore them to come up with a radically new solution. However, I do not believe in all the rejections made in there. Configurable software can help. Or, as always, it will be easier to adopt them if their benefits can be understood.
Will futurist programming be the programming future? We do not know yet, but there are more aspects of programming future that are being discussed. Is functional programming more suitable to handle scalability? Will multi-core programming be critical in future? Even if you do not believe in these they sure are worth a thought or two. We are already seeing some evidence of that, with big companies trying to empower existing technologies.
Or we can head in the direction towards intentional programming. It is something that can change not only programming but a lot of aspects of software development.
The programming future will be shaped by radical thinking, hardware developments or advacements in methodologies, or maybe a bit of all these. One thing that we need to learn from past is not to think only about today’s problems, but try to think about tomorrow’s problems as well.