ProTech in Life

A simple blog expressing my various discoveries in computer world.

Tuesday, November 29, 2005

Planning your vacation

Wondering where to go next on your vacation?
The National Geographic’s 50 places of a lifetime list might help you.The site list those places that are worth to be visited.

You can select from urban places, wild places, paradise found, country unbound and more. The list (50) seems to be good and if you plane to go to at least 1 place every year it will take 50 years total. Cut down the places to half, you still have 25 yrs of planned vacation.
Great ;-)

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.

Thursday, November 17, 2005

Servlet and JSP tutorial

I have been quite busy in learning these two J2EE technologies.
The most cumbersome thing I am finding with servlets is making your application thread safe.
Anyways...I think more practise might help to overcome this.
If you too are interested , have a look at pdf.coreservlets.com and roseindia.net
I found them excellent for beginners.