A
Adam Ierymenko
Forgive me if this is a dead horse...
I am currently deciding which language to use for a rather large and
important project. I am leaning toward writing highly portable C++
(and possibly using wxWindows for cross-platform GUI) and am currently
brushing up on my C++ skills for the job. (I am a highly experienced
programmer but have done most of my work in C and Java.)
I haven't looked at C++ in a while, but it seems to be in *better* shape
today then it was six or so years ago when I last looked at it. The
free compilers (g++) are *much* better and the language itself seems
more standardized. There are also more cross platform toolkits and
programming techniques available so you don't have to deal as much
with vendor lock-in. I get the impression that if I'm careful and use
stuff like wxWindows I should be able to target *nix, Windows, and
Macintosh without problems.
However, something is still nagging at me with regard to C++:
Is it going to become obsolete?
I know... this is not going to happen anytime soon. There is tons
of code written in C++. I'm thinking more along the lines of a ten-
year time horizon. Everything seems to be moving toward virtual
machine languages like Java and C#, and there seems to be lots of
anti-C/C++ FUD going around. Some of it has some basis-- it *is*
easier to write bad code in C++ than in Java-- but some of it seems
to be just FUD at least from the point of view of a highly skilled
programmer who knows how to write good C/C++ code. C/C++ is still
faster than a VM language (*especially* for stuff like graphics)
and a good programmer can write good code in C++ just as easily as
in Java. (You've heard the adage: bad C code crashes, bad C++
code leaks memory, and bad Java code is slow.)
The most troubling thing that I see is that MS is heavily pushing
C# as the language of choice on the Microsoft platform. Right now
Windows is the #1 C++-centric environment around... most serious
Windows apps are written in C++ and just about the entire OS beyond
the kernel is. MS seems to be moving in the direction of pushing
"managed" languages like C# for application development and maybe
even discouraging the use of standard C and C++ for DRM and security
reasons. It's easier to implement a DRM-based "everything has to be
signed" environment if all code runs in managed VM environments.
So what happens to C++ in the long term if it withers on the Microsoft
platform? Will it become a legacy language?
Just curious to see what opinions I get on this one...
I am currently deciding which language to use for a rather large and
important project. I am leaning toward writing highly portable C++
(and possibly using wxWindows for cross-platform GUI) and am currently
brushing up on my C++ skills for the job. (I am a highly experienced
programmer but have done most of my work in C and Java.)
I haven't looked at C++ in a while, but it seems to be in *better* shape
today then it was six or so years ago when I last looked at it. The
free compilers (g++) are *much* better and the language itself seems
more standardized. There are also more cross platform toolkits and
programming techniques available so you don't have to deal as much
with vendor lock-in. I get the impression that if I'm careful and use
stuff like wxWindows I should be able to target *nix, Windows, and
Macintosh without problems.
However, something is still nagging at me with regard to C++:
Is it going to become obsolete?
I know... this is not going to happen anytime soon. There is tons
of code written in C++. I'm thinking more along the lines of a ten-
year time horizon. Everything seems to be moving toward virtual
machine languages like Java and C#, and there seems to be lots of
anti-C/C++ FUD going around. Some of it has some basis-- it *is*
easier to write bad code in C++ than in Java-- but some of it seems
to be just FUD at least from the point of view of a highly skilled
programmer who knows how to write good C/C++ code. C/C++ is still
faster than a VM language (*especially* for stuff like graphics)
and a good programmer can write good code in C++ just as easily as
in Java. (You've heard the adage: bad C code crashes, bad C++
code leaks memory, and bad Java code is slow.)
The most troubling thing that I see is that MS is heavily pushing
C# as the language of choice on the Microsoft platform. Right now
Windows is the #1 C++-centric environment around... most serious
Windows apps are written in C++ and just about the entire OS beyond
the kernel is. MS seems to be moving in the direction of pushing
"managed" languages like C# for application development and maybe
even discouraging the use of standard C and C++ for DRM and security
reasons. It's easier to implement a DRM-based "everything has to be
signed" environment if all code runs in managed VM environments.
So what happens to C++ in the long term if it withers on the Microsoft
platform? Will it become a legacy language?
Just curious to see what opinions I get on this one...