Deepasri, If you really want to gain a deep understanding of programming - learn LISP. You may not use it on a daily basis in your life, but the people who "get" LISP are generally "think" better in the eventual language of their choice.
It is still the most powerful programming language on the planet and has features that are only now appearing in languages like C# 3.0. The key here is to spend time understanding the core feature-set of LISP. What makes it amazing is the metaprogramming capabilities and the ability to treat data and constructs interchangeably. When you get it. It changes the way you think for the rest of your programming life. For people who love beautiful code, it is hard to beat. Some of the most challenging problems in software are still LISP problems: www.itasoftware.com ... it is the engine that powers Kayak, Orbitz and others :) and the core is written in LISP. OK enough :) Cheers, Zubin.

