jimmy said:
I am presently working in C++ .It is flexible and efficient.But it is
not the reasons for the language to survive as hardware is running
ahead the capabilities of software(why efficiency?).Java is a cool
language and .NET too even for mobile devices and embedded
systems.Anybody can give some valid reasons so that I can understaand
C++ will survive in the coming years.
No one can predict the future. No one knows C++ or even Java will survive.
My experience tell me that mastering one programming language is not enough
in today's environment. The more languages you learn, the better programmer
you are. But you have to understand the relationship between these
languages. Here is the stack:
Java or C#
C/C++
Assembly
Machine Code
That is, if you want to be a good Java programmer, know C/C++ will help. If
you want to be a good C/C++ programmer, know Assembly will help. My
suggestion is know at least tow languages. I prefer C/C++ and Java, which
are platform and vendor independent. If you learn CORBA, it's very easy to
combine these two languages together so that you can choose the language
which can do the best job for a given project and communicate with each
other. My only suggestion is stay away from Microsoft technology, such as
C#/CLI stuff. The reason is Microsoft is never a leader but always a
follower in term of innovation. When she follows the leader to update her
technology, the technology usually doesn't have backward compatibility. For
example, with CLI (it follows J2EE), VB, COM, MFC, C++ programmers become
outdated. If you learn C#/CLI or so called C++/CLI, I am sure you will be
outdated after 5 years.
FYI: C++/CLI is the worst language you want to learn. Not only you have to
learn two sets of APIs, one from CLI and one from standard C++ library, but
also you have to know which one is suitable in which condition, which one is
better than the other in same condition, and which on is ....