Choosing the right language
Archive - Originally posted on "The Horse's Mouth" - 2006-03-01 23:21:42 - Graham EllisWhy are there so many different computer languages? It's partly because there are many different types of things that need to be done in a programming environment and they require different mixes of facilities. And the addition of facility "x" which is really important for application "y" makes the provision of facility "a" that's important for application "b" impractical or rather tricky.
So, the question during the current course: "Why Python - what makes it different". Well ... here are some things that were relevant to my questioner:
* It's a SCRIPTING language that means no manual compile process, so it's great for codes that need changing frequently
* It's a STRAIGHTFORWARD language that's not overburdened with alternative facilities - removed complexity from the developer and maintainer
* It's OBJECT ORIENTED and that provides superb logic sharing capabilities between applications handing the same data types without naming conflicts
* It's a TRUSTING language that doesn't overburden you with the need to predeclare everything
* It's available CROSSPLATFORM - on the course, I have delegates on Mac, Windows and Linux platforms for example
* It's ROBUST and FORWARD COMPATIBLE and WELL SUPPORTED AND USED making it something you can rely on in the future.
"Compared to Perl" goes on my questioner. Now Perl may be the right language for many people because:
* It's a SCRIPTING language that means no manual compile process, so it's great for codes that need changing frequently
* It's a FULLFEATURED language that's got plenty of facilities and coding anything can be very fast indeed with all the range
* You can CHOOSE to write single block, structured or Object Oriented code meaning that it's suitable for small projects through to big systems.
* Perl assumes you KNOW what you're doing - leave things out and they get done for you. Makes for fast coding by the initiated.
* It's available CROSSPLATFORM.
* It's ROBUST and WELL SUPPORTED AND USED so you'll always have a good supply of programmers available
* It's being UPDATED to include modern facilities at the expense of old ones, meaning it's a language that will be around in 20 years!
Every force is balanced by an equal and opposite force, they say. And so it is that you can take many of the powerpointish bullets above and write an "opposite" statement that may turn people off the particular language. "It's full-featured" can also mean "there are so many ways of doing things that you'll end up with unreadable code written by contractors who are long since gone and is utterly unmaintainable unless you call them back in and pay them a fortune". Yes, I know that's a simplification but there's a seed of truth in there.
We offer Perl courses and Python courses and so we have a foot in both camps ... also PHP courses (PHP is a great language and often the best choice if you're writing a dynamic web site) and Tcl and Mysql ... every one of these is a great language for the right users ... otherwise I simply wouldn't include the subject in our public course listing.