Thanks for the informative reply, but I don't by the shoe analogy - you don't need to learn for entire years how to wear a shoes - but that is the case with programming languages (if you take into account learning about the available libraries, the community mailing lists and websites).