954,506 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

What Language(s) SHould I Learn

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

Hockeyfreak889
Light Poster
30 posts since Feb 2008
Reputation Points: 10
Solved Threads: 0
 

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.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

> 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/

vijayan121
Posting Virtuoso
1,606 posts since Dec 2006
Reputation Points: 1,159
Solved Threads: 287
 

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?

sarehu
Posting Whiz in Training
289 posts since Oct 2007
Reputation Points: 98
Solved Threads: 22
 

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.

Duoas
Postaholic
2,043 posts since Oct 2007
Reputation Points: 1,140
Solved Threads: 229
 

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.

codeaa
Junior Poster in Training
98 posts since Feb 2008
Reputation Points: 13
Solved Threads: 12
 

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.

codeaa
Junior Poster in Training
98 posts since Feb 2008
Reputation Points: 13
Solved Threads: 12
 

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?

Duoas
Postaholic
2,043 posts since Oct 2007
Reputation Points: 1,140
Solved Threads: 229
 

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

sarehu
Posting Whiz in Training
289 posts since Oct 2007
Reputation Points: 98
Solved Threads: 22
 

(Double posted.)

sarehu
Posting Whiz in Training
289 posts since Oct 2007
Reputation Points: 98
Solved Threads: 22
 

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.

Duoas
Postaholic
2,043 posts since Oct 2007
Reputation Points: 1,140
Solved Threads: 229
 

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

Hockeyfreak889
Light Poster
30 posts since Feb 2008
Reputation Points: 10
Solved Threads: 0
 

double post

Hockeyfreak889
Light Poster
30 posts since Feb 2008
Reputation Points: 10
Solved Threads: 0
 

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++.

Joatmon
Junior Poster in Training
62 posts since Mar 2008
Reputation Points: 10
Solved Threads: 7
 

> 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.

vishesh
Nearly a Posting Virtuoso
1,381 posts since Oct 2006
Reputation Points: 85
Solved Threads: 42
 

> 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.

vishesh
Nearly a Posting Virtuoso
1,381 posts since Oct 2006
Reputation Points: 85
Solved Threads: 42
 

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:)

Hockeyfreak889
Light Poster
30 posts since Feb 2008
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You