PDA

View Full Version : C# or C++



Daniel
06-03-2003, 03:11 PM
Hi,

What would you recommend for someone who wants to start learning directX, C# or C++?

Thanks

DavidP
06-03-2003, 03:44 PM
I dont know about everyone else, but I would recommend using C++.

C# is more of a web-oriented language. It is Microsoft's mission to kill Java. DirectX isnt really web-oriented. DirectX is more game oriented for the most part (correct me someone if I am wrong), and therefore C++ would be your best bet.

Perspective
06-03-2003, 04:31 PM
> C# is more of a web-oriented language. It is Microsoft's mission to kill Java.

isnt J++ microsofts mission to kill Java.

DavidP
06-03-2003, 09:50 PM
isnt J++ microsofts mission to kill Java.


that was a failed mission

nvoigt
06-04-2003, 12:20 AM
C# is more of a web-oriented language. It is Microsoft's mission to kill Java. DirectX isnt really web-oriented. DirectX is more game oriented for the most part (correct me someone if I am wrong), and therefore C++ would be your best bet.


Correcting: C# can be used as code-behind in ASP pages, but that's a bonus. You can write normal applications with it as well.

Assuming that C++.NET is totally out of the question, it boils down to unmanaged C++ vs C#. Both have advantages and disadvantages. Portability is no issue here, DX isn't portable anyway. While unmanaged C++ has the raw power needed for action games, C# has many helpful features and a real nice class library already included. C++ uses the COM interfaces of DX, C# already has wrapper classes. I'd say download the DX9 SDK from Microsoft and look at the samples. Look at the C++ samples and the C# samples and decide what is easier to understand for you.

If you want to create a kick ass action shooter in 6 months, go for C++, if you want a normal game in 2, go for C#.

Perspective
06-04-2003, 10:28 AM
Originally posted by DavidP
that was a failed mission

thank god. the last thing we need is another corperate owned programming language (sun does a good job with Java, who knows what microsoft would come up with :rolleyes: )

frenchfry164
06-04-2003, 01:04 PM
Dude C# is corporate owned is well. Bill Gates's company owns it, even though he probably doesn't know anything about it (Bill Gates is just there to find ways to cheat people).

Perspective
06-04-2003, 02:38 PM
Originally posted by frenchfry164
Dude C# is corporate owned is well. Bill Gates's company owns it, even though he probably doesn't know anything about it (Bill Gates is just there to find ways to cheat people).

yes, i know. thats what i meant by "another corporate owned..." there is enough as is. i just put that Java comment in because i think sun does a decent job with it. and the "who knows what micrsoft..." was with regard to a Java type language. I dont think a microsoft product could pull off the built in security standards like Java has. (i dont mean to turn this into a microsoft vs. the world thread so ignore me if your a micro-shaft fan)

Ripper1
06-04-2003, 04:18 PM
i don't really think gates is some ignorant fool...many people play him out to be though, i don't know what he does at microsoft but it's sorta dumb to assume that he a)is always out to screw us all over and b)doesnt know about the technology his company makes...i don't have any validity for these statements except that i read his biography a long long time ago and he is very bright, i have respect for him because he is smart and cunning as hell in the field of business....

frenchfry164
06-04-2003, 05:52 PM
Perspective> Oh, my bad.

the Wookie
06-04-2003, 08:11 PM
i tried C# i didnt really like it. i heard the ide for .net was written in c#

directx will be used in the longhorn interface too so its not primarily for games ones longhorn is out

nvoigt
06-05-2003, 07:02 AM
I dont think a microsoft product could pull off the built in security standards like Java has.


Then you might want to have a look at .NET. Java's security is outdated. It's all or nothing, not much of a standard anyway. If you need security, .NET is the better concept.

beege31337
06-05-2003, 07:20 AM
I think C# .NET would be the best bet for making games now

Perspective
06-05-2003, 03:54 PM
Originally posted by nvoigt
Then you might want to have a look at .NET. Java's security is outdated. It's all or nothing, not much of a standard anyway. If you need security, .NET is the better concept.

i havent looked into .NET yet. Although i fail to see how java's security is outdated. to this day there is still no official report of anyone breaking java's internal security (ex. writing an applet virus). i will try to dig up the link that supports this....

*note i am not trying to say java is more secure than .NET as i dont really know anything about the .NET architecture.

Brian
06-05-2003, 05:39 PM
Originally posted by Perspective
(ex. writing an applet virus)

woah, that would be soo cool.

Xei
06-05-2003, 10:06 PM
C++ & C are good for games. I hear that C# has garbage collection and a whole bunch of 'code behind the scenes' that wastes speed for stability. It makes much more realistic sense to do it with C++ in that case, even though processors are quite fast and could handle a C# game there is no reason for wasting processing time.

nvoigt
06-06-2003, 12:07 AM
there is no reason for wasting processing time.


On the other hand, if you aren't for the next Half Life III engine and can spare processor time, there is no reason wasting development time instead. It all comes down to which job you want to do. Action games and professional games require C++. A game that runs fine and requires a hobbyist to complete it in a reasonable amount of time can be done in C# as well if not even better.



Although i fail to see how java's security is outdated. to this day there is still no official report of anyone breaking java's internal security


The security itself is fine. It's the concept that is outdated. Java is based on either having a program that may run any instruction as soon as the user starts it or applets that may do virtually nothing. No matter how much the user and the developer trust each other, an applet will never be able to access the printer and a program will never be restricted to only use the printer. With the .NET concept, you can give permission sets/groups to different groups of programs, by default based on their origin. For example, you can allow all internet programs to do graphics and nothing more ( applet ), allow programs from your colleagues file share to access the printer and your D:\Jobs\ directory and your own programs to do anything.