Programming Language Questions

Started by
4 comments, last by Unidentified 20 years, 1 month ago
I'm not sure if I want to learn a new language, I'm using C++ right now and I don't see much wrong with it. But I heard Java and C# are also good languages. I've only been programming in C++ for about a year(half of it was actually C, which was my first language), I want to do bigger projects(Currently Making a Small Game) soon. I read in a lot of places that C# is good for those, at least better than C++. That's not my only resaon for looking for a new language, but I might switch(soon) if that's true. Is Java the same, and is it good for making Mulitplayer Online Games(Not many people at one time)? If you don't want to read all that my questions are: Is C# better than C++ in making larger projects? Is Java better for making Small Online Games? What are some advanges of them and disadvantages(Not necessarily which one is better)? Are all language more app based or games based or both(I know it's not meant for one purpose, but easier to use on thing more than the other in a certain area, kind of the same as The last question)? [edited by - Unidentified on March 5, 2004 8:02:58 PM]
Advertisement
Let the flamewar begin!

Seriously, asking which is the "best" is a semi-futile task. You may find the .NET Framework useful for writing games, or like how C# would offer Managed DirectX, or you may not.

As far as Java is concerned, I''ve never really been hugely impressed with it, but that''s MY opinion. Some people aren''t impressed with C++.

Personally I use C++ for almost everything.
I''m not asking which is the best, if you consider the last 2 questions like that then forget them.

I''m really looking for that first few.

I want to learn it to know it, but if it''s useless I don''t want to waste my time learning it. I will still use C++ in the future, but I think it would be better if I learn other things so when I see it I can know it and if it''s better to use it over C++ for a certain task I will use it, if it''s not I will use C++. (But is there a reason to use any of those 2 over C++ for any task?)

FWIW, most large commercial game projects have been done in C++.
Honestly, there''s no one "best" language, no magical one size fit all. C/C++/Java/C#, they''re all just the means of getting to an end (a finished game). For a beginner in game programming, any of them would be fine. The really important thing is that you stick with one, be determined, and finish projects.

With that said, I''ll at least try and answer some of your questions to the best of my abilities:

1) Is C# better than C++ in making larger projects? Not necessarily. If you talk about using C# with the .NET platform, you may or may not see an increase in productivity using that instead of C++ with Win32/MFC. For writing GUI driven applications, I see the productivity increase when using C# with .NET framework. Others are quite content using plain jane C++. Thing to remember is that .NET is still primarily a Windows thing, so by using C#, you''ll find yourself targetting solely Windows platforms for the time being while independent groups work on projects such as Mono, which port the .NET framework to other OSes.

2) Is Java better for making Small Online Games? - If by "Small Online Games" you mean little arcade type one-player games on websites, then Java isn''t a bad solution. Creating an applet that implements the Runnable interface pretty much sets up what you need to create a Java applet game. But then again, I haven''t looked into how you do this with any other language, so take my word for what it''s worth.

3) What are some advantages of them and disadvantages? - In my opinion, things like AWT for Java and .NET for C# are big advantages because they provide components that can be easily added to a window with minimal effort. I prefer the RAD abilities of C# overall. For me, making GUI driven apps with C# is pretty straightforward task and easy. Disadvantages? Maybe not quite as fast as compiled C++ code, but I can sacrifice the performance for speed up in development. The advantages/disadvantages though have been discussed numerous times in these forums. Do a simple search and you''re bound to find more threads than you''d ever care to read.

4) Are all language more app based or games based or both? - Don''t think you can say a language is totally "app based" or "games based." If you mean the frameworks/APIs you use with the various languages (Win32, MFC, AWT, .NET, etc.), I''d say they''re more app based than games based. Most of the time, these use a sort of event based way of handling, such as if you click the mouse, the application receives a notification that a mouse click event occurred, then you take appropriate action. Of course, if you''re doing nothing, the application receives no events and then usually does no data processing. With games however, you''re always processing some sort of data or doing some sort of routine, so you have to set up a game loop one way or another which allow you to do game processing even if their are no events for your program to handle.
Thank you MRom for your post. By the looks of it, C# does seem that much worse than C++. I was reading a few old posts on here while looking for more info on the topic, it seems C# will be better for game development than Java, and it as more productivity than C++. I don''t plan to use it just for game development, but mostly for it.

I think I will give C# after I finish my current C++ Project(Very small project).

This topic is closed to new replies.

Advertisement