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

C#

Started by Lucas DG Aug 19, 2000 at 8:11 AM 125 replies 8.8k views
Original Post
Lucas DG
Lucas DG
I started this post to talk about C#. Over the past few weeks, I have been thinking. I started wondering things, and I want to know what you guys think. Now my personal opinion is that C# is nothing short of a watered down C++, which is a Java competetant. Whats more, I find the features quite distressing. For instance, no multiple inheritance. This is crucial. And no variable declaration is required. The whole damn langauge is full of these idiotic notions, and quite frankly it disgusts me. As Bjarne Stroustrup says, and I happen to agree with him on this one he says something like this : "Leaving features out of languages just so programmer can''t make mistakes with those features is nothing short of reckless, and dangerous". I can''t remeber exacts, but it was pretty close to that. Another issue is that with the advent of C#, will C++ become redundant, and in turn C++ Programmers, forcing them to succumb to programming in C#, Microsofts hopeful Java-Killer? I beg any C++ programmer not to learn C#!! If it takes off we will all have to learn C#, and then what will be next? No thankyou. I am quite happy with C++ and I don''t need some piss-watered down version of C++ to be forced down my throat by those darned monopoly people at Micros*ft! Who agrees with me? Who doesn''t?
Lucas::~Lucas();
OldManDave
OldManDave
Lucas: I don''t agree with what you say. It doesn''t matter what you and I (as game programmers) think. We make up only a small, insignificant portion of the whole programmers world. Business applications which are designed for .NET platform need a new language to integrate all the new technologies that are native in .NET--for example XML. In a few years down the road, there''ll be no difference between a ''program'' and a ''website''.

We can either do one of two things: (1) Either adapt and evolve, or (2) be hard-headed or whatever and live with the "old way". I''m sure people during the MS-DOS to Windows transition said "Hell no, I''m not making a program for that evil and hard-to-program Windows...", and look at them now.

What I''m trying to say is--it''s not worth fighting things that are: (1) not worth fighting (like C#), (2) a dumb battle (like saying I won''t move to C#--sooner or later, you''ll have to).

If C# is successful, then it is successful for one and only one reason--Developers like it. Developers doesn''t just mean game programmers--it means the whole world of programmers, mainly the Software engineers, DBA''s, etc.

If C# is _not_ successful, then it isn''t successful because of one and only one reason--Developers don''t like it. Not because Game programmers don''t like it, mind you.

Right now, you''re at that MS-DOS-Windows turn. Which OS is fast? Which gives me more control? These were the questions asked by game programmers in the turn of 1980-1990''s. Right now, the answer is _ridiculously_ simple, as you''d know. Don''t you think there''s a _great_ chance that C# is the same thing as Windows was back then?

C and C++ were great languages, but they''re too old to be productive any longer. In a world of faster technologies, more things that could go wrong, the last thing I want is a compiler that doesn''t do simple array bound checking.

Bottom line is--let''s all give C# a try. I''ve been learning Java (Visual J++) for the last few weeks, and I _must_ say--MFC is as muddle headed as WFC is _not_.
furby100
furby100
Can I write a C flat?

------------------------------
#pragma twice
ImmaGNUman
ImmaGNUman
Hmm, hopefully MS will be split up too fast to control computers the way they hope too and C# and .NET will go down to the depths were it came from. However I totally disagree. Game Programmers are a totally significant crowd. If all game programs just today, moved over to Linux, most other developers would have to follow, because most people at home really just want to play games, and thats where the money is, in the home computing.

-----------------------------

A wise man once said "A person with half a clue is more dangerous than a person with or without one."
-----------------------------A wise man once said "A person with half a clue is more dangerous than a person with or without one."The Micro$haft BSOD T-Shirt
OldManDave
OldManDave
ImmaGNUMan: I don''t think so. Most of the money when it comes to gaming is in Consoles. PlayStation, Nintendo 64... NOT in PC. Sure there are people who play games on PC. Home computing is NOT Gaming btw... its MS Word, TaxManager, Encarta, etc. Maybe you''d think that home computing is gaming since you''re a game programmer, but think of the big picture--game programming and the developers who make games are none but an insignificant part in it.

How many of you could have a family doing NOTHING but programming games right now?? And how many could learn Java, C++ and VB, COM/DCOM and some type of DB back-end (Oracle) and go to a job and support your family (kids, wife, parents).

My point is--Game programming is giving money to the big guys like Carmack. For average-Joe like you and me, there isn''t any market. So, you''d _have_ to learn something like what I listed above if you want to be able to live once you move out of your parents house/college. And those guys like Carmack represent not even 3% of the WHOLE crowd which uses C++/VB professionally.

And, even if ALL the game programmers DID move to Linux, Linux would _still_ be as dead as it inactive in home use as it is right now. Because Linux is too complicated for home use, it has no applications like MS Office for the average-home-computing needs (Word, Excel, Encarta, etc.). It has not even a GUI for god''s sakes.

Professional solutions providers prefer Windows/MAC/Unix right now, and they will prefer them even if all game programmers moved to BeOS or Linux. Windows is easy to use, is supported and developed a great deal, is just like English in a sense (go to almost every country and you''d be sure to find someone who speaks english). Where professional solution providers are, there is Microsoft, where Microsoft is, there is home-users.

Admit it--we''re pretty insignificant fellows when it comes to game programming field! Face it--how many of us program games on Windows? Of that, how many of us get to publish those games? And from this, how many of us succeed to make a living? And of this new field, how many of our games actually hit it big? And of this newer field, how many of our games actually "control" the market? Answer is NONE (not even Quake, QII, QIII, Final Fantasy, Diablo, Tribes, Half-Life, anything)--they had ports to other operating systems... or were just for one OS (maybe Windows, or a Console).

So, tough luck game programmers... instead of saying I won''t... how about saying I will for a change. And lets stop hating Microsoft.
- OldManDave.
Vetinari
Vetinari
Well, I have skimmed some of the documents on c# on ms''s website. It does not look too bad, which is not surprising considering some of the people they had working on it. Unfortunelty it is a lot higher on evangalistic hype than actual content.
But, oldmandave, I have to disagree with almost everything you said (except that this community is fairly insignificant).

quote:

Business applications which are designed for .NET platform need a new language to integrate all the new technologies that are native in .NET--for example XML. In a few years down the road, there''ll be no difference between a ''program'' and a ''website''.


Yes, thank you MS for taking a standard like XML and forcing us to use their technology in order to take advantage of it. As for the .NET, from what I hear is that all programs will be rented and no data will be stored locally. Is this really something that consumers are demanding? Is it something anybody wants other than big companies?

quote:

We can either do one of two things: (1) Either adapt and evolve, or (2) be hard-headed or whatever and live with the "old way". I''m sure people during the MS-DOS to Windows transition said "Hell no, I''m not making a program for that evil and hard-to-program Windows...", and look at them now.


Well, there are more reasons for resisting windows programming than you are letting onto. First of all, windows was slow and had horrible game programming support until 95/directx. That plus the fact that every windows version before 3.1 was not really a finished product.
quote:

If C# is successful, then it is successful for one and only one reason--Developers like it...If C# is _not_ successful, then it isn''t successful because of one and only one reason--Developers don''t like it.


This is very idealistic. In a perfect world, this would be true. But, most devolpers did not want to learn the fairly convoluted windows API, but were forced to by MS and the American public. Another example: Devolpers are hating the notoriasly hard to program PS2, and yet devolping for it anyways.
quote:

C and C++ were great languages, but they''re too old to be productive any longer.


So how much more productive would compiler bound checking really allow you to be? I have used Java in a work environment and really don''t find it to be more productive than c/c++. C# is still to early to speculate.
quote:

And lets stop hating Microsoft.


How about we stop blindly following them?

The bottom line is this. I didn''t see any particular demand for a new programming language from either devolpers or end users. I don''t see any demand for the framework that .NET will bring us from either group. In fact, .NET scares the living hell out of me and I will resist it as long as I can. I pray it will never come into fruitition.

Mike
"Unintentional death of one civilian by the US is a tragedy; intentional slaughter of a million by Saddam - a statistic." - Unknown
vbisme
vbisme
:-0 wow, nice arguments here, or should i say parameters?

I''d say, learn everything you can for knowledge''s sake. Not mean spending your "valuable" time learning it when you have other important things to do. Who knows, everything might serves a purpose someway or another. If it doesn''t help you, oh well.
Muzzafarath
Muzzafarath
quote:

And, even if ALL the game programmers DID move to Linux, Linux would _still_ be as dead as it inactive in home use as it is right now. Because Linux is too complicated for home use, it has no applications like MS Office for the average-home-computing needs (Word, Excel, Encarta, etc.).



There _are_ a couple of (free) office suites for Linux: StarOffice, KOffice (I don''t think that''s finished though), and then there are standalone apps for wordprocessing and spreadsheats like Wordperfect and Gnumeric. There aren''t that many commerical apps though, but it''s just a matter of time. If you _must_ run Windows apps under Linux, then why not use an emulator like Wine (but then you might as well use Windows)?

quote:

It has not even a GUI for god''s sakes.



Have you ever used Linux? It DOES have a GUI! Ever heard of something called X Windows? Just because it''s not "built in to the OS" (like in Windows) doesn''t mean it''s not there.

With more user-friendly dists coming out (SuSE, Caldera, Mandrake, etc), I don''t think anyone can accuse Linux of being too complicated to set up and use anymore (back in the day Linux must''ve been hell to set up, but nowadays it isn''t). I have only tried SuSE yet and it was just as easy to set up as Windows, and then there are desktop environments like GNOME and KDE that are just as easy to use as Windows'', but more configurable.

Linux is very different from Windows and many people mistake that for being hard to use, but it really isn''t. When you started learning Windows, didn''t you think it was hard? I sure did, and everything''s hard at first (Windows and Linux too). Once you get the hang of the way Linux handles removeable media (floppies and cd-roms) and how its directory structure is, then everything''s easy

quote:

Professional solutions providers prefer Windows/MAC/Unix right now, and they will prefer them even if all game programmers moved to BeOS or Linux.



You are aware that Linux is a Unix based OS aren''t you? When you say that they prefer Windows/MAC/Unix that includes OSes like Linux.
I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?" - Larry Wall
ImmaGNUman
ImmaGNUman
I seriously doubt most home users really want to use Office at home too, and if they do, KOffice, StarOffice are good. The only real advantage Windows has over Linux is developers, ESPECIALLY game developers. More games = more kids that use Linux = people migrate OSes.

And as Muzza asked, WhereTF are you getting this info? Linux has multiple GUIs. The GUIs are also free and come with excelent documentation (although how many people really read anyway...) and source.


The fact that an OS like NT has the GUI embeded in the kernel actually makes NT less stable, where-as X-Windows is ontop of the kernel.

-----------------------------

A wise man once said "A person with half a clue is more dangerous than a person with or without one."
-----------------------------A wise man once said "A person with half a clue is more dangerous than a person with or without one."The Micro$haft BSOD T-Shirt
Garr
Garr
WELL IF IT AINT BROKE...
Lucasdg
Lucasdg
quote:
C and C++ were great languages, but they''re too old to be productive any longer.
---
What are you talking about? You mean to say Windows should have been made using something else? C and C++ are probably the two most single popular and successful languages ever! And whats more, the languages are fast, efficient, and flexible. As someone said before, if it ain''t broken...

Plus, think about Sun, Mac, and the Linux\UNIX community! C# as I see it is a privatization of what _should_ be a "global language", one that everyone can use.
Linux has heaps of GUIs! They''re all free, too. Linux is really growing, and anyone who ignores it is a fool. GNOME, KDE, and Sawmill to name a few GUIs, and StarOffice (on Windows too, you don''t see anyone else guys blocking of THEIR software to other OSes!!), and KOffice are both good business softwares.
BTW, Linux distributions such a Mandrake, Red-Hat, SuSE to name few come with GUI(s) and are not hard to set up. Different yes, but not hard if you take a bit of time. You took time and effort to learn Windows, didn''t you?

Whats more, developers aren''t the only people in the industry who have power over languages. The rich people, Microsoft, the critics(who are not all developers), and what Microsoft may tell us about the language that isn''t 100% true.

Someone mentioned smoother integration with things like XML, and other webby stuff. A whole new language just for this? Somehow I think there is an alteria motive for Microsofts release of the language. When DirectX came out, they didn''t invent VisualX++ or DX#, they just made an API for it. C# I think is concocted to do these things (from Microsofts point of view):

-Kill or at least wound the useage of Java by developers. Microsoft seem to market C# as a simpler C++, more web integrated web language(sound familiar???)

-Make XML more compatible so it can be used more. Microsoft stresses this extensively

-Make the idea of using Windows a hell of a lot more appealing if you want to use the web and XML. This will force some UNIX\Solaris developers to use Windows.

-Make Microsoft the owner of the current (and hopefully successful) language that everyone uses so they can gain an even greater monopoly

-Slowly phase out C++ and any other language, because Microsoft dislikes the fact that they don''t own it.

-probably many more reasons that are unforseeable at this stage but will no doubt eventually come out and there will be a huge lawsuit between whoever and whoever.

Who said C# isn''t a rival of C++? Microsoft intends to leave VC++ out of their "new age visual studio" or some crap. This new Visual Studio is full of web XML and C# stuff....
-=[ Lucas ]=-
vbisme
vbisme
I''d say C# is just Java with a different name. Geez it would suck if ms stop developing stuffs for C/C++
ImmaGNUman
ImmaGNUman
Um, If MS leaves out Visual C Borland is gonna make lots of money.

-----------------------------

A wise man once said "A person with half a clue is more dangerous than a person with or without one."
-----------------------------A wise man once said "A person with half a clue is more dangerous than a person with or without one."The Micro$haft BSOD T-Shirt
Vlion
Vlion
whatsyourname that did that last post, youre right !
Now, i havnt looked at C# at all, BUT what ive heard of it is that it is a WEB lang mostly. I have used both C and C++ and they are both good languages.I hear that Pascal/Delphi are also good langs.
Now, lets think here...
Whatever works the best will eventually win out.
Right ?
Say C# works great for web apps like e-carts and stuff like that, ok ? So the webbies use that mostly.
Fine by me.
Say C++ works best for down-to-the bone programming like gaming and OSes. So M$, the Linux people, and the game developers use C++.
Kewlness.
Say Delphi and VB work great for applications.
So the application programmers use those langs.
Neato.
Folks, the point I
m trying to make is that what works best, people will use.
Theres piles of langs out there, but the easiest and best documented are what people use.Well...hold on, BASIC`s a pain.
Best documented and featureful are what people like.
Yes, I said BASIC. Too wordy.
Of course, I really dont see whats in COBOL or FORTRAN tho...they are terrible.
COBOL, if im not mistaken, had you go
"6 multiplied by 8" instead of
6*8
But I digress.
I think you have my point ?
~V''lion






I came, I saw, I got programmers block.
~V''lion
~V'lionBugle4d
MuteAngel
MuteAngel
I haven''t read the c# docs yet and I don''t plan on it unless I really need to learn yet another language.

I started with pascal, moved to C, then learned Delphi and C++. Now I''m sticking to C++ until I can safely say I''m easy with it .

However, it doesn''t mean I''ll spit on c#. While I certainly am not a big MS supported, I believe that C# will probably have at least one interesting feature (or what''s the point?), be it easy integration of XML, WYSIWYG development, whatever.

I don''t think it will be a concurrent to Java, at least not if it produces bytecode like Java, because I doubt that MS will make a c# virtual machine to run c# on ALL OSes out there. Will Sun support a concurrent to Java? Well I don''t know, but I doubt it.

And if it can create executable files for multiple OSes, then great, a faster Java, what''s wrong with that?

To reply to the anon post, I''d say it isn''t easier to make a word processor like MS word than to make a realtime 3d renderer. Game programming isn''t rocket science. It''s hard to make anything as soon as you want a really performant application.

My 0.02 $
Belandrew
Belandrew
I have no doubt that Microsoft is trying to replace Java with this. Why? Because they have the same basic purposes and features - rapid development of GUIs, portability to any system, no multiple inheritence, garbage collection, basic syntax of C++, integrated development of internet software, etc.
You should also note that Microsoft has dropped VisualJ++ and
replaced it with VisualC# in DevStudio 7. You can find various articles on that around the net, but I''m too lazy too find them for you (and I''ve already read them). It''s quite obvious that they intend to replace Java with C#. I''m not worried that it''ll happen, though, as many Java developers aren''t even using a Microsoft OS
As for replacing C++, C# isn''t going to offer things that benefit most C++ developers, especially in games. C# will likely run a fair amount slower (thanks to garbage collection among other things) and be less flexible. Also, VisualC++ is still part of DevStudio 7. So C++ isn''t going anywhere, for the time being.
I imagine it will simply become another option for some people, but I don''t expect it to become widely adopted.
To recap, C# is Microsoft''s attempt at replacing Java, not C++.
Muzzafarath
Muzzafarath
quote:

GNOME, KDE, and Sawmill to name a few GUIs, and StarOffice (on Windows too, you don''t see anyone else guys blocking of THEIR software to other OSes!!), and KOffice are both good business softwares.



Correction: it''s Sawfish now
I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?" - Larry Wall
OldManDave
OldManDave
Guys guys... let''s stop this argument right now. Tell me when you see Linux thriving (in HOME & GENERAL OFFICE use) as Windows is right now...

I can''t believe some of you are so closed-minded. No matter _what_ you say, UNLESS Linux is an OS with a standard GUI (instead of shit loads of GUIs), and UNLESS it has one software company that has a huge control over it, it WON''T succeed. Maybe you''ll like it because you''re a MS-hater. But, an average-office/home-computing-Joe will NOT unless it has the basics.

Where the F*CK is the integrity of the operating system when who ever the HELL could add his/her own shit to the operating system (and I know Linux is open source).

And some GENIUS raised the issue of Unix and Linux being closely related. I know they are, but Unix is as popular with developers because it is (1) an OS that''s like Windows 2K in that it can act as a server OS, (2) "tradition" like C has been the tradition in programming languages.

No matter what you say... Linux might be #1 on your list, but it sure ain''t on home-user''s list! It will never be like that unless Linux has cleaned up a little.

And, some of you need to get it INTO your head that I''m NOT a Linux hater--I''m saying what''s true.

So don''t annoy me...
- OldManDave.
PsYcHoPrOg
PsYcHoPrOg
I kind of agree with you. Leaving features out of a language just to avoid mistakes is risky and useless. However, I''m still going to learn the language. I always try my best to learn the newest languages because those are usually the ones that prevail in the business world. Don''t get me wrong. I think that C++ will probably stay and C# will go down and fail if what you say is true.

But, I''m not a professional programmer (although I plan to have that happen eventually). So my opinion shouldn''t be taken too seriously. But that''s what I think.

"Remember, I'm the monkey, and you're the cheese grater. So no messing around."
-Grand Theft Auto, London

"It's not whether I win or lose, as long as I piss you off"
-Morrigan, Super Puzzle Fighter II Turbo
D:
ImmaGNUman
ImmaGNUman
You have no right to an opinion on Linux OldManDave, not at least until you use it. First you say ''it doesn''t even have a GUI!; now you are saying there are too many? Give me a break, configurability is better than blindly following one set way, although standards are also very good, choices are always better.

As for Linux can be changed by anybody argument. This argument has actually appeared on Slashdot. In the end, that ability is ultimatley why Linux is awesome, and C is the most used programming langauge on Linux. BTW, Unix wasn''t programmed in C originally, it was translated to C after K&R made it. Linux is also one of the most popular OSes on the server market, for usability and power. WinNT servers just can''t hold up the way *nix servers can.

Hey wasn''t this an argument about C# anyway? I say, any language that is 100% system specific is garbage (with the exception of asm and maybe GUI builders).

-----------------------------

A wise man once said "A person with half a clue is more dangerous than a person with or without one."
-----------------------------A wise man once said "A person with half a clue is more dangerous than a person with or without one."The Micro$haft BSOD T-Shirt

Topic Locked

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

Sign in to reply to this topic.