Sign in to follow this  
rt004

What language should i choose?

Recommended Posts

I want to start using programmming (i use game maker right now) I was wondering what language do you guys think is the easiest to start with, and how much the basic version would be. Also, does anyone know where I can find some GML libraries (GML is the language exclusively for game maker)

Share this post


Link to post
Share on other sites
I recommend C++ to a beginner for the following reasons:

Excellent standard library, superior to the C standard library
- a good standard library means that you don't have to spend all of your time reinventing the wheel.

Compile-time typesafety, unlike some languages such as Python.
- typesafety catches far more bugs than people admit to. What it means is that the compiler goes through your program and checks to make sure that you are doing certain things right. I would rather find out about a bug when I compile the program and the code is fresh in my mind, than sometime later, like when I'm in the middle of a game and it suddenly crashes and I have no idea what the cause might be.

Industry standard, you will want to learn it eventually
Lots of other people use it, so we can offer you help

Most C++ books aren't that great, so I recommend "Accelerated C++"

Share this post


Link to post
Share on other sites
Quote:
Original post by Glak
Excellent standard library, superior to the C standard library
- a good standard library means that you don't have to spend all of your time reinventing the wheel.

The C++ Standard Library is superior to the C Standard Library (which it subsumes), but that's not saying much. At all.

Quote:
Compile-time typesafety, unlike some languages such as Python.
- typesafety catches far more bugs than people admit to. What it means is that the compiler goes through your program and checks to make sure that you are doing certain things right. I would rather find out about a bug when I compile the program and the code is fresh in my mind, than sometime later, like when I'm in the middle of a game and it suddenly crashes and I have no idea what the cause might be.

See Exceptions. See Invariants. See Tests.

The real problem with Python for medium- to large-scale development is the lack of robust graphical development and debugging tools, particularly for Windows. pdb is an atrocity, Winpdb has some obtuse notions as far as Windows development goes (like being fundamentally networked and requiring encryption, which can make it difficult to launch the process and attach the debugger) and Pythonwin ends up with the best debugger - but it runs the child process in the same interpreter as the environment itself, meaning that a crash in the debugee brings down the whole environment.


@rt004:
C++ is a poor learning language, but an excellent and necessary part of any serious developer's toolkit. Learn it (eventually). To start and expose yourself to the fundamental concepts of a full-fledged programming language, I actually recommend Python. It's clean, readable and promotes good habits, and there's a lot of work being done on interoperation with C++: though more of the emphasis is on extending Python programs with C++, there's been an increase in tools and libraries for embedding Python in C++ programs.

Essentially, learning and using Python for game development will end up introducing you to C++ gradually anyway, which is precisely the advancement path I recommend.

Good luck!

Share this post


Link to post
Share on other sites
Quote:
Original post by Glak

Most C++ books aren't that great, so I recommend "Accelerated C++"


________________________________________________________________________________

Hmmm, I beg to differ. For a beginner I would ABSOLUTLEY reccommend "C++ Without Fear" by Brian Overland. This book is great for beginners because it assumes that the reader has no prior knowledge in C++ or programming in general.
The book comes with a compiler and source code to all the lessons.

Plus, The author TELLS YOU how each program in the book works. That way you wont get all those nasty white hairs figuring out programming concepts.

If you want to begin learning C++, GET THIS BOOK.

Share this post


Link to post
Share on other sites
I'm with Oluseyi. C++ is essential to know... but a beginner can wait to learn it.

As a beginner, everything you'll be needing from C++ will also be in Python, without the often confusing semantics and detailed syntax.

I'm actually going to go so far as to say C++ is possibly a poor language even for professional development, but that is definately a discussion for another time. [smile]

Share this post


Link to post
Share on other sites
thanks alot. Ive been planning on using C++ as a long term goal, and it looks like the python language can help me get there. Ill have to check it out. Thx

Share this post


Link to post
Share on other sites
I think that instead of starting with C++, it would be better to start with Java, because it makes you understand OOP and it resembles C++ (since that clearly is important to you). Also Java today (1.5, Java tiger) is almost as fast as C++, it has great libraries, it has Generics (it's kind of templates), and you can start with GUIs and graphics in a easy way...

That being said, I don't know how Python is... But I like typesafe languages and explicit type declarations... Prolog hasn't got type declarations and sometimes it's quite hard to find the mistakes, so I guess that's what traumatized me.... But then again... I don't know Python, so it can be much nicer than that (or maybe it isn't...)

Share this post


Link to post
Share on other sites
I like the idea of java as a first langauge as well. You get a strong offering of OOP. Many Universities and colleges use java for their classes. It has become pretty popular among languages to teach to students. Plus, it is pretty easy to learn and c++ and c# share many things with it. But just choose the language that you think is best for you and your needs.

Share this post


Link to post
Share on other sites
i recommend C, then win32 API, then C++, then Java (from procedural to object-oriented). Eventually, you can have the world with my recommendation.

Share this post


Link to post
Share on other sites
Since basic C/C++ syntax is the same, it is a lot easier to deal with C as first, for basic games (like 3d pong and stuff).

But personaly, I think all games should be programmed in C++. So much cleaner.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this