ProTech in Life

A simple blog expressing my various discoveries in computer world.

Monday, November 28, 2005

What makes you take the plunge in a new language ?

What is it that makes you take the plunge in a new language/ framework?
I have been learning/digging into various programming technologies. The more sites I visit the more diverse responses I feel.
I recently got a chance to read Bruce Tate’s Beyond Java from Oreilly.
From what I have gone through, the book explains how Java got its dominance in the world of OOP languages today and, of course, the world “beyond” java.
C was the first language that got many programmers hooked. Then came new programming paradigm named OOP with C++.Frankly speaking, though I love java and will criticize any other language for it, there are still some situations where I find to put java in the proper context.
As it’s perfectly said that one language doesn’t fit all is similar to saying that needle and sword are meant for totally different purposes. So what makes you take the plunge?

Is it performance?

Speaking and debating of great languages today, still C is the choice of language for writing OS (it just scares the shit out of me to even think of Linux kernel source).

There has been many performance benchmarks comparing Java and other languages in terms of efficiency in execution of the program but (don’t get me wrong here) I still personally feel that an interpreted language (Java, Ruby etc) will always be slower than compiled ones. Whatever it is, if I can directly speak in one language or instead have with me a guide which can interpret a language and translate to/from it, it still benefits me of saying that knowing the language personally would still result in fast correspondence with others. Obviously then this implies that for every country I visit I would have to know its language rather have my translator to the tedious work for me. (Ouch. it hurts portability).

The .Net vs Java performance post at Javalobby and the particular reply to it confirms my point. We say that with today’s powerful clients desktop systems we need not worry about few milliseconds performance but what when those milliseconds decide one’s life on a plane, in a nuclear reactor.

I feel that comparison of interpreted with compiled languages should not be done. Benchmarks should be done with both the sides being same. As said, the tests which were done comparing JAVA vs .NET performance are really helpful since java has JVM and .net has CLR.

Community size ?

I agree that it doesn’t matter much but still I feel that this point should be taken.

Irrespective of the size its bound to happen that when you go in a community and say XYZ language is better that ABC, you are going to face a lot of criticism from ABC users. And it happens. Where there is fire there will be smoke and it will doesn’t go down until the members themselves have really ta(e)sted the XYZ language themselves to feel how powerful its glow is than ABC.

Is it the Hype?

It’s no doubt that being in the wonderful programming community you haven’t heard of Ruby on Rails (RoR), a great framework for developing web and database driven applications with Ruby. The no. of online discussions, its merits of being very much productive have suddenly come into limelight. So what do you say on this? I bet that many people (including me ;-) ) had a peek into it just because of its sheer hype. My end result? I didn’t enjoy programming in it.

Business requirements ?

That’s another case. Your client comes to you and is stuck with a particular language to be used when developing his applications. What you do? Convince him/her about the language you have worked for years or go with the client requiring you to (may be) learn the language he/she demands.

Support of big companies behind it ?

This case I sometimes feel should be termed as “open source proprietary”.

This is a particularly point I feel really bad about. What happens when the big supporter of great language (ex: IBM, Sun for Java) decides to withdraw it in favour of a new another or in house built in language. Speaking of Java, it has gained so much dominance today that it may strive on it own or who know what does time hold for it?
RoR is being greatly touted as an alternative to Java but what?
It doesn’t have any commercial support.

I remember reading a post ( don’t have a link now) in which the guy says somewhat that “fortune 500 companies will not bet their applications just on a guy known ‘Matz’ (the inventor of Ruby)”.
So if Ruby (RoR) finds a great backing, how will it affect your decision?

I have written this just because I (based on my readings) feel that it’s the ultimate decision depends on what client demands, what big companies with deep pockets are investing in and how they want to rival each other.

This post may have some misjudgments so feel free to comment on it.


Post a Comment

Links to this post:

Create a Link

<< Home