Ok so first off i dont know much about programming. I am currently in the middle of my first programming class in school and i love it. It is based around visual basic 6, however the class moves incredibly slow so i decided i want to teach myself another language. Which language should i learn if i want to end up making games? and also where can i find a site to teach myself from? Thanks for the help

VB will teach you a lot of things that are common to nearly all languages, such as data types (integers, strings etc), loops, and file systems. So pay close attention to what you are learning because they will be valuable later on. My recommendation is to begin learning c++. You can get a good list of recommended books in the Read Me threads at the top of this c++ board.

> VB will teach you a lot of things that are common to nearly all languages,
> such as data types (integers, strings etc), loops, and file systems
true.
perhaps you could learn a language which is radically different from the mainstream ones (which are all alike in many respects). you could then learn concepts and techniques which would make you a better programmer, no matter what language you eventually decide to program in.
like lisp. to get a peep at what it loks like, see
http://www.ibm.com/developerworks/java/library/j-cb02067.html
and if what you see interests you,

> where can i find a site to teach myself from?
there are very, very many. eg.
http://www.gigamonkeys.com/book/
http://mypage.iu.edu/~colallen/lp/
http://www.mars.cs.unp.ac.za/lisp/

and this is a lisp implementation which works all comon machines: http://clisp.cons.org/

I second that recommendation! Scheme is easier to learn. You could try that if you find Common Lisp to be baroque and disgusting. Also check out Factor, which is (i.m.o.) possibly a good language for having fun in.

Edit: Shouldn't this thread be moved to the software developer lounge?

Let the flame wars begin.... sigh.

It doesn't really matter what language you choose to begin. You should be aware, however, that languages like lisp and scheme are functional, which is a different paradigm than imperative languages like C++ and VB. You have to use different parts of your brain to use them. (I like scheme.)

If you want to get really deep into games, you are best sticking with C++ or C.
If you don't need to go that far down the rabbit hole, you can pick what you like. There are SDL bindings for a lot of common languages, as well as other game toolkits for the stuff you like.

You might want to raise this question in the game forum for a more considered answer.

Hope this helps.

I don't think you should be too worried about which language you learn now. If you have a true passion to be a good programmer and write games, you will learn many languages. Once you reach a certain level of knowledge and ability, learning new languages becomes much easier.

You can write games in most languages.

Having said that I would recommend you learn C++. From there, it becomes easy to go on and learn languages like Java, C#, and even a language like Python.

But to write games, obviously you have to understand a programming language, learning things like OpenGL, DirectX, etc. becomes important. You can access these libraries from various languages.

Just for the record, I have no idea why VB would be taught in an introductory class.

Something like Python would be such a better choice if you're not going with the traditional C++/Java.

Why not? VB is used all around the world for all kinds of enterprise-class applications.

Is there some concrete reason why it shouldn't be taught as an introductory language?

Because it's unnecessarily complicated to use for interesting things, and makes students think in strange, twisted ways? Because it's platform-dependent?

Look, just for the record, I hate VB. But your opinion about it is just that: opinion. People like VB because it is less complicated to dink with than, say, C++. And platform dependence is not a valid argument against using a specific language to learn programming; it is only a valid argument against using a specific language when writing cross-platform code. As for strange and twisted: the language is, and has always been, straight-forward.

There really is no "best" compiler. But when I was just beginning c++ (I actually started out with basic, then visual basic like you) I found it the easiest to compile in dev-c++. Just make sure you download the one with the mingw compiler.

http://www.bloodshed.net/dev/devcpp.html

As soon as you download and install it, all you have to do to get started is select file > new > source file. Find an example of the ubiquitous hello world program, stick it in there, save the source file, and go to execute > compile & run. Voila.

One thing you might want to take notice of since you are on windows (unless you were using visual basic on another operat.....AHAHAH jk) you should put a system("PAUSE"); in front of the line return 0; to make sure windows doesn't close the window automatically after running the code.

Good luck with c++.

> ok i think i will learn C++, what is the best compilier to use?

I say, try many compilers to make your code portable. And yes compiler must be compatible with standard ansi c++. So don't start with turbo c++ :).

As far as IDE, there are many free available like CodeBlocks, Dev C++, Visual C++ Express Edition. Use whatever you like.

> ok i think i will learn C++, what is the best compilier to use?

I say, try many compilers to make your code portable. And yes compiler must be compatible with standard ansi c++. So don't start with turbo c++ :).

As far as IDE, there are many free available like CodeBlocks, Dev C++, Visual C++ Express Edition. Use whatever you like.

There really is no "best" compiler. But when I was just beginning c++ (I actually started out with basic, then visual basic like you) I found it the easiest to compile in dev-c++. Just make sure you download the one with the mingw compiler.

http://www.bloodshed.net/dev/devcpp.html

As soon as you download and install it, all you have to do to get started is select file > new > source file. Find an example of the ubiquitous hello world program, stick it in there, save the source file, and go to execute > compile & run. Voila.

One thing you might want to take notice of since you are on windows (unless you were using visual basic on another operat.....AHAHAH jk) you should put a system("PAUSE"); in front of the line return 0; to make sure windows doesn't close the window automatically after running the code.

Good luck with c++.

Thanks, I just downloaded Dev-C++, now all theres left to do is learn:)

This article has been dead for over six months. Start a new discussion instead.