i asked someone at microsoft "which is best language ?" He said " Great programmers makes great languages not great languages makes great programmers "
nicely put... I like to tell people just getting started that different computer languages aren't like different spoken languages, but more like different dialects. once you know C you can figure out Java because it's just like someone from Brooklyn being able to understand someone from Alabama.
I agree
Every language can provide a different way to think about a problem, being conversant in a computer language allows you to tackle a problem in a particular number of ways, some of them easy, some of them hard. Learning a new language can provide insights and ways of thinking much like a spoken language. Being conversant in a number of languages widens the perspective of a programmer as he/she will be aware of more possibilities. C is closely related to assembly so it allows you to write code that is very close to the architecture of the hardware. C++ added (and continues to add) a numer of features including Object Oriented Programming (OOP), Polymorphism, Multiple-inheritance, etc.. Java came about afterward to be truly portable. All the above languages are _similar_ in their approach. They all direct the computer to take a step-by-step approach to solving a problem. LISP, Scheme, Haskell languages each provide a different way (I won't go into detail here). I would recommend learning languages that are closely related at first--if you know C, then you can learn C++, Java with relative ease. Tackling LISP or another of those languages would prove to be a good exercise but be prepared to have your preconceptions thrown back in your face. BTW all of the above assumes that you write a LOT of software in the above languages, up until you are thinking in the language. Typically it takes time to do this.
Join our real-time social learning platform and learn together with your friends!