|
I have to say that the VS 2003 IDE is much better than VC 6 with one stark expection--MFC related stuff. The Class Wizard in VC 6 was so much better, and I loved how you used to be able to right click on a control and choose "Events" and a list of message events you appear for that control and you could create an event handler from there. VS 2003 lacks this and really makes working with MFC projects rather unpleasant.
For regular C++ projects, though, the intellisense is far superior in 2003, and feature like code folding are really nice.
|
|
|
|
|
thisismystudipname wrote: have to say that the VS 2003 IDE is much better than VC 6 with one stark expection--MFC related stuff. The Class Wizard in VC 6 was so much better,
Well, that is a matter of taste, I think.
The way VC++6 used to fall over if one changed a minor detail to the header made me sick.
VC++7.1 is much more robust in this aspect.
You get used to the changed location of the class wizard in no time, leaving you only with increased hunger for screen size of the new IDE.
Also, the VC++6-Compiler was so utterly braindead...
"We trained hard, but it seemed that every time we were beginning to form up into teams we would be reorganised. I was to learn later in life that we tend to meet any new situation by reorganising: and a wonderful method it can be for creating the illusion of progress, while producing confusion, inefficiency and demoralisation."
-- Caius Petronius, Roman Consul, 66 A.D.
|
|
|
|
|
jhwurmbach wrote: Also, the VC++6-Compiler was so utterly braindead...
Couldn't agree more with you there. Granted, VC6 is old, but even at the time its 80% support of the C++ standard was poor. Now that I use template more and more these days I can't even begin to think of using VC6 ever again.
|
|
|
|
|
I use VS2005 or VS2003 when I stumble on the bug in VS2005. MS did a heck of job to make a C++ standard-compliant compiler. When I need the most efficient code I run gcc.
Regarding the C/CLI and C#: I am doing software for embedded real-time applications and calculation-intensive programs. We can't afford the non-deterministic garbage collector quick-on in the most undesired moment, and running the CLI interpreter is out of question.
geoyar
|
|
|
|
|
I second that MS did a great job with VS8. One of the best and most useful things in VS8 is the ability to use C++ templates, especially the STL, for mobile development. I am developing for mobile devices as well as for X86. For performance it is necessary to put some code into native libraries. These native code libraries can be wrapped using managed C++ so that they can be called from C# the language preferred for application development. None of this was possible using the EVC3 and EVC4 tools that preceded VS8.
Don't overlook the benefits of C# and managed C++ wrappers. This is a good way to preserve performance in native code libraries while taking advantage of the .Net subsystem.
M. T. Sandford
Los Alamos, NM
|
|
|
|
|
Are you saying you can use managed C++ (or C++/CLI) for embedded development? I was told by some MS Compact Framework MVPs that using managed C++ or C++/CLI to provide the "glue" between unmanaged and managed code was not possible for embedded development. They told me that the only way to access unmanaged code on embedded environments was through p-invoke. If this is incorrect, *please* let me know (and let me know how you set up your project).
Many thanks,
Kevin
|
|
|
|
|
I do not think that C# is a preferred language for app development, but I agree it is very good for programming under Windows. As a programming language it has few nice features, but the main reason for utilizing it is the .NET framework, which is a set of libraries. And you have to install this framework on your machine! C# is the property of Microsoft, and you do not know what is going underr the hood, and this is bad for embedded programming. I am aware that we all will be forced to use C# because API for the next MS OS, Vista, will be in C# (so rumor is), but for now I prefer C/C++
geoyar
|
|
|
|
|
geoyar wrote: When I need the most efficient code I run gcc.
Oops - which one?
At least the g++3-series is far inferior when it comes to optimization.
And for me, g++4 is too slow and does not compile enough of the old stuff.
"We trained hard, but it seemed that every time we were beginning to form up into teams we would be reorganised. I was to learn later in life that we tend to meet any new situation by reorganising: and a wonderful method it can be for creating the illusion of progress, while producing confusion, inefficiency and demoralisation."
-- Caius Petronius, Roman Consul, 66 A.D.
|
|
|
|
|
The list should have also included EVC 4.0. If you are doing development on a CE or PPC device and need performance EVC 4.0 is a must.
|
|
|
|
|
For me the problem is what to do with the nineties written code that my company won't pay to port.
At the question I answered that the environment of choice is VC6.0, because the big platform that we built in the nineties was written with that compiler. But if you ask me for new code, the answer is clear, I go for VS2005.
What will happen with old code? I don't know, but my company does: it will stay here for years to come, and it will not be ported, but it have to be modified.
-- modified at 6:50 Tuesday 31st January, 2006
|
|
|
|
|
I started with 2003 just last March. Did not want to learn
a new language (C#). Did not realize that Managed C++
Extensions was so close to a new language, I might have
will have gone with C#. Anyway -- wrote a lot of code
in MC++. Then got hit by 2005 C++/CLI. Well, a few
weeks porting and I'm at C++/CLI and going strong.
I will not go to C# until forced. I like what MS
has done with C++/CLI. I stayed behind to long in VS6,
choose a bad time to move to MC++ and had to bite the
bullet to move to C++/CLI.; But I feel I have made the
right choice. I think, it is a mistake to remain behind!
WedgeSoft
|
|
|
|
|
In 1991, as my consulting firm's OS/2 guru, I was left stranded in Europe when Bill Gates pulled the plug on that operating system.
I got deja vu all over again in 2000, when Microsoft's Phoenix-based consulting team visited my employer in Las Vegas (Visual C++ 6.0, MFC) and talked to us about .NET and the next version of Visual Studio. Within less than 2 years, I quit that gig to go solo, rather than risk my career going down the drain by being stuck squarely in the 90's. I dragged my skills kicking and screaming into the 21st century -- becoming bilingual in Java and C#. I took a hit financially, but I won't be looking over my shoulder ever again. Today I am no longer solo, receiving a regular paycheck and benefits. Perhaps I was a bit premature in predicting the demise of C++, but it will happen. With today's robust job market, there is little excuse to be stuck in a dead end.
|
|
|
|
|
I couldn't be happier writing in C++. Although I do stay as far away from managed code as possible (which is probably the reason I am so happy). For those of us fortunate enough to have jobs writing in C++ it's still great, writing apps that blow the doors off anything written in other languages. Smoking the competition is what it's all about in the business world.
Sorry to hear about your misfortune. Hopefully things will turn around for you so you can start writing in a real language again
|
|
|
|
|
Your wrong... I thought the same thing about COBOL. Besides, C++ is not Microsoft. What you are experiencing is the demise of "Microsoft based" technologies. C#! No need to run just yet...
|
|
|
|
|
robasmith wrote: C#! No need to run just yet...
C# is actually morphing into C#++. Have you seen the C# 3.0 spec?
|
|
|
|
|
Alvaro Mendez wrote: C# is actually morphing into C#++. Have you seen the C# 3.0 spec?
C# started as a mix of VB6, Java and C++ for the .net platform. Then they put more and more features of C++ into it and with C# 3.0 it is really C#++.
But, with C++/CLI, who needs C# anymore? I don't need any [System.Interop.] or [Struct.Layout.] or whatever metadata for things i could do with C++ 20 years ago.
With C++/CLI now beeing a first class .net language and VB.net, who needs a third language?
Btw. Managed C++ (Managed Extensions for C++) is dead only 3 years after it was introduced by MS.
Also WinForms will be superseded by Windows Presentation Foundation anytime soon.
|
|
|
|
|
ABuenger wrote: But, with C++/CLI, who needs C# anymore? I don't need any [System.Interop.] or [Struct.Layout.] or whatever metadata for things i could do with C++ 20 years ago.
Yeah, for "interoping", C++ is the way to go. However, you'd expect the .NET framework to continue growing and improving to the point where you'd no longer need native API support.
Personally, I rarely use it.
ABuenger wrote: Managed C++ (Managed Extensions for C++) is dead only 3 years after it was introduced by MS.
So how many years do you think it will take Microsoft to kill C++/CLI?
Regards,
Alvaro
|
|
|
|
|
Alvaro Mendez wrote: Yeah, for "interoping", C++ is the way to go.
Not only interopting, why does C# has no unions? Why no templates? The generics are far away from beeing as powerful as templates.
Why re-invent the wheel with edges and then try to make it round again?
C# as no advantage over C++/CLI. I won't jump on any bandwagon started by some MS consultants.
MS can not abandon C++ because there is a 30+ years codebase. Even their own products are written in C++.
And you always forget that C++ is a General Purpose Language while C# was only made for the .net framework. Ever tried to program an embedded system with C#? Any real-time app with the .net framework?
Microsoft says C# is a application programming language while C++ is a system programming language. While the statement about C# is true, C++ is as mentioned a general purpose language. I can do everything with C++. With C# not.
And why should i trade in a standarized mature general purpose language for a proprietary MS language that changes every week when someone on the Microsoft forum had an idea he thought might be cool?
|
|
|
|
|
ABuenger wrote: Not only interopting, why does C# has no unions? Why no templates? The generics are far away from beeing as powerful as templates.
Who needs union anyway ? Err... let's say me...
ABuenger wrote: C# as no advantage over C++/CLI. I won't jump on any bandwagon started by some MS consultants.
As the matter of fact, yes there are at least one advantage : one new way to code, one new language. I've done a few projects with C++ managed when I have switched from about 8 years of C++ frenzy, and I really had problems not to switch back to my old way of doing things. Frankly, going unmanaged in a managed world is really not a good move...
Now I really use C# as my (almost) only way to use .net, switching back to good-ol C++ when doing more resource-demanding (or whatever .net is not suited for).
ABuenger wrote: And why should i trade in a standarized mature general purpose language for a proprietary MS language that changes every week when someone on the Microsoft forum had an idea he thought might be cool?
Ok, so if you don't want to, just drop .net, because it will change as new ideas come and go. And by the way, C# is not propietary and is almost as much standardized as C++ (C# 1.0 that is) with ECMA (of which I'm sure) and ISO (which I seem to remember)
Michael CARBENAY
Creo Ignem
|
|
|
|
|
C++ and MFC will be around for quite a while just because these huge code bases cannot be moved overnight even IF a company would have infinite resources. Customers want new features and really don't care what language the program is written in.
|
|
|
|
|
mrjktcvsss wrote: when Microsoft's Phoenix-based consulting team
C# is today what VB was in the past. We will see C# 3.0, the third edition of C#, soon. Before the language isn't mature i would stay away from it.
If you really need to write managed code, use C++/CLI. It's way more powerful than C#. And remember what MS did with VB6. Do you really want to rely on a proprietary programming language from MS?
Just my 5 cents
|
|
|
|
|
I appreciate the comments of some of you that are defending the use of C++... Yes, C# isn't mature, but I was using C++ before that was mature as well, so that's nothing new to me. And for those of us that learned Java first, it was trivial to start writing code in C#.
But I think you are missing my main point. While there will always be a niche in the Windows environment for C++, jobs requiring C++ skills are drying up faster than puddles in Oklahoma. On the Unix/linux side, Java has gained a lot of ground. Anybody writing web applications or web services in C++?
|
|
|
|
|
mrjktcvsss wrote: But I think you are missing my main point. While there will always be a niche in the Windows environment for C++, jobs requiring C++ skills are drying up faster than puddles in Oklahoma.
Sun tells us since 15 years that Java is the future of all programming, except those slow cell phone games, where do you use Java today? Java, wasn't that those annoying menus on websites in the 90s?
It's nice to have C# in your port folio, but it won't be the only language used in the future. Also with all the hype about .net, where are the .net applications?
|
|
|
|
|
It's been a long time since I've seen a puddle here in Oklahoma...
Come to think of it, it's also been awhile since I've seen a C++ job in these parts - although there do seem to be C# & ASP.NET jobs around.
Martin Cook
Jesus answered, "I am the way and the truth and the life. No one comes to the Father except through me." John 14:6
|
|
|
|
|
I actually like the VS.NET 2003 IDE better than VC6, even with some of the bugs.
2K3 has much stronger customization capabilities. VC6 used to 'forget' keyboard customization every time I turned around, and would delete custom toolbars without notice. I can tailor the screen layout for 2K3 any way I want it, and it stays that way.
2K3 has a better build system. It's a lot easier to incorporate custom build steps right in the solution with 2K3 than it ever was with VC6. With VC6, you ended up with messy batch files that did partial compiles, and awkward workspace/project organizations.
The debugger in 2K3 is smarter, and lets you debug intelligently across a lot more boundaries (out-of-process COM servers, for example) than VC6 would. It recognizes Windows data types a lot more completely.
IntelliSense in 2K3 is vastly improved. With VC6, if a declaration wasn't in the same source file, you didn't get it.
Help in 2K3 integrates with the IDE; it doesn't start up a separate app that it forgets about.
Software Zen: delete this;
|
|
|
|
|