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:
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.