In this article, you will learn:
- What factors you should consider when facing a dilemma on which programming language to choose
- Whether to modernize or replace your language
- The risks and rewards of using mature or emerging languages
- How a development platform’s update cycle factors into your choice
- Why Adobe ColdFusion is the best option
Contents
Imagine this: Your CEO decided the company will use a network of contractors from around the world for many of its new projects.
To make things easier, your team needs to develop and launch an invoicing and Accounts Payable app which automates as much of the payment process as possible. It’s a major undertaking involving teams outside your group. It could last weeks. Maybe even months.
Quick! Will you:
- Deploy your entire IT team while overseeing the project yourself?
- Delegate to a staff member suited for the task and let him or her lead the project while providing whatever resources are necessary along the way?
- Hire an outside contractor who has done this sort of thing before?
These scenarios are tough. They go beyond staffing, payroll, and who to promote.
As a CIO, these dilemmas arise often. They’re merciless.
First Actions and Decisions Every CIO Will Take
You’ll face decisions which will follow you throughout your entire tenure at a company. Perhaps even your career.
Picking a programming language can often be similar to deploying staff or undertaking surprise projects. You have to consider:
- capability
- timing
- longevity
It may be time to review your company’s programming language and development platform.
First, you’ll need a basic roadmap. The factors involved — and the risks.
1. To Replace or Modernize?
Choosing when to modernize or replace your company’s current programming language can be tough. Moving from one code to another can be a costly, annoying process that you’ll want to avoid as much as possible.
The language you choose can become a blessing or a burden. It’s a choice that will last much longer than you probably anticipate.
You must choose wisely. Here are some of the many factors to consider, when deciding to switch or modernize:
- How easily can the programming language be modernized?
- How much will it cost?
- Does it mitigate risk?
How easily can the programming language be modernized?
Do the programming language and underlying architecture evolve? Is it backed by a group or company which consistently tries to keep the nuts and bolts tight?
ColdFusion, for example, has a team at Adobe dedicated to maintaining and upgrading the engine which drives CFML. There’s also an open-source consortium, Lucee, which adds to the diversity of options.
As a result, modernizing your ColdFusion is:
- Easier
- Faster
- Cheaper
- More secure
How much will it cost?
Converting applications from one language to another, or replacing them entirely, isn’t cheap. It comes close to the initial cost of building them, in terms of money and energy.
The decision to overhaul an application shouldn’t be taken lightly. In fact, avoid it if you can.
If you do decide to switch, pick a language made for the long haul. Hint: ColdFusion has been around for over two decades.
Does it mitigate risk?
Picking a programming language means considering security risks, like the odds of a hacker breaking into your company’s system.
-
- ColdFusion has built-in as well as third-party security tools to keep your company safe.
There are economic risks, like investing in your company’s time, money, and energy in a language that’s limited or dying.
-
- ColdFusion, as I’ve said many times before, isn’t dying.
- There are technological risks, like buying into a language that can go from updated to outdated in an instant.
- ColdFusion’s update cycle means it won’t get left behind.
CFML has been built to handle all those risks, and over time has shown it can stand up to many of those challenges.
2. Mature vs. emerging languages: How to Choose?
Programming languages, in some respects, are like wine. The good ones improve with age. The bad ones turn acidic and stinky.
So is a new language better than a tried and tested veteran?
These are the main 3 factors to consider:
- The availability and quality of developers is higher with mature languages. The longer a language has been around, the bigger the odds someone has mastered it.
- A mature language has had time to develop stable methodologies and ecosystems, which can work well with other technologies. Basically, a mature language has been around long enough to develop a working relationship with the world around it. You won’t spend time re-inventing the wheel like you would with an emerging language.
- New versions of older programming languages are often backwards compatible, making legacy code less of a burden and easier to handle.
3. Is your platform up-to-date?
The platform you use to interact with the code will probably be a constant for your staff. Its quirks, neat tricks, and flaws will become as well-known as your own.
And since you’re the person who chose the programming language, all the good and bad associated with the decision will be attached to you as well.
If you pick a crappy language with an annoying development platform, employs will assume it’s because you’re a bad CIO.
A solid way to avoid these bad associations is to pick a development platform that’s a joy to use. Enter ColdFusion.
We’ve already chronicled all the benefits of using CFML. Tags, CFCs.
But did you know ColdFusion gets a makeover every two years? Adobe’s team is continually working on modernizing CF to make sure it keeps up with the times, and sometimes stays ahead.
They also release patches and updates along the way.
This means ColdFusion and CFML cannot go stale.
It’ll also keep the odds of accruing technical debt lower, since it’s harder to build up with a language that’s constantly being modernized. Obviously, you still want to avoid it altogether. CF makes that easy.
You’ll be faced with a few key decisions during your career as a CIO. They may include some difficult choices, especially when it comes to programming languages. There may come a point where you need to replace your existing language for CFML. You’ll need to know the ROI of choosing a mature language like CFML over upstarts. Once you have a baseline grip on all of these, you’ll be ready to understand what are the basics of any programming language, and how they factor into your decision.
In the end, you will save money, time, and energy.
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
ColdFusion Alive Best Practices Checklist
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.