Picking a language

Started by
12 comments, last by daviangel 16 years, 5 months ago
Firstly, I'm sorry if this topic is in the wrong forum. Please move it to the correct area if it is, thanks. I've read the various articles about choosing languages but haven't settled on one yet. I've used Gamemaker for too long now and wish to move onto something more advanced and hopefully into online-enabled games. What I'm looking into is programming 2D games; side-view, top-down and the likes. They wouldn't be basic Mario type things (well, at the start they would be). But I'm aiming to have a developed story-mode and all that good juicyness oh-so-far- away. But I don't know which language to learn. I've 'tried' to learn C++ but it all just confused me, same happened with C#. However maybe I just didn't approach it in the right way. I'm contemplating looking into VB, however reading that it isn't too good with larger programs I thought I should maybe stay away from it. What do you recommend and how should I approach that language? Are the books useful? If so, which ones should I get? Should I spend a month reading the books before touching the PC? If I have left any details out that you'd like to know please say so and I'll explain my position in more detail. Thanks.
Advertisement
VB is not really going to be any easier to learn then C#. C++ can be a bit harder because of pointers and memory management.

Learning how to program comes from practice not just from reading a book. You need to be writing simple programs as you read apply what you have learned. Programming is not a trivial thing to learn, it takes a lot of work and a lot of dedication.

With all that said I would suggest sticking with C#.

theTroll
Hi,

Though C++ may be hard,its worth the effort learning it.
You may also learn C# but i think C++ is the best.
Good luck.
P.S : You may find nice c++ tutorials on programmersheaven.com
Quote:Original post by TheTroll
With all that said I would suggest sticking with C#.


Agreed, C# as a pretty easy language, good for beginners. But, as it is a general-purpose programming language, you're not going to get anything more than console windows for some time (if you take the time to learn well).

If you really want to play with graphics quickly, you could learn a more specialized programming language such as Adobe Flash's ActionScript, which is very similar to &#106avascript. That's how I started =). Learn ActionScript well and switching to C#, python or java won't be much trouble. Then, learn one of these languages well and switching to C++ shouldn't cause too much trouble. If you only want to get a game done, then you could use a tool such as TheGamesFactory, which doesn't require any programming abilities.
Thank you for your replies. I've been looking around and will continue to do so for a couple of more days before trying to settle for one language.
One problem I've been having with C++ is not being able to find tutorials which teach you right from the basic.
As if I was actually learning a new spoken language. What 'red' is and how to say 'my name is...'
I have only found tutorials which expect you to have prior knowledge in programming.

Actionscript has caught my attention and will look into that as well.

The C languages do have my attention as they have the most documentation and are most recognised. However what do you mean by saying the C# "you're not going to get anything more than console windows for some time"?

I also found BlitzBasic. It says its good for 2D programming, does anyone know of its capabilities? Especially in ease of use and multiplayer aspects.
I know you might say that I should concentrate on learning before thinking about online multiplayer. However I don't want to spend precious time learning a language and then find out I won't be able to make my dream co-op online game and then have to learn another language. I know getting that dream game is far away, but I want it at least accessible.
C++ is a very powerful language and is industry strength - perhaps you should keep at it. When you have a good grasp of C++ you will need a library of commands for graphics, sound and so on - here's a good one:

http://www.truevision3d.com/

Some good C++ tutorials here:

http://www.learncpp.com/

In the meantime you might want to try something a bit less complicated. Have you tried Cobra? It's a Pascal-like language:

http://www.squeakyduck.co.uk/

But after trying all the 'easier' languages I keep coming back to C, and am now trying C++ - which is even better.

[Edited by - Steve Elliott on November 4, 2007 4:23:40 PM]
Quote:Original post by Iridescent
Thank you for your replies. I've been looking around and will continue to do so for a couple of more days before trying to settle for one language.


Try to avoid this mentality. Programmers don't just "settle for one language"; they're constantly learning new ones, in order to broaden their horizons and their understanding of programming. When you're just starting out, you should pick just one to help you master the basics, but once you understand the core ideas that are common to almost all languages, you'll be able to easily pick up others, as well you should. Learning different types of languages will ultimately give you more ways of solving problems.

As for the language you should start with, I'd recommend either Basic, Pascal, or Python (Python moreso than the others).
Quote:Original post by Iridescent
One problem I've been having with C++ is not being able to find tutorials which teach you right from the basic.


Check out http://www.isotton.com/devel/docs/lcpp/.

________________James
The above link seems to lead to quite a good guide for learning C++ although I wouldn't of introduced objects where it first does you only really need to know basic data types at that point.

I'd say give it a read stop before covering references and write a few programs. if you can use every thing you learn up to that point there won't be much you can't do. Write a couple of very simple programs then try to be a bit ambitious you'll probably fail to get that program to work but it'll make you appreciate the material to follow and realize why you'd even want to use pointers and classes.
No offense to anyone here, but if you look through this thread and check the post history/rating for the various posters, there's a clear trend that the people who suggest learning C++ are the ones with less actual experience.

So, those of you who recommend learning C++ over other languages, what do you base that on?
How much have you used C#? Python? Or any of the other commonly suggested starter languages?

C++ is almost the worst language you can possibly choose to begin with. (C might be worse, but other than that, I can't think of anything that comes close), and no, starting with C++ is not some kind of shortcut to gamedev-mastery, nor does it make you a better programmer.

If you do want to learn C++, this is the book I'd recommend (it's free too, woo)

But honestly? Start with Python or C# or some other language. You'll be better off.

But as said above, don't worry too much. Programmers are always learning new languages, which means that it makes no great long-term difference which language you choose to start with. You're going to learn a lot of others if you want to become a decent programmer in any case. Pick a language and learn it.

This topic is closed to new replies.

Advertisement