Help with picking languages

Started by
14 comments, last by Promit 15 years, 9 months ago
Hi, I'm just starting to go after a computer science degree. At a local community college they have a nice little transfer program to a 4 year but I have to pick 3 languages. So far I am completely decided on C++. I picked up a book "Beginning C++ Through Game Programming" by Michael Dawson. Which was an amazing book. Really gave me a nice leg up when I started taking C++ classes in school. The way it broke everything down into a game design perspective made it an easy and fun read. Now I'm almost certain on having Java as my second language. Does anyone have a book to recommend? I have a small attention problem when professors try to teach me anything related to computers so I find it much more beneficial to learn on my own and just take classes to have the "formal" education required for my degree. The only bad part is the books they require me to have for class, are always horrible, cryptic, and boring. Which is why I am hoping someone can give me a recommendation and reasons why they felt the book was good. Then on to a third language. A lot of people have said C# is the next "big" thing but at the moment, I am hoping to pick something that can give me a broad sense of programming for games and/or just being able to program for a company in the silicon valley. Anyone have any opinions on this either? The way it breaks down with money and school plans. Is I need to get a Associates in Community College, then get an entry level position anywhere I can locally (which is why those three languages are important), then work and go to school part time at a 4 year, use that degree to further my career, then go after a game programming degree (one of those 2 year programs). So any help in getting me started on languages, or books is greatly appreciated. Thanks in advance, -Xekyn
Advertisement
Assembly, it will compliment your C++.

Btw, i loved "Beginning C++ Through Game Programming", its an amazing book for beginners, was my first book also. :)

Edit:
As for a place to start learning ASM, i found this on google, http://www.xs4all.nl/~smit/asm01001.htm. Its not the place i learn it (i learned it from a book called "3D Game Engine Programming"), but if that site dosnt work out, use the magic of google.

Edit: (Again :P)
Here is a list of x86 tutorials i found, http://www.programmersheaven.com/zone5/articles/article157.htm
I was actually looking at that 3D Game programming book. I saw it when I picked up C++ through game programming.

So is assembly the language for game engines?
Learning C# and Java together is a waste of time. Fundamentally they are the same language, learn just one and pick up the other on your own time. For your third, I'd suggest something with a heavy functional emphasis, most likely Lisp or OCaml if those are available to you.

Assembly is extremely important to know sooner or later -- at least for games work -- but that doesn't mean people actually write it in the real world. I don't think it's a good use of your time in school.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by Xekyn
I was actually looking at that 3D Game programming book. I saw it when I picked up C++ through game programming.

So is assembly the language for game engines?


Naw, its used in most 3D engines for mathematical calculations using C++ with inline Assembly.
Quote:Original post by GanonPhantom
Naw, its used in most 3D engines for mathematical calculations using C++ with inline Assembly.
Not anymore. Intrinsics are faster than assembly code, so that's what is typically used.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
If you're going to choose Java I think there's a nice book for you:

Head First Java

I think this might be a great book for you, since you are looking for something less boring and serious than the average CS book.
"Anyone who has never made a mistake has never tried anything new." - Albert Einstein
By learning C++ (or C# or Java) you can switch between the C like languages with ease. Learn something thats not imperative, like Haskell. Then maybe a logical language like Prolog. They are not languages that you will use in industry (well its unlikely), but they will change the way you program.
Quote:Original post by Promit
Quote:Original post by GanonPhantom
Naw, its used in most 3D engines for mathematical calculations using C++ with inline Assembly.
Not anymore. Intrinsics are faster than assembly code, so that's what is typically used.


I hear intrinsics is the new black :P
Quote:Original post by Promit
Learning C# and Java together is a waste of time. Fundamentally they are the same language, learn just one and pick up the other on your own time. For your third, I'd suggest something with a heavy functional emphasis, most likely Lisp or OCaml if those are available to you.

Assembly is extremely important to know sooner or later -- at least for games work -- but that doesn't mean people actually write it in the real world. I don't think it's a good use of your time in school.


I am just not sure why so many people say this. Yes there are similarities but you can say that about almost any language. I am well versed in C++ and C# but every time I have to Java I feel like slamming my head against the wall.

A good article about C# vs. Java.

I would suggest learning C# just because it gives you a lot of tools for rapid development.

theTroll

This topic is closed to new replies.

Advertisement