Skip to main content

Why do we compare Programming Languages?

I don't know. May be just for academic reasons, because there is no relevance in practical life. I recently read some discussion about the performance of Ruby at Joel on Software. Wondering what the heck if Ruby is slower than C++?  There are 10s of programming languages which are slower than C/C++, yet they are being used widely in many different applications. You don't have to be the fastest and win 100m at the Olympics to live your life. You have a different set of ambitions and purpose. Don't you?

I never thought all programming languages are created equal. Though, a given problem can be solved by many programming languages, I believe, not all are cut out to solve the same problem. New programming languagues have been created primarily because existing programming languages do not solve a particular problem well. For most, the reason is not pure computational performance. This is equally true for most technologies as well.

Even when two programming languages/technologies solve the same problem reasonably and equally well, decision to prefer one over the other is never purely technical and never based on a single indicator like computational performance. Few examples over a period of time, from my area of work and experience:

  1. C++ vs Perl and Shell Scripting
  2. Binary Encoding vs ASCII encoding : XML, HTML, SIP over binary encoded Protocols
  3. VOIP vs Traditional Telephony
  4. Telecom Application Servers - J2EE Web Servers with IMS vs Custom Designed Telecom Servers
  5. C++ vs Erlang for Telecom switching software
  6. C++ CGI Programming vs J2EE based Application Servers, PHP, Ruby on Rails
  7. .NET vs J2EE
  8. Flash based Video Player and distribution vs WMP, Real and Quick Time

Each one of them have a definite purpose and advantage. While some problems can be solved by both, we prefer one over the other for reasons other than computational peformance. When a new language or technology is created, the new language or technology often comes equipped with advantages from its parent and will do reasonably well on the scale of performance. So, when Computational performace is not at all a factor for choosing them, why do we care about computational performance?

Another interesting comparison involve the spoken language itself. I hear often heated arguments among people from Andhra Pradesh (India) about preferrence of English over Telugu. 'Telugu', which is the most spoken language in Andhra Pradesh, India and is my native and first language. It was also acclaimed as the sweetest of all Dravidian languages. Sir C.P.Brown called it, the Italian of the East. It is very rich in vocabulary and structure and emerged as a literary medium subsuming the predominance of Prakrit and Sanskrit. Yet, many of us from Andhra Pradesh, speak and communicate in english at workplace and on the web.  While one can express equally well and clear in both languauges, most choose English as most part of the world we care understand English. So, the reason to choose one over the other is definitely nothing about the structure or vocabulary or expressive power of the language.  So why do we care even comparing the structural power of the languages?

Popular posts from this blog

You Are What You Think People Think About You

There are about 6.7 Billion people in this world that we know of.  Whether you believe in ‘Creation’ or ‘Evolution’, this human race started with a tiny number. It is quite amazing to see how fast it multiplies. What is more amazing is that every single individual in that 6 billion crowd is born ‘unique’.  Quite literally, you are born to be one in a billion, whether you believe it or not. “ This was the Introduction to my latest and last speech in Toast Masters club, ‘One in a Billion’ as part of International Speech contest. 
As much as I believe that each one of us can be that 'one in a billion' personality, I admit the reality as I perceive it and some times feel alone in that belief.
A famous quote says 'You are what you think'. It is also true that 'you are what you think people think about you'. If you think people think you are smart, then you act smart and become smart. If you think people think you are dumb, you will become dumb even if you are not, a…

Cooking looks like an unforgiving art

When you are writing software, you always get a second chance. In fact, lots of chances to get it correct. You have compiler warnings, failed test cases and some times crashes alert you that something is not right and will give you a chance to correct. And you get literally unlimited chances to apply those corrections. 
Well, cooking looks to be totally unforgiving in this respect and on any given day, you may get just one chance to get it right. If you fail, you fail. Try again right away if you have patience of starting it all over. Or start over some time later or next day. But not much of a second chance to correct a mistake. 
More ruthless, when it comes to salt. If you put just a little more, even a tiny little more, it never hesitate to show what it got. Totally ruthless. End result will be a failed dish that no one will be able (and/or happy) to eat. And most dishes, you may not be able to add something little more to offset it.

Little trick I learned the hard way, start on …

Did NDTV Just Twisted Words?

I have recently spotted quite a few places where NDTV title doesn’t exactly say the same as the details in the article says. Lost in translation? or just plain twisting for journalistic sensationalism?Title says “'AAP doesn't treat women as humans,' says founder member Madhu Bhaduri as she quits”, but the quote in details says, slightly differently: “In this party, women are not considered humans” (see the text highlighted).Source : NDTV.comYou may say, they effectually mean the same thing. Is it? Even if they mean the same,  Why not use the same exact phrase in both places?