Link to home
Start Free TrialLog in
Avatar of BILLPOWER
BILLPOWER

asked on

C# vs C++

Hi,

Can anybody tell me what are the major differences between C# and C++? And providers of C# development environment.

Thanks in advance.

BILLPOWER
ASKER CERTIFIED SOLUTION
Avatar of cocojohn
cocojohn

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
in addition to Visual Studio.NET as a C# development environment, you might also take a look at

http://www.icsharpcode.net/


AW
Avatar of dude1337
dude1337

For me C# is easier to make windows applications in than C++.
There's another thing:
C# is completely object oriented.
In C++ you can write "dirty code", if you want to.
C/C++ is the lanugage Java is written in, whereas C# the language the is a ripoff of Java. That's the difference.
C# isn't a rip of Java, it is an advancement.  You probably program Java and are pissed the C# is better.  You know in your terms everything is a rip.  C++ ripped C then.  So you know just cause technology is getting better doesn't mean you gotta get pissed, get a book learn the new language and use it until the next language is developed.
dude1337-for the record, i program from MIPS to 4GL, and im not mad at anyone, including you. as far as who ripped what, i didnt see anyone rename C as C++ and try to sell it to anyone. a duck is a duck. I just pointed out that which had not already been.

regarding the question at hand, C# is like C++ for dummies( no offense ). Yes, its much simpler to use and easier to learn than C/C++, but no, its not as powerful. C# is so much easier and simpler because it is dependent on the .Net framework, which handles quite a bit of the nasty stuff for you. On the other hand, C/C++ can do everything and more, and, properly written, be recompiled to run where you need it without the .Net framework.
And IT DOES SUPPORT pointers!!!

> And IT DOES SUPPORT pointers!!!
Yes, in a bizarre sort of way, it does.
If C++ is C incremented, then shouldn't an advancement (so-called) on Java be called J++.

Wait, it USED to be called that, but Sun Microsystems stopped that, Huh? Lets change some keywords and call it a new language. :)
Actually the unsafe mode in C# (where you can use pointers) is one of the things that make it different to Java.

Other differences are:

Delegates
Enums !!
Automatic boxing
Foreach
Operator overloading

C# and Java are very definitely different languages.

Anyway - Microsoft needed a language pretty much in the same place along the productive-powerful spectrum as Java. There was too large a gap between VB and VC++. Of course it was going to be another object-oriented C derivative, with garbage collection etc, etc, just like any other modern language. There's also quite some sense in making the learning curve as shallow as possible for programmers wishing to transfer between the two.