.NET or VC++
-
Thanks for the advice. :)
--- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise
If you stay in the MS world you definitely have to keep up with .NET regardless of whether you also stick with C++. My background is C++ but I'm now doing .NET and intend to keep up with it if posssible even if I also do C++ occasionally.
Kevin
-
Hi, I am puzzled? I come from a .NET background but am currently engaged with VC++ (COM/ATL) at my current organization. Now, I am ina dillema. Should I go fill flegded with VC++ or keep uptodate with .NET too. Will VC++(COM/ATL) stay for some more years or will it be eradicated by .NET? What about MFC?
--- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise
Simply go to Monster, Dice or other employment listings and search out jobs. Majority are Java and .NET for Windows while you still find a few C/C++ for Linux projects. Search Monster for MFC you have 550 listings, Win32 only 332, C#, VB.NET, ASP.NET or just .NET are all over 1000 (they only list 1000). Also compare salaries. C/C++ was the way to go for decades, but the shift started years ago and it seems to continue. Not only on Windows platform, but there are more and more projects on Linux now using .NET (mono), but the numbers on Linux are much smaller. For most business applications, .NET is a clear winner as develop time is drastically less and bugs are fewer require far less debugging time. Shorter development cycles mean less cost which is a winner with business. On the other hand, if your target profession will be in the CAD world or some other CPU/Graphic intense applications, then C++ is at the moment still a winner, for at least the time being. It can also matter a little bit on where you happen to live as technology can vary.
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Blog changed to Subtext!
-
There was a time when C++ was the only way to write reall applications for Windows. Now that this is no longer the case, I reckon more and more work will be in C# ( and VB.NET, I admit it ). But, that doesn't mean there aren't C++ projects that need maintenance, teams that stick to c++ because they know it, or because of tools and libraries they have in it, etc. Personally, I'd say if you can learn *anything*, do it. Don't abandon .NET, but certainly take the chance to learn C++. Which in essence means learning MFC, in Windows.
Christian Graus - C++ MVP
-
Hi, I am puzzled? I come from a .NET background but am currently engaged with VC++ (COM/ATL) at my current organization. Now, I am ina dillema. Should I go fill flegded with VC++ or keep uptodate with .NET too. Will VC++(COM/ATL) stay for some more years or will it be eradicated by .NET? What about MFC?
--- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise
-
If you stay in the MS world you definitely have to keep up with .NET regardless of whether you also stick with C++. My background is C++ but I'm now doing .NET and intend to keep up with it if posssible even if I also do C++ occasionally.
Kevin
.net is the long term stategy for Microsoft, MFC is not the horse to back you're pay cheque on. C++ will be around for any years to come, but will decline in popularity as the jobs for creating new projects become scarce. The beauty :~ of .net at the moment is that it changing all the time with now components and features being added all the time. Once vista is in the mainstream with future of windows development will exciting as it was back in the early '90s (my opinion).
We made the buttons on the screen look so good you'll want to lick them. Steve Jobs
-
.net is the long term stategy for Microsoft, MFC is not the horse to back you're pay cheque on. C++ will be around for any years to come, but will decline in popularity as the jobs for creating new projects become scarce. The beauty :~ of .net at the moment is that it changing all the time with now components and features being added all the time. Once vista is in the mainstream with future of windows development will exciting as it was back in the early '90s (my opinion).
We made the buttons on the screen look so good you'll want to lick them. Steve Jobs
norm .net wrote:
.net is the long term stategy for Microsoft, MFC is not the horse to back you're pay cheque on.
I agree. What little C++ I've done recently has been pure maintenance.
norm .net wrote:
C++ will be around for any years to come, but will decline in popularity as the jobs for creating new projects become scarce.
Yes. And even in the non-MS world I imagine that hardcore C++ers will also need to know other stuff such as Java and Python. E.g., the Google skillset is mainly C++/Java/Python. And this stuff is either far easier to use from C# or VB or not available at all for C++.
norm .net wrote:
The beauty :~of .net at the moment is that it changing all the time with now components and features being added all the time.
Kevin
-
Simply go to Monster, Dice or other employment listings and search out jobs. Majority are Java and .NET for Windows while you still find a few C/C++ for Linux projects. Search Monster for MFC you have 550 listings, Win32 only 332, C#, VB.NET, ASP.NET or just .NET are all over 1000 (they only list 1000). Also compare salaries. C/C++ was the way to go for decades, but the shift started years ago and it seems to continue. Not only on Windows platform, but there are more and more projects on Linux now using .NET (mono), but the numbers on Linux are much smaller. For most business applications, .NET is a clear winner as develop time is drastically less and bugs are fewer require far less debugging time. Shorter development cycles mean less cost which is a winner with business. On the other hand, if your target profession will be in the CAD world or some other CPU/Graphic intense applications, then C++ is at the moment still a winner, for at least the time being. It can also matter a little bit on where you happen to live as technology can vary.
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Blog changed to Subtext!
MS is pushing for dotnet, but they will keep on releasing SDKs like Win32, Win64 (or even Win128). Depends on where you want to be in the herd...
-
There was a time when C++ was the only way to write reall applications for Windows. Now that this is no longer the case, I reckon more and more work will be in C# ( and VB.NET, I admit it ). But, that doesn't mean there aren't C++ projects that need maintenance, teams that stick to c++ because they know it, or because of tools and libraries they have in it, etc. Personally, I'd say if you can learn *anything*, do it. Don't abandon .NET, but certainly take the chance to learn C++. Which in essence means learning MFC, in Windows.
Christian Graus - C++ MVP
There are still a number of environments where C/C++ projects in Windows are the only means available. Those I know of include: - Windows services - Explorer extensions - Device drivers - Any of the 'extension agents' that require a DLL with a fixed signature: SNMP, HTTP, etc.
Software Zen:
delete this;
-
Hi, I am puzzled? I come from a .NET background but am currently engaged with VC++ (COM/ATL) at my current organization. Now, I am ina dillema. Should I go fill flegded with VC++ or keep uptodate with .NET too. Will VC++(COM/ATL) stay for some more years or will it be eradicated by .NET? What about MFC?
--- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise
This is a pointless question. Can't you think for yourself?
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
This is a pointless question. Can't you think for yourself?
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001Not everyone has your wisdom. Would you mind elaborating? Why is it pointless?
-
Hi, I am puzzled? I come from a .NET background but am currently engaged with VC++ (COM/ATL) at my current organization. Now, I am ina dillema. Should I go fill flegded with VC++ or keep uptodate with .NET too. Will VC++(COM/ATL) stay for some more years or will it be eradicated by .NET? What about MFC?
--- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise
-
Not everyone has your wisdom. Would you mind elaborating? Why is it pointless?
Anyone that's been programming for any length of time knows damn well that technologies change on an all-too-frequent basis and that the more you know, the more marketable you make yourself for employment. If you are tasked with using a certain technology, then you have to learn the technology at least well enough to complete the task. For instance, I've been doing C++/MFC since 1991 or so. In June, I started working on a .Net project. Guess what - I absolutely hate .Net, but I'm learning it anyway because if I don't, I'll lose my job. You don't need to be a freakin' rocket scientist to put 2 and 2 together here. The original question is therefore pointless.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
There are still a number of environments where C/C++ projects in Windows are the only means available. Those I know of include: - Windows services - Explorer extensions - Device drivers - Any of the 'extension agents' that require a DLL with a fixed signature: SNMP, HTTP, etc.
Software Zen:
delete this;
- Games (for speed & cross platform) - Cross platform apps (for Windows / OS X / Linux) - Any application where performance is an issue but those millions of VB apps have definately moved to .NET
Todd Smith
-
- Games (for speed & cross platform) - Cross platform apps (for Windows / OS X / Linux) - Any application where performance is an issue but those millions of VB apps have definately moved to .NET
Todd Smith
Todd Smith wrote:
- Any application where performance is an issue
Supposedly that's no longer the case. I've seen a number of articles where managed code is faster than the equivalent native code. The rationale is that the just-in-time compiler and loader can perform whole-program and load environment optimizations that yield greater performance than is possible with a 'static' compiler and linker. I'm willing to believe it on a case-by-case basis, but I have my doubts under general circumstances.
Software Zen:
delete this;
-
Anyone that's been programming for any length of time knows damn well that technologies change on an all-too-frequent basis and that the more you know, the more marketable you make yourself for employment. If you are tasked with using a certain technology, then you have to learn the technology at least well enough to complete the task. For instance, I've been doing C++/MFC since 1991 or so. In June, I started working on a .Net project. Guess what - I absolutely hate .Net, but I'm learning it anyway because if I don't, I'll lose my job. You don't need to be a freakin' rocket scientist to put 2 and 2 together here. The original question is therefore pointless.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001If you've been programming for a long time you know new things come along a lot, but also some have a tendency to stick around even beyond expectations. Remember how many companies where freaking out at the end of the 90s because they still had systems built in the 60's, when no one was even thinking they'd last up to 2000?
John Simmons / outlaw programmer wrote:
For instance, I've been doing C++/MFC since 1991 or so
Me too!! How nice to meet someone alike. In fact, back in 2002, I rushed in a store to buy Visual Studio.net 2002. And following the "new things always come along", I learned .net. At that time .net jobs were scarce. And even though I have coded in C# for several years, I am now back to C++. So never say never.
John Simmons / outlaw programmer wrote:
You don't need to be a freakin' rocket scientist to put 2 and 2 together here. The original question is therefore pointless.
Well not everyone has many years of experience like you. So don't be so harsh. I have read that long long thread where you seem to be fighting the whole lounge. I have even voted you 5 several times. But damn, I am starting to understand why some wrote you were a little "tough". :)
-
Hi, I am puzzled? I come from a .NET background but am currently engaged with VC++ (COM/ATL) at my current organization. Now, I am ina dillema. Should I go fill flegded with VC++ or keep uptodate with .NET too. Will VC++(COM/ATL) stay for some more years or will it be eradicated by .NET? What about MFC?
--- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise
As far as employment opportunities go, 95%+ of the MS C-type applications in the world are written in C++. They will be around for decades to come (eg COBOL programmers are still required). A company which has invested $millions in C++ software development is not going to chuck it all away just because something new has come along. I reckon it's easier to go from C++/MFC to c# than vice versa.
-
There are still a number of environments where C/C++ projects in Windows are the only means available. Those I know of include: - Windows services - Explorer extensions - Device drivers - Any of the 'extension agents' that require a DLL with a fixed signature: SNMP, HTTP, etc.
Software Zen:
delete this;
Gary R. Wheeler wrote:
Windows services
I'm sure they can be done in C#
Christian Graus - C++ MVP
-
Gary R. Wheeler wrote:
Windows services
I'm sure they can be done in C#
Christian Graus - C++ MVP
While services can be implemented using C# and the .NET framework, they're not generally practical. They're very slow to start and have a huge memory footprint compared to an equivalent C++ service.
Software Zen:
delete this;
-
MS is pushing for dotnet, but they will keep on releasing SDKs like Win32, Win64 (or even Win128). Depends on where you want to be in the herd...
That does not mean there will be a sizable market though..
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Blog changed to Subtext!
-
There are still a number of environments where C/C++ projects in Windows are the only means available. Those I know of include: - Windows services - Explorer extensions - Device drivers - Any of the 'extension agents' that require a DLL with a fixed signature: SNMP, HTTP, etc.
Software Zen:
delete this;
- Windows services Many VB programmers were writing true Windows services in VB6. I wrote my first Windows service in VB6 back in 1998. It isn't easy, but it works quite well and is fast. It is much easier to write them in VB.NET and C#.