Learning a Programming Langauge

Learning a new programming language won't take hours for a software engineer . But this learning curve differs from software engineer ,programmer and to a student . A beginner to programming can start with a language like C or python . Ultimate idea of this level is learning basic principles of programming . Once you are familiar with basics like "conditions " , "loops" , simple data structures like arrays and data types you can further learn new concepts like object oriented programming using a language like "C++" . At this level one should be very much confident on using a programming language for varies algorithmic tasks. Now try to learn and get familiar  with varies programming paradigms like  OOP ,Functional Programming, Concurrent Programming , Event driven programming . 
A good software engineer can write programs using multiple programming languages and a strong intelligent fruitful engineers use multiples programming languages inside a product alining the concept of "right tool for the right job ".
When I was a 12 years kid I wrote my first code using BASICS and at university it was C. I became very confident with programming after learning C++.  Learning functional programming using Haskell and Event driven programming with advance Java Scripts bought me to the next level of programming .

GIT : source Code Control the way it meant to be


Linus Torvald's Tech talk on git @ Google is one my favorite tech talk . It's really amazing how he throw out subversion and CVS users considering they are set of idiots in earth .
He started the talk saying "If there is any SVN or subversion users in audience you might want to leave." and i felt what going to happen :D . And then he says "I see subversion is the most pointless project ever started " lol  xd. "One reason why subversion is pointless is it thinks as CVS is correct and I say it is wrong ".