   Learning many languages?
  This question are eating my head all day. And here it goes: it's useful  and not silly to  learn and know several or more programming languages?   
  Well, that entirely depends on many things.Q. What are you doing?-Hobbist Game programming?Probably better to stick to one language, don't overload yourself.-Hoping to go Professional?Very useful to know many languages, many time you might need to know Python for scripting and write the engine in C++ for instance.;  Honestly, I'd suggest to forget about concentrating on learning a language, and focus more about learning different programming paradigms.Languages themselves are more like syntactical sugar and should not be viewed the same way as learning different linguistic languages.For the most part, when you start programming, the basics are going to be the same in almost any language of a similar paradigm.  It's when you are comfortable with that where you'll need to start knowing the language and all the little intricacies.For example, I've been working with C++ for over a decade, and I wouldn't say I know it.  I'm still learning it though.  I can, however, develope programs with it.  But with knowing the paradigms behind it, I can switch to other foreign languages and be able to start developing with no prior knowledge of the language fairly quickly.   ;  You should learn a particular language well.plusYou should develop the capability to learn any new language in a short period of time (you do this by learning many languages until you get good at multiple paradigms).   ;  It depends on where you are in your development. As a beginner, you should focus on one language and work at becoming a good programmer. Learning how to build, debug, design programs. Once you're very comfortable with that language, it's good to learn another similar one. It forces you to abstract out the concepts of the language away from the syntax of the language to make the transition. Once you're comfortable with the second, it's useful to learn a variety of languages to get exposure to diverse concepts.   ;  Not only it is useful, but sometimes required if you are a professional developer used to (say, c++) and forced to move to other targets (say, java for web applications).In the beginning I would suggest to learn one language well though before trying other: once you know a language well it is easier to use others. Moving from java to C# has been close to painless for me.   ;  So, wne I'll know i can jump to another language? When I'll feel that  I'm comfartible with my language?   ;  Just to give an example as an answer to your question: During my average workday, I use C++, C#, WPF, and SQL to accomplish the tasks I need to do. At night, I often use a mix of C++ and ASM for my personal projects. It's very useful to know several programming languages, and in a lot of cases, almost necessary. Once you understand the principles and fundamentals of programming, picking up a new language is often just a matter of memorizing a few keywords and remembering what libraries do what.   ;  Does a carpenter only use one Saw?Learn as many languages as you can.   ;Quote:Original post by lithosDoes a carpenter only use one Saw?But they also use not all available saws, only a handful of those. E.g. for what should they learn to command a large 2-man pruning saw normally used to down big trees?And some jobs they do are only teached in limited local regions (e.g. only roofers in germany's northern regions learn how to build thatched roofs). Of course it is common practice here, even in these modern times, that carpenters go onto the "Walz", but they don't learn every local practice, only several ones.Quote:Learn as many languages as you can.Imho, knowing several programming paradigms (and a handful of PLs) is a good thing, but it's not necessarily a good thing to know as many languages as possible.   