We heard years ago Cobol was dead, then people believed ColdFusion was dead, recently someone said Java was dead. Why do we think languages are dead before they decline?
The simple answer is the language is thriving. Sure, other languages have more traction, but Adobe has increased profitability year after year. Each of these languages had a great season of uncertainty, but each of these has survived. What that looks like depends on each scenario.
These rumors come from different causes. We will look at how to determine the difference between false causes and we will also look at false excuses. How do we know when to hold the course, and when to pivot?
What makes us think like Chicken Little?
What if the business makes a demand for us to code new feature after new feature without testing, QA, usability testing or resolving technical debt? It may be true that we cannot say no, but the practice of not saying no only changes what we say no to.
What is the result of this? These demands don’t change regardless of the language or tools we use. The result will come in different ways but it can be summed up in one word, decline. In a business thinking this way the issue is not how the other side thinks. It is inward minded thinking on one or both sides.
The most common sign of being inward minded is justification of perspective. If we change our language from them and us to they need, they want and what we need to do to serve them right, from can’t to not yet we become doorways to change.
When we don’t we tend to either go to war with each other or we justify by choosing common enemies. Other companies, technology like our programming languages and more become our justifications. New languages always promise to solve problems with old languages, and sometimes they do. Other times we didn’t create holistically and we are like Chicken Little claiming the sky is falling.
The ColdFusion is Dying Myth
Before the death was the rise. ColdFusion solved problems other languages did not. It started at a company called Allaire in Boston and was purchased by Macromedia. Macromedia had such a strong belief in it that they rewrote it from a C to a Java based core. As business goes, eventually Adobe bought all things Macromedia which included ColdFusion.
The unexpected side effect of moving to Java is a subtle belief that Java was therefore superior to ColdFusion. The community leaders included many who began to teach Pure OOP, Object Oriented Programming. As ColdFusion had added the ability to do develop objectively the style of scripting code that we call OOP had a buzz word attached to it called “pure”. They had no idea that the gang of four’s book on design patterns would not be the last word on approaches to coding. This went so far as multiple bloggers talking about no-hire lists for people who didn’t support the same faith. Yes, it was like a religious movement.
Much of the existing code was procedural, the target of the OOP community. Upgrading legacy code is always harder to justify than moving to the next best thing. This was not the cause of the mass exodus, but it certainly created a community hostility that ripened the platform for what followed.
There are sites out there like Built With that track technologies and compare their market share. On these charts it appeared that the market share was falling. The community took this as pure fact and the leaders had dozens of conversations about how to get traction with ColdFusion. This made the OOP and similar conflicts heat up even more. If we only coded in object-oriented style, then our market would stabilize. It didn’t and as the mythical numbers dropped the exodus began.
Victim of My Own Making
Irony is the poetic narration of so much history, and the ColdFusion myth was no exception. The same leaders pushing OOP, which had merit even though the pure hostility was causing damage in the community. In this OOP creative community, they found a way to hide solutions being built with ColdFusion. The way these tools knew sites were built with ColdFusion was the web addresses had pages that ended with either .cfm or .cfc. They found using a routing technology the identity of ColdFusion servers could be hidden.
Better coding was the cause of the drop in numbers. While the number of ColdFusion sites was on the rise, our reported numbers were on the fall. The developer community was in a panic while Adobe was looking at sales numbers and they could not see the same thing. It was only a decade after this mystery we figured out the true cause of the confusion.
Avoiding Forced Retirement
Retirement is a gracious way some companies over the history of business have turned workers out of their labor force. If the employee is fired the impact on them is more drastic than retirement. In a forced retirement the business chooses when they leave rather than them.
Our language of choice for technology is not enough to keep it from being retired. All the features, all the promises are not what keeps the language active in the work force. It must be productive and winning for the company. As developers, architects and any other member of the team our job is to learn and ensure the language is winning for our company. Stay tuned for a follow up article on surviving and thriving beyond the myths.