Skip to main content
GameDev.net gamedev.net
🔒 Locked

C#

Started by ChocaPaluza123 Jul 24, 2001 at 11:12 AM 16 replies 750+ views
Original Post
ChocaPaluza123
ChocaPaluza123
I was watching the .NET show about C# and I thought it was really cool. I was wondering if you guys know if it''s slower, cause I don''t want it to be really slow. So what I was wondering is, is C# suitable for games?
C++
merlin9x9
merlin9x9
Some people argue that Visual Basic is suitable for games.

C# is pretty fast, but you mustn''t forget all of the built-in features it has that carries overhead. For example, garbage collection and array boundary checking. You can disable those features, and for extra speed you can put code in "unsafe" areas. So, by the time you get C# as fast as C or C++ by disabling the safety features, you might as well use C or C++ for real.

The biggest worry, actually, is C#''s use of the CLR. I''m not sure if the C# compiler will compile to truly native code. Maybe it does...but if it doesn''t, you''re not getting much faster than Java.
noparity
noparity
C# and VB7 do not support compiling to native code.
Epolevne
Epolevne
The CLR compiles the IL code to native in memory (you can have it do it either by function, all at run-time, or at compile time). C# beta 2 is faster than VB6 SP5...and that''s with Beta code, debug info and all. If DX comes out with a .NET version (instead of just wrapping the COM version in .NET functions) it''ll increase the speed a lot since it won''t have to go through the COM Interop layer. .NET comes with some DirectX samples for you to get your feet wet.

If you know C++ (or VB)...then learning C# is a breeze. There are some good books out that are like "C# for Programmers" that''ll walk you through the major changes.


Epolevne
ChocaPaluza123
ChocaPaluza123
I think I like C#. C++ is way too strange. Plus, The beta for VS.NET is awesome! I think I can sacrifice a little speed for a better language. Even if I do need speed, I''ll just do a few graphics routines in Assembly or something. What do you guys think of C#?
C++
merlin9x9
merlin9x9
Now now now. Let''s not call one language "better" than another; nothing is better than anything else in any absolute sense.
ChocaPaluza123
ChocaPaluza123
Sorry, I must have said that wrong. What I meant was that I could sacrifice some speed for a language better suited for me.
C++
Alamar
Alamar
hehhee...use C# or any .net product, then through some asm in it...heh...no, really, that''s not defeating the purpose of the .net concept... : )

G''luck,
-Alamar
bobatefrei
bobatefrei
Microsoft said: <C++ applications often take longer to develop. >>

- it is true, but only because VBA porgrammers must use a lot of DLLs (written in C++) who make all for us.

Microsoft said: << (...) There are more subtle features that make C# a great Internet programming tool>>

For the web, you have PHP, java...

Microsoft said: <>

Sure, for Microsoft programmers who never release memory. (Just take a look at Crimson Skies).

Microsoft said: <>

Only bad programmers must often update (patche) their code. For example, it takes 8 versions of DirectX to have the same OpenGL level.


Dean Harding
Dean Harding
quote:
Original post by bobatefrei
Microsoft said: "Compared with a language such as Microsoft® Visual Basic®, equivalent C and C++ applications often take longer to develop."

- it is true, but only because VBA porgrammers must use a lot of DLLs (written in C++) who make all for us.



So you''re saying C/C++ people should not have the same benefits of libraries to make life easier for us?

quote:

Microsoft said: "(...) There are more subtle features that make C# a great Internet programming tool"

For the web, you have PHP, java...



PHP and ASP and JSP and all those other scripting languages are really very badly designed. They were written by programmers, for programmers. The internet is supposed to be a place where anyone can make a name for him/herself. Why should they have to learn to program as well? If you''ve ever seen ASP+ in action, you''ll appreciate what I''m talking about. It''s like moving from COBOL programming to C++.

quote:

Microsoft said: "Garbage collection relieves the programmer of the burden of manual memory management."

Sure, for Microsoft programmers who never release memory. (Just take a look at Crimson Skies).



Now that''s just silly. Garbage Collection is not to allow people to write sloppy code. You''ve got to structure your code just as well to best take advantage of it. But it does make your life a hell of a lot easier.

quote:

Microsoft said: "Updating software components is an error-prone task. Revisions made to the code can unintentionally change the semantics of an existing program."

Only bad programmers must often update (patche) their code. For example, it takes 8 versions of DirectX to have the same OpenGL level.



No. You should be constantly trying to update your code and make it better. Name me one company that releases version 1.0 of their application and then stops make more versions.



War Worlds - A 3D Real-Time Strategy game in development.
thuned
thuned
i looked at it a bit and it looked almost exactly like java.
life is unfair, take advantage of it.UNMB2 - if the link doesn't work, try clicking it :)
gph-gw
gph-gw
quote:
Original post by thuned
i looked at it a bit and it looked almost exactly like java.


I agree, that''s probably why they ditched Java - so C# can take over.

I''m still using vanilla C (except where I''m forced to use c++) and assembly. I see no reason for me to upgrade to a slower, larger, buggier, and if MS repeats history, horribly insecure language.

If you want to use C#, that''s okay by me. But no one''s going to force me to use it.

Oh, if you write C# you''re going to have quite a job on your hands if you want to port to Mac/Linux/etc.
Martee
Martee
quote:
Original post by gph-gw
Oh, if you write C# you're going to have quite a job on your hands if you want to port to Mac/Linux/etc.


Uh, no ...
There are a number of projects to bring .NET tech to other operating systems. Here's one. Also, MS will apparently release a reference implementation for FreeBSD. Remember, C# is a standard (UNLIKE Java). Anybody can use it.


~~~~~~~~~~
Martee

Edited by - Martee on July 27, 2001 8:54:39 PM
ReactOS - an Open-source operating system compatible with Windows NT apps and drivers
Gilzu
Gilzu
Actually, the reason why they abandoned Java,
is due to the fact that it blongs to Sun microsystems.
i remember a lawsuit about it...

now, lets be clear, treu, there arent any good languages
and bad languages. i rather think of it as good spots
and bad spots.

making an extreme bad spot for asm, for example,
that you have to write LOTS of code.
good spots are speed, and final code size.

Gil
[email=gil@gilzu.com]Gil Zussman[/email]Check out Goose Chase, Coming this fall!http://www.gilzu.com
Qoy
Qoy
I think it''s important to note that different languages are designed with different purposes in mind.

It seems to me (and I could be wrong) that C# was designed to fill the same purpose as Java, which is to make it easy to create portable (possibly), relatively well performing applications for networking and business logic. Visual Basic was designed with a sort of similar purpose in mind, but as a language it''s not as powerful as C# or Java (in my opinion, and that of many others).

C was designed to give the programmer a lot of control, C++ was designed to be an OOP language that gives the programmer a lot of control. Because they give a lot of control, they also have minimal overhead, but still offer relatively portable code. This is why they are used for games: because you can with a bit of effort compile the code for different platforms, but you also have good performance.

VB and C# and Java are *suitable* for developing certain games.. but they don''t and won''t have the performance advantages that C/C++ will, simply because they were designed with specific purposes in mind, and some of those purposes called for language features that create a certain amount of overhead which might make the code too slow for really speed critical stuff.

That''s not to say they''re *bad* languages, just languages for different purposes.

The point is, it''s not so clear cut whether and why certain languages are "fit" for certain tasks or not.
gph-gw
gph-gw
quote:
Original post by Gilzu
Actually, the reason why they abandoned Java,
is due to the fact that it blongs to Sun microsystems.
i remember a lawsuit about it...

now, lets be clear, treu, there arent any good languages
and bad languages. i rather think of it as good spots
and bad spots.

making an extreme bad spot for asm, for example,
that you have to write LOTS of code.
good spots are speed, and final code size.

Gil


I was thinking it was a ''kill two birds with one stone'' deal.

I wasn''t aware that .net was being ported to other os''s.. especially linux. I have a hard time imagining that anything MS would be welcomed into linux since lots of linux users have that hate-MS thing going on...
DarkOps
DarkOps
Well see the thing is , .NET is just like an implementation of an idea ( Someone correct me if im wrong. ). It''s a SOAP implementation. So it''s not exactly all microsoft. I wish someone would implement fully portable COM structure to linux and other platforms. I believe COM and DCOM are very powerful ideas, and could be used on more platforms instead of windows. Now before every is like oh my god why would you want COM on other platforms, well it would save me ALOT of effort at my work place. We are using an implementation of CORBA which sucks, and there aren''t that many out there that work/complete. Now because CORBA is an open-standard there are like ten million implementations out there and getting them all to work together freakin SUCKS! Now if we had been able to use COM ( more particulary DCOM ) on all our platforms I wouldnt spend half my time fixing the 3rd party library and we would have a set standard in communication. So a set standard is better sometimes.. People imagine if DirectX and OpenGl weren''t the only ways to do 3d programming.. hehe, Try answering questions about 20 different graphics libraries.. The main topics now are only for OpenGL and DirectX, which makes things a little easier. So before you bash microsoft (not saying you did, but just before you do ), think about the actual value they could bring to things. All the new stuff they create seems to do pretty well. If the DirectX API was ported to Linux , Mac and other flavor of UNIX how much longer do you think OpenGL would last? The main reason to use OpenGL is because it''s portable, what if you took that out of the equation by making DX portable... hehe I would love to see what would happen, I think some people would riot. Later peeps..

p.s. BTW any ignorant comments in this message are not my fault,
I''ve only had half a mt. dew this morning.




------
Andrew T. Finnell
Software Engineer
e-Security Inc.
------Andrew T. FinnellSoftware Engineere-Security Inc.
Epolevne
Epolevne
.NET is effectively COM 2.0

It takes all the advantages that COM provides and increases upon them, while reducing the disadvantages (platform dependance, language dependance, dll hell, etc).

Any true .NET language is portable, not just C#. So you have language independance AND platform independance...since all languages have to "compile" down to MSIL. So Python.NET, Perl.NET, Cobol.NET, VB.NET, C#.NET, JScript.NET all translate down to MSIL....and then the MSIL is compiled at runtime.


Epolevne

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.