Is C++ being replaced with C#?
#1 Crossbones+ - Reputation: 444
Posted 27 November 2010 - 10:08 AM
So is it better to have C# skills these days as opposed to C++? Of course, you can have both, but I prefer C/C++ because it's more "to the metal".
#4 Crossbones+ - Reputation: 444
Posted 27 November 2010 - 10:38 AM
Quote:
Original post by Promit Quote:I would love to know what exactly you think this means.
Original post by blueshogun96
I'Of course, you can have both, but I prefer C/C++ because it's more "to the metal".
I was told you can't get low level access in C# such as accessing a linear or physical address directly (or is that just in XNA for 360)? I never used C# for anything serious.
Quote:
Original post by Programmer One
Just because you don't understand something doesn't mean it isn't useful.
Why do you assume I don't understand it?
#5 Senior Moderators - Reputation: 3113
Posted 27 November 2010 - 10:42 AM
Quote:
Original post by blueshogun96 Quote:
Original post by Promit Quote:I would love to know what exactly you think this means.
Original post by blueshogun96
I'Of course, you can have both, but I prefer C/C++ because it's more "to the metal".
I was told you can't get low level access in C# such as accessing a linear or physical address directly (or is that just in XNA for 360)? I never used C# for anything serious.
Seeing as how you can't actually do that in C++ EITHER without using OS specific functions, which can also be invoked from within C# as well...
Quote:
Quote:
Original post by Programmer One
Just because you don't understand something doesn't mean it isn't useful.
Why do you assume I don't understand it?
Because of the statements you made above, combined with what is we're probably going to assumed to be a lack of experience.
In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.
ScapeCode - Blog | SlimDX
#6 Members - Reputation: 1281
Posted 27 November 2010 - 10:42 AM
What kind of job postings have you been looking at? Tools programming?
#7 Members - Reputation: 746
Posted 27 November 2010 - 10:48 AM
Quote:
Original post by blueshogun96 Quote:
Original post by Programmer One
Just because you don't understand something doesn't mean it isn't useful.
Why do you assume I don't understand it?
Because your statement is the equivalent of, "I don't get what is the big deal with cars; horses work just fine for me."
#8 Members - Reputation: 110
Posted 27 November 2010 - 12:25 PM
Quote:
Original post by Programmer One Quote:
Original post by blueshogun96 Quote:
Original post by Programmer One
Just because you don't understand something doesn't mean it isn't useful.
Why do you assume I don't understand it?
Because your statement is the equivalent of, "I don't get what is the big deal with cars; horses work just fine for me."
That's a bit of a stretch. If C# is a car, I'd say C++ is a car without doors.
#11 Members - Reputation: 2369
Posted 27 November 2010 - 01:56 PM
Quote:
Original post by Promit Quote:I would love to know what exactly you think this means.
Original post by blueshogun96
I'Of course, you can have both, but I prefer C/C++ because it's more "to the metal".
It means a Real programmers.
And I'm not really sure what to make of the fact that there is a wikipedia entry on it...
I also always found it funny that Apollo Mission Computer used a virtual machine. Just goes to show they should have hired real programmers.
#12 Moderators - Reputation: 13474
Posted 27 November 2010 - 03:53 PM
In the general programming business world, C# is taking over a lot of C++'s responsibilities.
In the console games sector of that world, those responsibilities mostly involve the tool-chain -- the bits of the game engine that run on developers PCs.
The actual game run-time -- the bits that run on the Xbox/PS3 -- are of course still C/C++.
There are exceptions to this (C# can be run on consoles if you really want to), but in general my experience has been C/C++ for the engine and C# for the tools.
#13 Members - Reputation: 302
Posted 27 November 2010 - 03:53 PM
Nah... Real Programmer code in Pure Basic, and optimize the resulting FASM code it generate.
After all, you want to develop a demo on WinPC and watch it on AmigaOS.
</I'm kidding here>
On the topic, C# is an "expansion" to C++ the way C++ is an expansion to C. It serve a purpose. and use the purpose well. OOP on C++ is to make complex code and app manageable, not for you to create class for almost all variables and have .Get & .Set for everything.
As for me, I develop software and tools in Pure Basic, as I get running quickly. I develop games in game engines (Game Maker, Unity, UDK).
#14 Members - Reputation: 1865
Posted 27 November 2010 - 04:05 PM
Quote:
Original post by blueshogun96 Quote:
Original post by Promit Quote:I would love to know what exactly you think this means.
Original post by blueshogun96
I'Of course, you can have both, but I prefer C/C++ because it's more "to the metal".
I was told you can't get low level access in C# such as accessing a linear or physical address directly (or is that just in XNA for 360)? I never used C# for anything serious.
Name a specific algorithm used in application programming that actually needs that kind of memory access ('application programming' meaning that operating system kernels and databases don't count).
#15 Members - Reputation: 2443
Posted 27 November 2010 - 04:34 PM
Quote:
Original post by blueshogun96
I'm not sure how many times this has been asked, but I thought I'd ask for myself.
Many, many, many, many, many, many, many times before. In fact, why don't I give you a minuscule sampling of them:
- High traffic Game Server (C# vs C++ with Boost)
- Pet project (c#/xna) vs school projects(C++)
- C# vs C++... yet again...
- C++ vs C# for 3D visualization application
- XNA vs. C++ for serious game programming
- How much faster is c# at making games than c++?
- C#/XNA vs C++/DirectX
- XNA vs C++
- C# and XNA vs. C++ and SDL
- c# opengl vs c++ opengl
- Assembly vs. C++ vs. C# finding primes
- Professional Games Made In C#?
- c++ is a dead or obsolete language
- C# vs C++ as a choice for development
- C++ vs C#
- C# vs C++ On A Resume
- Question about Java Vs. C# Vs. C++
- Visual C++.net vs Visual C#.net
- C++ vs. C# vs. Objective C
- MFC vs C# Winforms
- C++ vs C#
- C++ and C#
- Why C# XNA When Everyone Wants C/C++
Frankly, these sorts of threads are incredibly tiring. The original poster always comes into the thread with firmly implanted notions borne of shockingly small amounts of actual fact and proceeds to ignore all comers unless they are providing him with justification for his ill-conceived presuppositions.
How about we skip the validation from those who don't know, the skewering from those who do, the rehashing of the same arguments again and again from both sides, the unwanted and unsolicited opinions from Joe Coder #3, and just agree to ignore these threads whenever they appear?
#16 Moderators - Reputation: 13474
Posted 27 November 2010 - 05:10 PM
Quote:...because that would go against the GameDev.net culture of taking pride in bluntly informing people that they're unknowledgeable. Duh.
Original post by Mike.Popoloski
How about we skip the validation from those who don't know, the skewering from those who do, the rehashing of the same arguments again and again from both sides, the unwanted and unsolicited opinions from Joe Coder #3, and just agree to ignore these threads whenever they appear?
#17 Members - Reputation: 1272
Posted 27 November 2010 - 05:22 PM
Quote:
Original post by blueshogun96 Quote:
Original post by Promit Quote:I would love to know what exactly you think this means.
Original post by blueshogun96
I'Of course, you can have both, but I prefer C/C++ because it's more "to the metal".
I was told you can't get low level access in C# such as accessing a linear or physical address directly (or is that just in XNA for 360)? I never used C# for anything serious.
C# has pointers.
#19 Members - Reputation: 607
Posted 27 November 2010 - 05:51 PM
Quote:
Original post by blueshogun96
I prefer C/C++ because it's more "to the metal".
That's a misconception. Anything low level that you can do in C/C++ you can also do in C#.
Some people say that you shouldn't be using C# because it's "slower", but with JIT compilation, it's just as fast as any compiled language.
The base libraries perform a lot more sanity checking however, such as array bounds checking... but here's the thing. Almost every single exploit found these days is still a buffer overrun exploit. It simply amazes me in this day and age that people STILL introduce buffer overrun vulnerabilities. But that's what you get for using a "to the metal" language. Sure, you think it's faster to not check things like array boundaries... until your little mistake causes things to be compromised. I'll take the safety of C# over the haphazardness of C++ any day.
#20 Members - Reputation: 186
Posted 27 November 2010 - 07:40 PM
Quote:
Original post by Washu
Seeing as how you can't actually do that in C++ EITHER without using OS specific functions, which can also be invoked from within C# as well...
I'm not entirely clear on where you're going with this, so I'm going to stab around in the dark rather aimlessly in search of clarification.
I'm aware of the semantics of ISO C++ pointers (insofar as they are not integral memory addresses, undefined pointer arithmetic and all that), so one interpretation of "OS specific functions" would be implementation-defined pointer r-values? Or are you referring to virtual memory, separate address spaces and all that, where "OS specific functions" literally refers to OS routines which a process can invoke to interact with other parts of of the system? (I am clearly not an OS guy)
wrt C#, I won't go into that.
Quote:
Original post by FableFox
On the topic, C# is an "expansion" to C++ the way C++ is an expansion to C.
Well, that's among the grosser simplifications I've read recently.
Quote:
Original post by Nypyren
Name a specific algorithm used in application programming that actually needs that kind of memory access ('application programming' meaning that operating system kernels and databases don't count).
This.






