On This web site is frist time i heard of C#. I am skilled in C++ and was wanting to know if C# is an advanced version of C++, kind of like C++ is an advanced version of C...

Recommended Answers

All 14 Replies

It's not advanced C++, it's language from Microsoft combines strength of C++ and easiness of VB. you can read about C# in http://MSDN.com

C# is the microsoft's version of Java and C++ mix. It's designed for a managed platform. It's more stable, better structured but slower. I think there is managed C++ nowdays, but i've never used it.

It's designed for a managed platform

That's not true, you can write unmanaged code in C#.
Why should you?
It's one of the aspects of C# I like the most! I am tired of destructors who destruct something that's already destructed and tired off difficult to trace pointer and handle errors.
You said it yourself It's more stable, better structured but slower.
Btw : slower? With the fast computers of today that becomes an issue of lesser importance.

Sort of. Its more like java, frankly.

That's not true, you can write unmanaged code in C#.

um no, you cant have unmanaged c#?

Btw : slower? With the fast computers of today that becomes an issue of lesser importance.

games, embedded devices

um no, you cant have unmanaged c#?

Put your C# pointer code between the unsafe keyword it will compile as native as you can get. But then again C# was not specially invented for that. It is portable I can call dll's compiled in C++, VB, or any other .NET language who lives out there.
But if you are in need for speed(games etc.) use C++ or even assembly.

That's not true, you can write unmanaged code in C#.
Why should you?
It's one of the aspects of C# I like the most! I am tired of destructors who destruct something that's already destructed and tired off difficult to trace pointer and handle errors.
You said it yourself It's more stable, better structured but slower.
Btw : slower? With the fast computers of today that becomes an issue of lesser importance.

It's designed for a managed platform. That doesn't mean you can't write unmanaged code. You can still write your assembler and use pointers, but that isn't the aim of the .net platform.
As far as speed, like someone said games are heavy on performance and speed. I probably wouldn't write a professional game in XNA. Why? Memory and Framerate. You don't know when you garbage will be collected meaning you don't know your CPU usage. Since garbage may not be allocated right away, it stays in memory which is an overhead. This'll dramatically screw with your FPS. This is just one of the easiest examples.

C# used for developing OS and it succeeds, Will it lacks in developing professional game?! I think you may be wrong! so please if you want us to argue what C# can do and can't, let's start new thread in geek forum

C# used for developing OS and it succeeds, Will it lacks in developing professional game?! I think you may be wrong! so please if you want us to argue what C# can do and can't, let's start new thread in geek forum

I'm not even going to argue with you on this. Managed code comes with stability along with an overhead coming out of providing that stability. If you don't believe me, go back and look at your Compiler Theory and Computer Language Design books.
There are differences in game development and an OS development. That's like comparing apples and oranges.

C# used for developing OS and it succeeds, Will it lacks in developing professional game?! I think you may be wrong! so please if you want us to argue what C# can do and can't, let's start new thread in geek forum

C# ISNT used for developing OSes.

Did you hear about Cosmos?

Theres a small part which isnt C# in order to boostrap it

MS Reasearch tried the same thing

The IL for the bootstrap phase is changed into asm and then compiled into machine code. That part of the OS is unmanaged

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.