Is perl 5 production ready?
Ok, that's the question I remember hearing many times, many years ago when I started using perl. Is perl 5 up to being used in production? The answer then was YES!
And, today in 2019, my answer would be "maybe" ... but that's another story.
Well, I thought perl 5 was ready. You see there are various parts to something being ready for production:
- Is the language robust, stable?
- Are the components/libraries used robust, stable?
- Is the quality of your own code robust, stable?
- Do you know what to do when things go horribly wrong? Can you troubleshoot the language?
I didn't know what to do when you move to a new server that has a newer version of perl that is completely incompatible with the modules that are required to run your code! How can a few minor versions numbers turn your perl code into useless bits?
Easy: Write code so it is fragile and version dependant. This way leads to madness.
Are you production ready?
Maybe that's the better question to ask!
- Are you proven in the language?
- Can you troubleshoot problems in the language that you're using?
- Will upgrading versions cause strange errors or issues?
- Can you test this somewhere besides production?
I'm not alone in my self-inflicted pains.
I've read blogs where people are hating on Docker because they deployed it without knowing what they were doing. And it's somehow Docker's fault they are sad. They're sad alright, but the problem isn't Docker.
Please feel free to change Docker to latest technology in the above quote.
Make sure you're proven in the technology you're using before going to production with it.
Airplanes can get you from place to place very quickly. But if you don't have a pilot's license -- don't try flying one!