Visual C++ or Visual C#?
Moderator: Team Members
- Arremis
- Retired
- Posts: 388
- Joined: Sun Sep 02, 2007 10:11 am
- Location: Memphis, TN
Visual C++ or Visual C#?
I'm looking to update my skills for job purposes, and I see plenty of jobs on the market for programmers of both languages, so what's the difference between the two? Is one more efficient than the other? If I wanted to create a game emulator like EQ2Emu, which would be better to work with? Is there any backward compatibility to the non-Visual versions? In the long run job wise, which is most likely to predominate the market and keep me employed?
-
Andrew
- Retired
- Posts: 71
- Joined: Fri Dec 14, 2007 8:33 am
- Location: England
- Contact:
C++ has everything structured out, whereas c# is a mishmash of .cpp, .h and xml. Either one is quite easy to use.
Don't really get your visual / non-visual question.. c++ works can be made to work on all the top platforms, c# works on windows and badly on Linux, atm.
In the long run, job wise, it doesn't matter, you should be learning all the time, not stagnating which is what will get you fired.
Don't really get your visual / non-visual question.. c++ works can be made to work on all the top platforms, c# works on windows and badly on Linux, atm.
In the long run, job wise, it doesn't matter, you should be learning all the time, not stagnating which is what will get you fired.
-
CaptainBeast
- Posts: 14
- Joined: Thu Nov 08, 2007 10:54 am
- Location: Arkansas
Hi Arremis,
I've been a software developer/engineer for over 14 years now. I've written code in most everything from C to C# and everything else in between.
C# and VB are Microsoft's .NET framwork languages. The language isn't as important as learning the .NET framework.
C# is used mainly for applications development such as accounting, health care, taxation/civil, office software, etc. The Microsoft.NET framework is worth learning because many companies want a seasoned .NET developer that knows the framwork and can jump in. It's used less in gaming because it doesn't offer (in some cases it does) the speed gain that C++ does. C# is a highly structured, type-safe programming language that offers RAD capabilities that outclass C++ (due to the Forms designer). It offers full OO capabilities, generics (a type of C++ templates), delegates (type-safe function callbacks), LINQ (framework 3.5 and higher), and a variety of other nice features.
C++ is the premier language used for developing games and other types of software where speed is imperative. C++ is portable to other platforms, namely Linux and Unix whereas to use C# you must use Mono. (I'm not sure the current status of Mono but I know it's fairly feature complete.) C++ is an OO language and offers many good features, including templates which are vital in producing quality code.
So, like everything else, it depends upon what you're wanting to do. If you're wanting to work for a regular business (such as your local power company or local software house) or do contract work, C# is the way to go. If you're more interested in gaming or advanced math and technical programming such as driver development, cross-platform development (such as between Linux and Windows), C++ is the way to go.
I hope this helps.
I've been a software developer/engineer for over 14 years now. I've written code in most everything from C to C# and everything else in between.
C# and VB are Microsoft's .NET framwork languages. The language isn't as important as learning the .NET framework.
C# is used mainly for applications development such as accounting, health care, taxation/civil, office software, etc. The Microsoft.NET framework is worth learning because many companies want a seasoned .NET developer that knows the framwork and can jump in. It's used less in gaming because it doesn't offer (in some cases it does) the speed gain that C++ does. C# is a highly structured, type-safe programming language that offers RAD capabilities that outclass C++ (due to the Forms designer). It offers full OO capabilities, generics (a type of C++ templates), delegates (type-safe function callbacks), LINQ (framework 3.5 and higher), and a variety of other nice features.
C++ is the premier language used for developing games and other types of software where speed is imperative. C++ is portable to other platforms, namely Linux and Unix whereas to use C# you must use Mono. (I'm not sure the current status of Mono but I know it's fairly feature complete.) C++ is an OO language and offers many good features, including templates which are vital in producing quality code.
So, like everything else, it depends upon what you're wanting to do. If you're wanting to work for a regular business (such as your local power company or local software house) or do contract work, C# is the way to go. If you're more interested in gaming or advanced math and technical programming such as driver development, cross-platform development (such as between Linux and Windows), C++ is the way to go.
I hope this helps.
- Arremis
- Retired
- Posts: 388
- Joined: Sun Sep 02, 2007 10:11 am
- Location: Memphis, TN
Thanks for your advice guys 
Based on your advice, I've decided to start with VC++ since I'm aiming more for games development (and maybe I can help develop EQ2 Emu somewhere along the lines). I already know VB .NET so if I need to do framework then I can use that for now and maybe later on pick up C# when needed. I like the idea of cross-platform compatiblity, (after all why should there be only the best games that run on Microcrap Windoze?).
Thanks again
Based on your advice, I've decided to start with VC++ since I'm aiming more for games development (and maybe I can help develop EQ2 Emu somewhere along the lines). I already know VB .NET so if I need to do framework then I can use that for now and maybe later on pick up C# when needed. I like the idea of cross-platform compatiblity, (after all why should there be only the best games that run on Microcrap Windoze?).
Thanks again
-
link2009
- Retired
- Posts: 390
- Joined: Fri Aug 10, 2007 5:59 pm
- Location: POrTal
- Contact:
Well, I find C# much, much easier to learn.
I believe that if you have a background in C++ (Visual or not) you will just run through C#. I've been programming in C# for the past 4 weeks and I must say, it is the easiest language to understand.
The .NET Framework gives you an enormous amount of flexibility but as stated before, C++ is designed for speed.
I wrote my first application in C# without any prior knowledge of C, C++ or VB .Net and I must say it's really easy and useful.
I just find it a little too structured, as pointed a few posts above.
I believe that if you have a background in C++ (Visual or not) you will just run through C#. I've been programming in C# for the past 4 weeks and I must say, it is the easiest language to understand.
The .NET Framework gives you an enormous amount of flexibility but as stated before, C++ is designed for speed.
I wrote my first application in C# without any prior knowledge of C, C++ or VB .Net and I must say it's really easy and useful.
I just find it a little too structured, as pointed a few posts above.

-Vecinu de la Patru
-
Andrew
- Retired
- Posts: 71
- Joined: Fri Dec 14, 2007 8:33 am
- Location: England
- Contact:
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Haha! Yeah, I haven't quite figured this guy out yet.Andrew wrote:Yet you have been constantly bitching about it on IRC for weeks lol
While I am not a fan of "code hints" that basically write the code for you, it is definitely cool to throw together an app in a fraction of the time. Especially when you are in a big f'n hurry like this world seems to always be.
- Arremis
- Retired
- Posts: 388
- Joined: Sun Sep 02, 2007 10:11 am
- Location: Memphis, TN
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
I think LE uses Visual Studio 2003 (?). I use VS2005 and it compiles fine on Windows. Linux is whatever your current g++/gcc is, pretty sure. All my testing has been on 32-bit (x86), no x64 yet. So I cannot speak to 64-bit compatibility.
DB is MySQL, whatever the current is. Anything 5.0+ should be fine.
I don't think C++ has changed dramatically in 10 years, so I think it's safe to say anything relatively modern should work. As long as you understand the warnings and errors thrown, you can easily identify if your compiler/IDE is out of date.
(psst, go linux... save the headache of VS)
DB is MySQL, whatever the current is. Anything 5.0+ should be fine.
I don't think C++ has changed dramatically in 10 years, so I think it's safe to say anything relatively modern should work. As long as you understand the warnings and errors thrown, you can easily identify if your compiler/IDE is out of date.
(psst, go linux... save the headache of VS)
- Arremis
- Retired
- Posts: 388
- Joined: Sun Sep 02, 2007 10:11 am
- Location: Memphis, TN
WOOT I have both VS 2003 and 2005...I've started into C++ already, learning the ISO/ANSI version first and will eventually merge into Windows GUI using VS 2005. After I'm confident enough and can understand how the source code works, I'll move into the SQL side of things...finally completing this leg of the journey with Linux 
You guys inspire me
You guys inspire me
-
CrabClaw
- Retired
- Posts: 88
- Joined: Wed Aug 01, 2007 10:49 am
- Location: Seattle
I went and got the whole Studio 2008 Express install and installed everything
http://www.microsoft.com/express/product/default.aspx
I use VS2008 C++ for everything, except for Netbeans 6 for my Ruby, Javascript, and Java work.
http://www.microsoft.com/express/product/default.aspx
I use VS2008 C++ for everything, except for Netbeans 6 for my Ruby, Javascript, and Java work.
-
link2009
- Retired
- Posts: 390
- Joined: Fri Aug 10, 2007 5:59 pm
- Location: POrTal
- Contact:
-
Vaniel
- Posts: 10
- Joined: Tue Nov 20, 2007 7:30 pm
I found C++ to be easy to learn since I knew C already (though I did have to take a look at C++ through a different set of eyes, if you will.) C# i've never really got into learning. Just never had a need to so far.link2009 wrote:Well, I find C# much, much easier to learn.
I believe that if you have a background in C++ (Visual or not) you will just run through C#. I've been programming in C# for the past 4 weeks and I must say, it is the easiest language to understand.
The .NET Framework gives you an enormous amount of flexibility but as stated before, C++ is designed for speed.
I wrote my first application in C# without any prior knowledge of C, C++ or VB .Net and I must say it's really easy and useful.
I just find it a little too structured, as pointed a few posts above.
Who is online
Users browsing this forum: No registered users and 0 guests