So many things in software become religious wars, languages is probably number one. Which language should you use for any given task? Which language is generically the best? Which language is fastest/smartest/structured/extensible/prettiest?
And what makes it a language? Does XML or HTML count as a language? God no! Why? Languages to me, mean some sort of branching or decision making. So a specific XML dialect could be language, but for god sake, HTML is not a programming language. The next resume I see with it listed under programming languages I’m going to burn!
The answer? What language is the best? Well who gives a flying ferret? You’re here to get the job done, you pick the language which suits based on all sorts of factors – some of which have nothing to do with engineering.
- Is it fast enough?
- Does it integrate to whats required?
- Does it run on the platforms you need it to?
- Whats the library support like for thing things you need to achieve?
- Whats security like? Patching? Bugs? Flaws?
- Do you know it?
- How long will it take to get used to it?
- Does anyone else know it on your team?
- Does anyone else know it in the company/support department?
- How soon does this thing need to be built?
- Will the target customers run it in their environment?
So the first few up there are certainly engineering thoughts, but what about the rest? Is anyone actually going to be able to support this thing you build? Are customer’s going to be able to use it? The minute you start working for bigger companies there are so many policies to comply to – you need to consider it all.
As always, I’ll end with thing for yourself! Don’t let me or anyone else give your a crutch to rest on. Consider all the factors but limit yourself to simply which is technically the best – consider everything and don’t let your religious bias cloud your way.