On Languages

latest-small-64So 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?

Which languages have I seriously coded in? Well, lets think, Basic (C64/Spectrum/ZX81), ASM (Z80, 8086, 68k), Pascal, Forth (White Lightening), C, C++, Eiffel, Java, PHP, Javascript, Objective-C, Visual Basic (yes really). Which languages have I had to work in now and again, Shell (CSH, BSH, ZSH), Perl, TCL/Tk and probably plenty of others. Which is the best? Who knows? I use Java most but thats through familiarity not through any sort of belief it’s the best choice?

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.

Tags :
Categories : Reason Software

Leave a comment