Perspective

Following on from the Python is overrated stuff, I’ve been thinking about programming languages, their uses, and the unavoidable flame wars that occur whenever this subject (or that of editor, desktop environment etc.) comes up.

Obviously, people have their favourites and want to evangelise about and/or defend them. Unfortunately and all too often this is taken to zealotry-type levels and that’s when debates breakdown into flames.

One of the things often missing from these arguments is perspective.

Picture a full-time developer (i.e. me) who spends all day designing and implementing ‘enterprise’ type systems – large scale applications that are re-distributed to others and developed/maintained by others.

Now picture an administrator. She writes scripts that make her life easier. She’ll most likely use any language which lets her get the job done and on to the next one.

Somewhere in between is the guy whose scripts have grown into applications, yet most likely remained in the same language due to personal preference (or fear/reluctance to re-implement). He, and our administrator above, are likely one-person-shows – they choose what they write and how they write it.

Of course, there are additional scenarios, but these will do for now.

I’ve been through all three stages outlined above, from writing scripts in Perl to designing and implementing applications in .NET/C#.

When I first started coding in Perl, I couldn’t understand why anyone would want to use another language. Then I had to learn Delphi in a hurry because Perl simply wasn’t an option for a particular problem. PHP followed, then Visual Basic, Visual Basic .NET (yes there is a difference – a big one), C#, and Python. Whilst learning each of these, I went through the predictable stages:

Why doesn’t this work? It works that way in language X Oh, that’s what I should be doing – that makes more sense Language X is rubbish compared to this, I’m only go to use this from now on… (Eventually) solve a problem in new language that would have taken 2 lines in language X Realise the limitations of the language, add it to my skillset (rather than replacing previous skills) and move on

What you’ve got to remember is that it’s horses for courses, and you should use whatever makes your life easier. From the perspective of an administrator, that would Perl, Python, Ruby etc. From the perspective of the the full time developer, it’s Java, .NET etc. From the perspective of the guy in the middle, it’s a case of using whatever he thinks is best.

Whatever you do pick a language because you want to use it, not just because it’s got mindshare at the moment.

So, the next time a language debate comes up, apply some perspective.


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser