I don�t want to create a flame war here about which language/technology
is better. I�m looking for practical advice from fellow C++
programmers. I�m a professional programmer and the language I spend
most of my time developing in is C++. I also spend most of my time
developing applications for Windows. Now, I�ve seen Microsoft create
and abandon technologies at an amazingly rapid pace (anyone remember
Visual J++?). I�ve been trying to ignore C# and .Net, but I�m
wondering if this is still a good idea? The latest issues of C/C++
Users Journal have articles about .Net/C# so I�m getting concerned. At
my current job, we are not using .Net. We develop real-time
applications and C/C++ seems like the only feasible tool for this job.
I�m wondering though if in the future I will need C#/.Net to be able to
find another job? In a perfect world, I�d love to develop apps for a
Unix platform using C++, I feel it is the most powerful platform and
the most powerful language. But it looks like I�m stuck in the Windows
world. Now, is there always going to be a need for C++ developers on
Windows or will everyone have to go down this .Net/C# path? I
personally hate tying myself to a language/technology that is only
supported by a single company. This is one reason I love languages
like C, C++ and Perl, my skills are equally relevant on PCs running
Windows as they are on a server running Solaris. It's also a reason
I'm wary of Java, although other companies besides Sun have invested
time and money in it.
I�ve been looking around in the papers, and it looks like more and more
companies are asking for some .Net experience. I also spoke to a
recruiter recently and he told me that .Net is the future. I always
take what these guys say with a grain of salt, but I don�t want to
ignore a trend either. I don�t want to end up like an old Cobol
programmer who no one wants to hire.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
jcarucci (32)
|
11/12/2003 7:51:08 PM |
|
Jason Carucci wrote:
> I don�t want to create a flame war here about which language/technology
> is better. I�m looking for practical advice from fellow C++
> programmers. I�m a professional programmer and the language I spend
> most of my time developing in is C++. I also spend most of my time
> developing applications for Windows. Now, I�ve seen Microsoft create
> and abandon technologies at an amazingly rapid pace (anyone remember
> Visual J++?). I�ve been trying to ignore C# and .Net, but I�m
> wondering if this is still a good idea?
I don't think ignoring Microsoft is ever a good idea. Even if you don't
like them you can't deny the influence they have in the IT industry, not
least in the area of languages.
The latest issues of C/C++
> Users Journal have articles about .Net/C# so I�m getting concerned. At
> my current job, we are not using .Net. We develop real-time
> applications and C/C++ seems like the only feasible tool for this job.
I am not an expert in .Net by any means, but I do not see it being used
in real time applications now or ever. I would disagree that C/C++ is
the only feasible tool, but that is for another thread.
> I�m wondering though if in the future I will need C#/.Net to be able to
> find another job? In a perfect world, I�d love to develop apps for a
> Unix platform using C++, I feel it is the most powerful platform and
> the most powerful language. But it looks like I�m stuck in the Windows
> world. Now, is there always going to be a need for C++ developers on
> Windows or will everyone have to go down this .Net/C# path? I
> personally hate tying myself to a language/technology that is only
> supported by a single company. This is one reason I love languages
> like C, C++ and Perl, my skills are equally relevant on PCs running
> Windows as they are on a server running Solaris. It's also a reason
> I'm wary of Java, although other companies besides Sun have invested
> time and money in it.
We can't predict the future, but I tend to agree with your sentiment. If
you can show you have solid prgramming skills in languages like C++ and
Perl you should be employable for many years to come. There are already
a lot of jobs demanding C#, but this is a little deceptive, there are a
lot of projects just kicking off in this area so it is natuaral that
companies will want staff with these skills to boost their knowledge
bases. It does not mean by any means that C++ is about to be deprecated
by C#.
Having tried C# I can see that developers will probably like it, and I
can also tell you that a C++ background, especially on Windows, means
you will pick up C# in a matter of hours. OK, maybe I mean 10's of
hours, but the point is it is not difficult and C++ is a good
background, IMHO.
>
> I�ve been looking around in the papers, and it looks like more and more
> companies are asking for some .Net experience. I also spoke to a
> recruiter recently and he told me that .Net is the future. I always
> take what these guys say with a grain of salt, but I don�t want to
> ignore a trend either. I don�t want to end up like an old Cobol
> programmer who no one wants to hire.
I do not want to generalise, but I tend not to trust the opinions of IT
recruiters 100%. I have spoken to some who have offered sound advice and
been honest about the job market, others less so. It is true to say that
there will be more .Net jobs in the near future, beyond that they are
making it up, or basing the statement on a single Gartner (or similar)
report, and he or she is probably not about to provide the caveats and
estimated accuracy which Gartner append to their reports.
C++ is very different to COBOL in terms of the job market, there is a
lot of C++ work going on still, and C++ skills transfer overnight to C#
(or Java for that matter).
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Steve
|
11/13/2003 8:47:32 AM
|
|
In article <111120032321089198%jcarucci@yahoo.com>, Jason Carucci
<jcarucci@yahoo.com> writes
>Now, is there always going to be a need for C++ developers on
>Windows or will everyone have to go down this .Net/C# path? I
>personally hate tying myself to a language/technology that is only
>supported by a single company.
I do not want to get into your general questions but it seems to me that
you are making a false assumption. C# and the fundamental underpinning
(CLI/CLR) is standardised (initially by ECMA) and I believe that there
is already an implementation for one or more Unix type OSs. Indeed a
failure to support the concepts on other (non-MS) platforms would kill
C# and .NET stone dead as there would be no portability over the
Internet.
--
Francis Glassborow ACCU
If you are not using up-to-date virus protection you should not be reading
this. Viruses do not just hurt the infected but the whole community.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Francis
|
11/13/2003 11:59:50 AM
|
|
On 12 Nov 2003 14:51:08 -0500, Jason Carucci <jcarucci@yahoo.com>
wrote:
>I�ve been looking around in the papers, and it looks like more and more
>companies are asking for some .Net experience. I also spoke to a
>recruiter recently and he told me that .Net is the future. I always
>take what these guys say with a grain of salt, but I don�t want to
>ignore a trend either. I don�t want to end up like an old Cobol
>programmer who no one wants to hire.
My guess is that it's a bit early to say; we don't know yet if .NET
will be ported successfully to other platforms (though we know that
the work is underway). There are rumours about possible convergence
between ASP.NET and WIndows Forms, which suggests that .NET hasn't
really stabilised yet (ok, there will probably be minor changes
throughout it's life, but that looks to me like quite a big change).
I have mixed feelings about C#; I can see its advantages if you are
doing user interface with .NET and developing small-to-medium sized
applications, but I really have difficulty seeing it used for systems
programing (anyone holding their breath for gnu/Linux to migrate to
C#?) and I wonder how well it will scale to large programs. I can
imagine it taking over /some/ C/C++ territory, but certainly not all
-- at least not in its present form: who is to say that /it/ has
stabilised yet? ISTR that C++ had been going for quite a while before
it acquired templates... For the moment I see it as more of a
challenge to high-end scripting languages such as Python (though my
personal preference is still for Python for that sort of work). C/C++
still looks to me to be the best family for programming all types of
system at all levels, but I believe that an inevetable consequence of
being a damn fine general purpose language is that for any particular
type of system and level it can be beaten by a focused specialist
language, which is where C# is looking for a niche.
Then there's the matter of .NET benchmarks...
Since Microsoft makes the command line tools and .NET available at no
cost, and last time I looked Borland were giving away a visual
front-end to those tools, you could take a look at little cost (ok,
big downloads, but the whole lot was on a magazine cover disk in the
UK this month...). The basics of C# are easy and quick enough to
learn, though the mortals amongst us may have to wait for Scott Meyers
to write "Essential C#" before we realise some of the pitfalls in
there. There's a lot to learn in .NET, though!
Replies to tim at digitig dot co dot uk
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Tim
|
11/13/2003 9:17:18 PM
|
|
Jason Carucci <jcarucci@yahoo.com> wrote in message news:<111120032321089198%jcarucci@yahoo.com>...
> I don�t want to create a flame war here about which language/technology
> is better. I�m looking for practical advice from fellow C++
> programmers. I�m a professional programmer and the language I spend
> most of my time developing in is C++. I also spend most of my time
> developing applications for Windows. Now, I�ve seen Microsoft create
> and abandon technologies at an amazingly rapid pace (anyone remember
> Visual J++?). I�ve been trying to ignore C# and .Net, but I�m
> wondering if this is still a good idea? The latest issues of C/C++
> Users Journal have articles about .Net/C# so I�m getting concerned. At
> my current job, we are not using .Net. We develop real-time
> applications and C/C++ seems like the only feasible tool for this job.
> I�m wondering though if in the future I will need C#/.Net to be able to
> find another job? In a perfect world, I�d love to develop apps for a
> Unix platform using C++, I feel it is the most powerful platform and
> the most powerful language. But it looks like I�m stuck in the Windows
> world. Now, is there always going to be a need for C++ developers on
> Windows or will everyone have to go down this .Net/C# path? I
> personally hate tying myself to a language/technology that is only
> supported by a single company. This is one reason I love languages
> like C, C++ and Perl, my skills are equally relevant on PCs running
> Windows as they are on a server running Solaris. It's also a reason
> I'm wary of Java, although other companies besides Sun have invested
> time and money in it.
>
> I�ve been looking around in the papers, and it looks like more and more
> companies are asking for some .Net experience. I also spoke to a
> recruiter recently and he told me that .Net is the future. I always
> take what these guys say with a grain of salt, but I don�t want to
> ignore a trend either. I don�t want to end up like an old Cobol
> programmer who no one wants to hire.
Ask yourself, do I own the factors of production? Do I have any
control over this Microsoft product? Have I used C++ to implement any
systems, such as a compiler, an operating system, a GUI library of my
own that I can port to the new product line? If not than since
Microsoft is a product and the only people that have control over are
the CEO's at Microsoft, than you have no choice but to use what they
are allowing you to rent, and it is currently the .Net framework.
If you want to try Unix (Solaris) than you could carry on with C++ but
what difference does it make if you do not plan to implement a
compiler, and operating system, or a GUI library or Software layer.
What good is C++ really if you don't use it to implement systems.
What difference does it make if you use C# or C++, if your goal is
only to specialize (reuse the vendor R&D with inheritance and
specialize the objects) and have integration with vendor systems
(Database DBMS, Web Server, Mail Server).
If you had been using Standard C++ in the first place or any system
implementation langauge than you would have been lead to building
systems and controling the factors of production. Microsoft is a
product, it's not a research platform. It never really learned C++ in
the first place.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
trollking
|
11/13/2003 9:24:59 PM
|
|
Jason Carucci <jcarucci@yahoo.com> wrote in message
news:<111120032321089198%jcarucci@yahoo.com>...
> I don�t want to create a flame war here about which
> language/technology is better. I�m looking for practical advice from
> fellow C++ programmers. I�m a professional programmer and the
> language I spend most of my time developing in is C++. I also spend
> most of my time developing applications for Windows. Now, I�ve seen
> Microsoft create and abandon technologies at an amazingly rapid pace
> (anyone remember Visual J++?). I�ve been trying to ignore C# and
> .Net, but I�m wondering if this is still a good idea? The latest
> issues of C/C++ Users Journal have articles about .Net/C# so I�m
> getting concerned. At my current job, we are not using .Net. We
> develop real-time applications and C/C++ seems like the only feasible
> tool for this job. I�m wondering though if in the future I will need
> C#/.Net to be able to find another job? In a perfect world, I�d love
> to develop apps for a Unix platform using C++, I feel it is the most
> powerful platform and the most powerful language. But it looks like
> I�m stuck in the Windows world. Now, is there always going to be a
> need for C++ developers on Windows or will everyone have to go down
> this .Net/C# path? I personally hate tying myself to a
> language/technology that is only supported by a single company. This
> is one reason I love languages like C, C++ and Perl, my skills are
> equally relevant on PCs running Windows as they are on a server
> running Solaris. It's also a reason I'm wary of Java, although other
> companies besides Sun have invested time and money in it.
> I�ve been looking around in the papers, and it looks like more and
> more companies are asking for some .Net experience. I also spoke to a
> recruiter recently and he told me that .Net is the future. I always
> take what these guys say with a grain of salt, but I don�t want to
> ignore a trend either. I don�t want to end up like an old Cobol
> programmer who no one wants to hire.
There is always a great demand for people with experience in a new
language. Many recruters/persomel offices seem to think that the number
of years of experience in a language is the only indication of
competence; if the company is doing a new project in C#, they will be
looking for people with 5-10 years experience in C#.
By the time you get the experience, so will others. The offer will go
up, because it won't be a rare skill set any more.
If you are curious, and want to get into C#, by all means do so. Now,
because you won't have any competition from people with real experience
with it, where as in a couple of years time, every time you postulate,
there will be someone else who has experience in the language.
If you have no particular desire to learn the language, however, don't
bother. C++ isn't going to disappear anytime soon.
Nor did Cobol. A Cobol specialist today probably has a better job
market than a C++ specialist. Nobody learns Cobol anymore, but projects
continue to be written in it. The result is that while the demand is
not particularly big, the offer is even smaller.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orient�e objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
kanze
|
11/14/2003 10:18:46 AM
|
|
Jason Carucci wrote:
> I�ve been trying to ignore C# and .Net, but I�m
> wondering if this is still a good idea? The latest issues of C/C++
> Users Journal have articles about .Net/C# so I�m getting concerned.
There is talk that Microsoft is rewriting all of its applications
internally in .NET, so I think it's likely to stick around. At the very
least, it contains a far better windowing API than anything they've
released to date. And rewriting as a .NET application really doesn't
take more than wrapping the whole app in a managed class. The C++/.NET
implementation is kind of a Frankenstein monster.
> At my current job, we are not using .Net. We develop real-time
> applications and C/C++ seems like the only feasible tool for this job.
> I�m wondering though if in the future I will need C#/.Net to be able to
> find another job?
Will you need Java, XML, or any of the other recent buzzwords to find a
job? The answer: it depends on the job you want. If you're doing
realtime programming and plan to stick with the field then the answer is
likely no.
> In a perfect world, I�d love to develop apps for a
> Unix platform using C++, I feel it is the most powerful platform and
> the most powerful language. But it looks like I�m stuck in the Windows
> world. Now, is there always going to be a need for C++ developers on
> Windows or will everyone have to go down this .Net/C# path?
There is a C++ .NET compiler as well... and a Java compiler, Perl
compiler, etc. One of the nice things about .NET is that it is language
agnostic. And the design team did try to make the C++ changes as
localized and standard-compliant as they could, given what they were
trying to accomplish. Programming .NET with C++ really amounts to a few
new keywords. Personally, if I ever have to write .NET code it will
likely be a thin .NET layer over real C++ underpinnings. But I guess
we'll see what happens in time.
> I�ve been looking around in the papers, and it looks like more and more
> companies are asking for some .Net experience. I also spoke to a
> recruiter recently and he told me that .Net is the future. I always
> take what these guys say with a grain of salt, but I don�t want to
> ignore a trend either. I don�t want to end up like an old Cobol
> programmer who no one wants to hire.
They were saying the same thing about Java a few years ago. And the
companies that are looking for .NET people now are probably the same
folks who wanted Java people back then. My guess is that .NET will
replace COM and probably even DLLs to a good degree in Windows. Any app
that would have been written using MFC will probably ultimately be
written using .NET instead. But C++ has a unique advantage with .NET as
it allows for both pure C++ and .NET code to interact within the same
program. This fact alone makes me think that C++ won't be going
anywhere soon, even on the MS campus. After all, they did hire Herb Sutter.
What remains to be seen is if .NET ends up being used on any platforms
besides Windows. My guess is it won't ever be very popular elsewhere,
but you never know. .NET is a better solution than COM by far but it
still results in another layer of cruft between the application and the
OS. As a C++ programmer, this isn't something I'm quite ready to accept.
Sean
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Sean
|
11/14/2003 10:34:50 AM
|
|
Francis Glassborow <francis@robinton.demon.co.uk> wrote in message news:<Qn2FvbHP+qs$EwFW@robinton.demon.co.uk>...
> In article <111120032321089198%jcarucci@yahoo.com>, Jason Carucci
> <jcarucci@yahoo.com> writes
> >Now, is there always going to be a need for C++ developers on
> >Windows or will everyone have to go down this .Net/C# path? I
> >personally hate tying myself to a language/technology that is only
> >supported by a single company.
>
> I do not want to get into your general questions but it seems to me that
> you are making a false assumption. C# and the fundamental underpinning
> (CLI/CLR) is standardised (initially by ECMA) and I believe that there
> is already an implementation for one or more Unix type OSs. Indeed a
> failure to support the concepts on other (non-MS) platforms would kill
> C# and .NET stone dead as there would be no portability over the
> Internet.
The C++ community is shamefully ignorant, for the fact that C++ is a
system implementation langauge and C++ programmers continue to pursue
development on a product line controlled by a monopoly. I seriously
question the closed nature of C++ and the fact that system
implementation obviously takes a back seat to solution implementation
on products (no longer platforms) in which the vendor controls the
factors of production by portraying the focus on specialization using
a software layer that prevents the developer from generalizing and
building sytems. In this case, why is C++ any different than C# or
Muppet language?
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
trollking
|
11/14/2003 10:50:04 AM
|
|
Sean Kelly wrote:
> What remains to be seen is if .NET ends up being used on any platforms
> besides Windows. My guess is it won't ever be very popular elsewhere,
> but you never know. .NET is a better solution than COM by far but it
> still results in another layer of cruft between the application and
> the
> OS. As a C++ programmer, this isn't something I'm quite ready to
> accept.
But i think that this middleware orientation is really a good thing, rather
than adding more and more functionnalities in one language, like it is done
with Java....
Many people have turned to Java because the lack of such a middleware. We
can probably regret that there won't be real alternatives to .net in this
subject (maybe is it involving to much work and money ?).
Chris
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Christophe
|
11/15/2003 10:20:27 AM
|
|
Troll_King wrote:
> The C++ community is shamefully ignorant, for the fact that C++ is a
> system implementation langauge
Damned ! I was told C++ was multi-purpose...
> and C++ programmers continue to pursue
> development on a product line controlled by a monopoly.
What monopoly ? ANSI and ISO are far from a monopoly...
> I seriously
> question the closed nature of C++
To be closed, it would have to be complete, as Java is trying to be...
> and the fact that system
> implementation obviously takes a back seat to solution implementation
> on products (no longer platforms) in which the vendor controls the
> factors of production by portraying the focus on specialization using
> a software layer that prevents the developer from generalizing and
> building sytems.
Software layers are not new comers. For what i remember, it allowed
networking on many OSes...
> In this case, why is C++ any different than C# or
> Muppet language?
It is different in introducing less coupling. Maybe some non-microsoft .net
layers will come (despite i don't know anything about copyright issues), or
other middleware offering the same kind of functionnalities (at least
partially)...
Chris
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Christophe
|
11/15/2003 10:20:49 AM
|
|
trollking@shaw.ca (Troll_King) wrote in message news:<39ca89a9.0311121737.530b8c4e@posting.google.com>...
> Jason Carucci <jcarucci@yahoo.com> wrote in message news:<111120032321089198%jcarucci@yahoo.com>...
>
> If you had been using Standard C++ in the first place or any system
> implementation langauge than you would have been lead to building
> systems and controling the factors of production. Microsoft is a
> product, it's not a research platform. It never really learned C++ in
> the first place.
So true, Troll. In my many years of programming, I have never seen
C++ used the way it was meant to be used in a corporate environment.
I have seen many, many coders making messes trying to "find the
classes". In frustration, these other languages like C# pop up.
One should keep in mind that many of these alternative languages are
popularized by timid coders (and managers) looking for a silver
bullet. There is none. Microsoft capitalizes on this timidity by
telling the ignorant user exactly what s/he wants to hear - "This will
make your life so much easier." Wall Street executives hear the
expression "managed code" and think, "Gee...managed is obviously
better than unmanaged...I better go with C#." In fact, COM is nasty
and so is .NET, but its hard to see this when so many people are on
the bandwagon (Ever notice how rain feels less wet if you're surrouned
by dozens of friends and family?).
When learning new technologies, I generally follow the
utility/exclusivity principle. If it is useful and challenging enough
to provide some exclusivity, I mark it for learning:
Utility Exclusivity Examples
----------------------------------------------------------
low low reciting poetry
low high roping cattle/bird calling
high low cutting hair/purifying water/changing oil
high high designing CDMA transceiver/nuclear missile
C++ falls in the high-utility/high-exclusivity category. That's one
of the reasons you see so many "flake off" languages that resemble it
- these are merely manifestations of people recognizing its utility
while simultaneously trying to overcome its exclusivity. The CDMA
example is a particularly strong parallel. Many people attacked CDMA
when it first came out as being overly complicated/etc., yet some of
those same people would very much like to understand how it works. No
matter what their disposition, superior systems are built using the
tool of choice of superior engineers, and they know this.
So don't worry. As long as the smart people are using C++, the others
coders will grudgingly acknowledge and accommodate it, and any
manager looking for top talent will recognize what top talent prefers.
-Chaud Lapin-
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
unoriginal_username
|
11/15/2003 10:21:38 AM
|
|
Le Chaud Lapin wrote:
> One should keep in mind that many of these alternative languages are
> popularized by timid coders (and managers) looking for a silver
> bullet. There is none. Microsoft capitalizes on this timidity by
> telling the ignorant user exactly what s/he wants to hear - "This will
> make your life so much easier." Wall Street executives hear the
> expression "managed code" and think, "Gee...managed is obviously
> better than unmanaged...I better go with C#." In fact, COM is nasty
> and so is .NET, but its hard to see this when so many people are on
> the bandwagon (Ever notice how rain feels less wet if you're surrouned
> by dozens of friends and family?).
I think that .net matches with a real need. When you don't need it, just
stay away from it...
A fact is that you often need functionnalities which are OS (GUI, as an
exemple) or third-part (like DBMS connectivity or distributed computing)
dependant. Putting such functionnalities in a common middleware does really
make sense to me.
What is true is that we can regret a proprietary implementation of such a
middleware. Actually, i would welcome some free alternative to .net, but it
has not come yet on the scene...
Chris
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Christophe
|
11/15/2003 5:13:16 PM
|
|
|
11 Replies
93 Views
(page loaded in 0.134 seconds)
|