Archived

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

Stranger

Beginner Questions.

Recommended Posts

For some time now I am searching for a computer language to learn as a beginner.Until now I have found interest in the following:C,C++,C#,VB .NET. I will enumerate my questions. 1)For a beginner which language would you suggest? 2)Which has the easiest syntax and learning curve? 3)Which is the best for 3D game development,e.g.3d engines. 4)Which is the best for commercial applications that is not related with game development. 5)Does C has any future in game development and in general? 6)Do you think that I will find things very difficult if i start with C++? 7)Which language helps you get start quickly,C,C++,C# or VB .NET,write useful programs for game development and in general?I have been told that with C++ it will be at least 2 years before I will start writing any useful program. Since many 3d engines are built with C or C++ how is it possible to work with these engines if you use C# or VB .NET?

Share this post


Link to post
Share on other sites
I''m going to have to go on the assumption that all of the .NET languages use the same framework and use forms the same way, because my experience with .NET stuff is rather limited.

quote:
1)For a beginner which language would you suggest?

Really, out of those, any of them should do fine. I''d lean to VB for a beginner but that''s a highly flammable opinion that will likely be contested greatly.

quote:
2)Which has the easiest syntax and learning curve?

This one is definitely VB. Especially since the VB IDE alerts you to code mistakes every time you press Enter (It does that in VB.net, right? I know it does in VB6).

quote:
3)Which is the best for 3D game development,e.g.3d engines.

Most will say C++ and I''d generally agree but any of them can make good 3D games if used right.

quote:
4)Which is the best for commercial applications that is not related with game development.

VB because it''s so much quicker to develop any GUI stuff than C++. At least that''s the case in older versions. With .NET though, all of them are pretty much as good as each other and what''s used depends on who''s doing the programming.

quote:
5)Does C has any future in game development and in general?

Maybe on game consoles. Some places probably still use procedural C but OOP (and hence C++, VB and C#) seems much more common now.

quote:
6)Do you think that I will find things very difficult if i start with C++?

Not really. The syntax may be a bit tougher to learn than VB but you should be fine on the most part.

quote:
7)Which language helps you get start quickly,C,C++,C# or VB .NET,write useful programs for game development and in general?

VB will start you quickly in older versions but if my assumption about the framework is correct, all of them are essentially RAD (rapid application development) tools, so all of them will get you going quickly. Actually, C on its own probably won''t get you going too quickly because I don''t think it can take advantage of the .NET framework.

quote:
I have been told that with C++ it will be at least 2 years before I will start writing any useful program.

Saying you need two years to write anything useful in C++ is bunk. You need time to learn how to program but how long it takes to start churning out useful stuff depends on the person.

quote:
Since many 3d engines are built with C or C++ how is it possible to work with these engines if you use C# or VB .NET?

Generally this is accomplished by making the engines into DLLs and importing the functions into the other languages. With .NET, the way the code is compiled, it''s mixed and matched a little differently. I''m sketchy on the details of that though. Someone is likely to fill that in.

Hope that helps some.

-Auron

Share this post


Link to post
Share on other sites
Humongous Entertainment embraces Python as their new game scripting language, gaining a competitive advantage. Python offers them more flexibility and programming power than their old game scripting engine provided. [Python DevCenter]

Sorry forgot to add this

Share this post


Link to post
Share on other sites
quote:
Original post by Stranger
1)For a beginner which language would you suggest?


If you want to start with an object oriented language, learn C# or Java. Both are designed with rapid development in mind, which means the syntax is easy to learn and use. Objective-C is also a great language, but it's not useful in real world development unless you program on a Mac. Whatever you do, stay away from VB. VB is only good for beginners who want to stay beginners. VB's syntax is messy (although I haven't checked out the latest version - VB.NET). Yes, it's easy to create GUI apps with VB, but you shouldn't be writing GUI apps when you start out anyways. Stick to console apps. You gotta learn the fundamentals first.

quote:

2)Which has the easiest syntax and learning curve?


Java, with C# coming in at a close second.

quote:

3)Which is the best for 3D game development,e.g.3d engines.


C++. Probably for at least five more years, C++ will dominate game development because of its performance.

quote:

4)Which is the best for commercial applications that is not related with game development.


That's tough to say, but, in my corner of the world, there's quite a bit of work writing server side apps in Java.

quote:

5)Does C has any future in game development and in general?


Probably not. It's a great language, and much cleaner than C++, but it's not object oriented.

quote:

6)Do you think that I will find things very difficult if i start with C++?


Absolutely. C++ is gigantic, and its syntax is somewhat unintuitive. Just little things, like the syntax of declaring virtual functions, might throw you for a loop.

quote:

Since many 3d engines are built with C or C++ how is it possible to work with these engines if you use C# or VB .NET?


There are a few ways to access "native" code in .NET (C#, VB.NET, etc). You can DllImport dlls (although I don't think it's possible to import non-COM C++ dlls). Also, with COM Interop, you can use COM objects from .NET. This allows you to use 90% of the legacy Windows libraries, including OpenGL and DirectX, from .NET. Also, in the future, DirectX will be directly supported in .NET.


[edited by - poozer on September 1, 2002 9:51:02 PM]

Share this post


Link to post
Share on other sites
Anywhere from 9 months to two years of experience with C++, people can usually make simple games like tetris, just for the 9monthers it would be more time consuming and difficult, compared to the people who have been learning for 2 years, and it also depends on how much during the months or years you actually spent on programming. But it does not take two years to be able to make any programs. I myself got into programming for the sole purpose of making games, Ive been learning C++ for only 3 weeks, im using the MSVC++6 compiler, and am already making simple input/output DOS programs.

Share this post


Link to post
Share on other sites