Visual C++ or Visual C#?

Topics NOT related to EQ2 or the emulator project.

Moderator: Team Members

Post Reply
User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Visual C++ or Visual C#?

Post by Arremis » Mon Mar 03, 2008 5:00 am

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:

Post by Andrew » Mon Mar 03, 2008 10:25 am

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.

CaptainBeast
Posts: 14
Joined: Thu Nov 08, 2007 10:54 am
Location: Arkansas

Post by CaptainBeast » Mon Mar 03, 2008 11:58 am

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.

User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Post by Arremis » Thu Mar 06, 2008 4:51 am

Thanks for your advice guys :D
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 :D

link2009
Retired
Posts: 390
Joined: Fri Aug 10, 2007 5:59 pm
Location: POrTal
Contact:

Post by link2009 » Thu Mar 06, 2008 3:49 pm

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.
Image
-Vecinu de la Patru

Andrew
Retired
Posts: 71
Joined: Fri Dec 14, 2007 8:33 am
Location: England
Contact:

Post by Andrew » Sat Mar 08, 2008 2:39 am

link2009 wrote: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.
Yet you have been constantly bitching about it on IRC for weeks lol :lol:

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sat Mar 08, 2008 11:12 am

Andrew wrote:Yet you have been constantly bitching about it on IRC for weeks lol :lol:
Haha! Yeah, I haven't quite figured this guy out yet. :)
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.

User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Post by Arremis » Fri Mar 21, 2008 4:27 am

Just another few questions: What version of C++ does the Emu run on? I'd like to help out, so I need a starting point please. Also, what compilers are used for working on it for Windows and Linux? Finally, what version of SQL is being used for the databases?
Thanks :)

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Mon Mar 24, 2008 5:38 pm

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)

User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Post by Arremis » Tue Mar 25, 2008 3:34 am

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 :D
You guys inspire me :D

CrabClaw
Retired
Posts: 88
Joined: Wed Aug 01, 2007 10:49 am
Location: Seattle

Post by CrabClaw » Wed Mar 26, 2008 4:21 pm

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.

User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Post by Arremis » Fri Mar 28, 2008 12:41 pm

This is so FRICKIN' AWESOME!!! :D

link2009
Retired
Posts: 390
Joined: Fri Aug 10, 2007 5:59 pm
Location: POrTal
Contact:

Post by link2009 » Fri Mar 28, 2008 2:10 pm

I have VS 2003, 2005 and 2008 all installed simultaneously but I must say I prefer working with 2005 because 2008 is just the exact same :P.
Image
-Vecinu de la Patru

Vaniel
Posts: 10
Joined: Tue Nov 20, 2007 7:30 pm

Post by Vaniel » Thu Oct 30, 2008 8:13 pm

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.
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.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests