Archived

This topic is now archived and is closed to further replies.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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#?

Share this post


Link to post
Share on other sites
Microsoft said: <>

- 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.


Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
.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

Share this post


Link to post
Share on other sites