The .net framework

Started by
3 comments, last by Drakkcon 20 years ago
I'm scared! First, the only windows programming I know is the API. I like the API, it's simple and gives the programmer a lot of power. Then there was the mfc. Apparently EVERYONE embraces mfc, and I can't figure out why! It's a lot more complicated, and any game program made in mfc could have been made in the api too (dang app creators! ). And now .net. What am I supposed to do? I see .net tutorials everywhere that use all 4 main .net languages! Am I supposed to learn 4 different languages!? The .net runtime uses the same method for all 4 languages, resulting in a performance hit in C++, and a boost in VB! This is great for VB developers, but what am I supposed to do? I tried to jump on the bandwagon and learn C#, (I'm 14, so my budget is limited) I was forced to donwload #develop (I couldn't get microsoft's compiler to work). I have never seen a more pathetic IDE in my life. It crashes within 5 minutes of use, it's memory requirements are obscene, and it's interface, while similar to VS.net, is atrocious. I WOULD use it except it keeps crashing from some memory leak Is the world going on without me? Should I LEARN all 4 .net languages (does anyone use J#?) ? Tell me if my fears are unwarrrented, and I should keep with my traditional C++, or whether I should save up for 5 months and pay for VS.net . Is everyone else switching? The true general first seeks victory, then seeks battle - Sun Tzu [edited by - Drakkcon on April 16, 2004 11:55:12 AM]
Advertisement
quote:Original post by Drakkcon
I''m scared! First, the only windows programming I know is the API. I like the API, it''s simple and gives the programmer a lot of power. Then there was the mfc. Apparently EVERYONE embraces mfc, and I can''t figure out why!

Not everyone. Actually probably not many.

quote:Original post by Drakkcon
It''s a lot more complicated, and any game program made in mfc could have been made in the api too (dang app creators! ). And now .net. What am I supposed to do?

Why do you think you need to do anything? If you''re satisfied with how you''re doing things why change?
quote:Original post by Drakkcon I see .net tutorials everywhere that use all 4 main .net languages! Am I supposed to learn 4 different languages!?

Nope, learn as many or as few as you want. if you don''t want to learn any of them, don''t.

quote:Original post by Drakkcon
The .net runtime uses the same method for all 4 languages, resulting in a performance hit in C++,

Only if you''re doing managed work, unmanaged runs as fast as you would expect it to.

quote:Original post by Drakkcon ...but what am I supposed to do? I tried to jump on the bandwagon and learn C#, (I''m 14, so my budget is limited) I was forced to donwload #develop (I couldn''t get microsoft''s compiler to work). I have never seen a more pathetic IDE in my life. It crashes within 5 minutes of use, it''s memory requirements are obscene, and it''s interface, while similar to VS.net, is atrocious. I WOULD use it except it keeps crashing from some memory leak Is the world going on without me? Should I LEARN all 4 .net languages (does anyone use J#?) ? Tell me if my fears are unwarrrented, and I should keep with my traditional C++, or whether I should save up for 5 months and pay for VS.net . Is everyone else switching?

No, everyone else is not switching. Nearly all game developers that I know of are still using straight C++. I''ve heard of some experimenting with C#, though.

If you don''t want to switch, don''t. No one is forcing you to.

Former Microsoft XNA and Xbox MVP | Check out my blog for random ramblings on game development

yes, but it seems that support is being lost to these older platforms. I MAY switch if managed DirectX is a WHOLE lot easier than unmanaged, but I''d still need convincing. Thanks for the assurance Machaira.
MFC and C++ are a lot older and more established than .Net and the languages that support it. C/C++ is also the established foundation on which 99% of commercial are developed. C++ programs generally have less overhead than programs written with the .Net framework, but depending on what you''re doing, the performance hit isn''t significant. You''ll see around the forums various arguments going on about C# vs C++ and all of them seem to cite different performance gaps. I think a lot of the gaps people have been citing are dependent upon those people''s greater understanding of one framework/platform and lesser understanding of the other. My understanding is that programs written with .Net can be very close to just as fast as a C++ program. Just remember that whenever any technology comes onto the scene, there will be screams of protest and people who hate change, but eventually it''ll be embraced as it proves itself.

There are a *lot* of zealots who will preach that C++ and even MFC is better than .Net because that''s what they are used to and is what they know well. Very few of them will have extensive useful experience in both areas, so keep that in mind as you read the arguments for and against both C++ and C#. There will also be some Java zealots or people who use Java as a comparison. Java has the advantage of being more established than .Net and like C++/MFC, has a much greater online knowledge base and developer community than .Net. My understanding is that Java has its weaknesses. Compiled .Net code is apparently faster than Java software. The .Net framework was written partially to address many of the weaknesses in Java as well, I think.

As far as your choice of language, it actually really doesn''t matter too much. I think if you''re starting out, C# is the best choice because it is the only language that was actually written purely for .Net, whereas the others have been transitioned from older roots and thus have their own strengths and weaknesses as far as .Net is concerned. Don''t quote me on this, but I think that C# is *very slightly* faster than the other .Net languages, but not enough to worry about.

When it comes to .Net, your choice of language should be dictated by your syntax preference in most cases. I suspect that the poularity of VB.Net stems from the large number of VB6 programmers who have transitioned to .Net and just stuck with what they''ve been used to. I personally find VB a little too verbose and "unclean-looking" for my liking, but that''s just me.

Some people will complain about the lack of .Net info and code on the net for writing games. The latest version of the DirectX SDK comes with libraries written specifically for .Net, and whilst the documentation is still sketchy, tutorials and info on how to use it properly are popping up all over the internet. You have to remember also that the reason for the lack of .Net info as far as coding games is concerned, is that it''s still quite new, comparitively, and this will change with time as more developers decide to adopt it for their coding needs.

There is a port of the OGRE graphics engine (well know open source 3d engine) for C# and .Net and apparently it runs just as fast as the C++ version. My project is using a 2D graphics engine written in C# also, called Ovorp, and it is blindingly fast and if you didn''t know any better, you''d assume it''d been written with C++.

Finally, I''d like to put in a good word, at least for C#, as I''ve found it an absolute pleasure to program with. So much of the work you''d have to do yourself in C++ is already handled for you in a very clean and elegant manner, and whipping applications quickly is a breeze.

Regarding your problems with Visual Studio, I''ve installed it on my own computer several times, plus on several other computers and it''s worked great. If it crashes or fails on your computer I''d suggest it might be a sign that it''s time for you to reinstall windows. One of the charms of Windows is that it eventually it dies and needs to be reinstalled, but such is life for those of us who choose to live in a Windows world, I guess.

Snowman | Ardaxus | Nathan
---------------------------------
Tangle - Persistent World Toolkit
tangle.netlab.com.au
Snowman | Ardaxus | Nathan
Umm, actually I had problems with SharpDevelop, I like visual studio. Anyway, thanks for the post, I'll take it easy, maybe get a book on .net, and buy C#.net. Thanks.

[edited by - Drakkcon on April 16, 2004 12:47:30 PM]

This topic is closed to new replies.

Advertisement