Page 1 of 1
Visual C++ or Visual C#?
Posted: Mon Mar 03, 2008 5:00 am
by Arremis
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?
Posted: Mon Mar 03, 2008 10:25 am
by Andrew
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.
Posted: Mon Mar 03, 2008 11:58 am
by CaptainBeast
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.
Posted: Thu Mar 06, 2008 4:51 am
by Arremis
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

Posted: Thu Mar 06, 2008 3:49 pm
by link2009
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.
Posted: Sat Mar 08, 2008 2:39 am
by Andrew
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

Posted: Sat Mar 08, 2008 11:12 am
by John Adams
Andrew wrote:Yet you have been constantly bitching about it on IRC for weeks 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.
Posted: Fri Mar 21, 2008 4:27 am
by Arremis
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

Posted: Mon Mar 24, 2008 5:38 pm
by John Adams
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)
Posted: Tue Mar 25, 2008 3:34 am
by Arremis
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

Posted: Wed Mar 26, 2008 4:21 pm
by CrabClaw
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.
Posted: Fri Mar 28, 2008 12:41 pm
by Arremis
This is so FRICKIN' AWESOME!!!

Posted: Fri Mar 28, 2008 2:10 pm
by link2009
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

.
Posted: Thu Oct 30, 2008 8:13 pm
by Vaniel
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.