Linked by MOS6510 on Thu 10th Jan 2013 23:25 UTC
General Development "For years I've tried my damnedest to get away from C. Too simple, too many details to manage, too old and crufty, too low level. I've had intense and torrid love affairs with Java, C++, and Erlang. I've built things I'm proud of with all of them, and yet each has broken my heart. They've made promises they couldn't keep, created cultures that focus on the wrong things, and made devastating tradeoffs that eventually make you suffer painfully. And I keep crawling back to C."
Thread beginning with comment 548383
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Point by point
by saso on Fri 11th Jan 2013 14:35 UTC in reply to "RE: Point by point"
Member since:

And as for debuggers... Visual Studio blows C out of water

C is a language, Visual Studio is an IDE. You're comparing two different things.

pause any time, IntelliSense to go back in steps, check variables, call stacks. Aaaand Paralel Tasks windows debugging threaded application.

Correct me if I'm wrong, but VS supports all of the above on C++ (among other things), which is almost entirely a superset of C, i.e. it supports them on C as well. You're arguing against gdb, not C. And as for gdb, except for "Intellisense to go back in steps" (isn't Intellisense a code completion feature?), all that you mention can be done in gdb as well. Perhaps you mean some specific feature and/or problem?

Reply Parent Score: 6

RE[3]: Point by point
by tanzam75 on Fri 11th Jan 2013 19:00 in reply to "RE[2]: Point by point"
tanzam75 Member since:

He probably meant IntelliTrace, which is the historical debugging tool bundled with Visual Studio Ultimate. IntelliTrace is implemented by using IL metadata, and thus it does not work on native C++ code.

Parallel Tasks/Stacks was designed primarily to debug task-parallel applications -- though you can also use it on threads. gdb would need an extension for whatever task-parallel library you're using. The Visual Studio debugger has it because the compiler, runtime, and IDE are all bundled together in one package -- and so the debugger can be tightly-coupled to the bundled libraries.

It's not so much C# vs C++, as the "everything bundled together" model vs. the individual-tools model. If you select components individually, then you'd just install a whole bunch of addons to get what you need in the IDE -- Eclipse being a primary example.

Edited 2013-01-11 19:02 UTC

Reply Parent Score: 2