Oh Dear, I was just taking to a friend of mine back in Germany – actually the talk moved on to CF-related stuff and a reasonably large CF site over there. Disclaimer before I start: this is a general rant and not against particular people. It’s just sad to see how people with a very limited CF knowledge actively can kill off the use of CF in an organisation. Really, really sad!
In this particular case the “platform discussion” had already started years ago, “Maybe we should move to Java, or maybe to .NET blabla…” – I’m pretty sure you’ve heard that before, at some place or time… Well, finally they stayed on CF and had one or two external contractors working on the core of their site, supported by internal people. The main contractor had built their original application, which I have to say was one of the worst CF applications I’ve ever seen in my life – incredibly bad coded. Honest and blunt as I am, I’ve let the owners know and nevertheless they continued to work with those guys. Fair enough.
Now someone in the upper management apparently has made the final call to kick CF out of the door (it’s apparently going to be replaced with a Java-based e-commerce application running on top of a servlet container that has its own templating language for the frontend – hmm, sounds familar to me, why do they want to get rid of CF again? Weird!). That final kick has to happen in style, so a lo t of things went wrong when the application was refactored for the final days and months.
Things to learn:
1. Use “var” in your CFC functions if you expect variables to be local to a function. If you don’t use “var” your product data in your CFCs might overwrite itself and you can get absolutely weird results.
2. If people who know significantly more about a particular technology than you tell you that doing X is a very bad idea, please at least consider their opinion. Particularly removing essential performance measurements from a production environment because you had the feeling that the app behaved slightly better on your development box without those measurement, is a very BAD idea. This can lead to your core online platform being offline for the best part of a day. Again – don’t do it!
3. If you use a framework, please at least try to understand what you are doing. Using a framework for the sake of doing it is not a good idea if you have absolutely NO idea what you are doing. It’s not even necessarily a good idea to use one if you HAVE an idea what you are doing. It really depends!
4. Check the configuration settings of your CF servers BEFORE you make any essential change from one way of dealing with X over to a different way of dealing with X. If you don’t – customers might actually pretty likely loose shopping carts and your employer might loose the customer as well as potential turnover.
Those are just the tremendous highlights of the final months of CF over there. I’m absolutely convinced that better CF-educated folks in this organisation could have made a big difference, but with what used to happen there during the last few years, I can’t blame any manager trying to use the “easy fix” of changing the technology.
Can someone please bring ColdFusion into the universities? Free for educational purpose! And that someone – could he or she please also ship the excellent Adobe CF training materials to the tutors, lecturers and professors? Oh, and by the way, if that someone would be so kind to put a few excellent articles on frameworks, patterns and proper software engineering methodologies for CF in the package, I’d really appreciate it – and I’m sure the uni folks would as well. I’ve been saying it for years – the various owners of CF need to leverage universities and students to bring the technology into the minds of tomorrow. That would help avoiding issues as the above.
And yes – as much as I’ve been asking for this, I’ve been discussing the various issues attached to it with various (ehh, mostly one 🙂 employee of the various owners of CF regularly and I can absolutely see those issues. If you don’t get this last paragraph, don’t worry – just me whining about the evil world around me 🙂