Giant Bomb is under new ownership. Log in now to accept new terms and conditions and transfer your account to the new owner!

A programming question

Avatar image for lightyagami245
LightYagami245

1161

Forum Posts

870

Wiki Points

0

Followers

Reviews: 5

User Lists: 10

#1  Edited By LightYagami245

I'm an aspiring game programmer and I do not know which program to study. I was about to start learning C++, but my friend, who knows a good deal about programming. He says that programmers in the gaming industry do not use the C++ language anymore(he says it's outdated) and that they mainly focus on Javascript.

My question is should I start learning Javascript, and if so, what are some good Java programs to use? Thanks in advance.

Avatar image for gabha
gabha

407

Forum Posts

7530

Wiki Points

0

Followers

Reviews: 0

User Lists: 7

#2  Edited By gabha

C++ and java aren't all that different, Java is completely object oriented though unlike c++ (because of pointers).

Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#3  Edited By Jayge_

Who the bloody fuck would bother coding a game in Javascript?

Java is good for more web-based apps, C++ gets to the nitty gritty, and C# is a fusion of both (more like a Java clone with C++ properties) that is primarily used in the XNA Game Studio.

Avatar image for ajarbuckle
ajarbuckle

178

Forum Posts

693

Wiki Points

0

Followers

Reviews: 1

User Lists: 0

#4  Edited By ajarbuckle

...if you are talking about a highschool class, all they teach in my school is C++

Avatar image for black_raven
Black_Raven

1764

Forum Posts

8

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#5  Edited By Black_Raven
gabha said:
"C++ and java aren't all that different, Java is completely object oriented though unlike c++ (because of pointers)."
  Java and C++ are very different as far as i know. Java isn't compiled into machine language the computer can run, it is compiled into byte code and a java virtual machine interprets the byte code. That's why java is used for web based apps so you don't need to compile the program if you want to run it, and its platform independent. C++ isn't like that. I'm learning Java atm and i think its a good programming language to start with. If TC is just starting programming then he has a long long way to go before hes coding games of any complexity so theres no reason to choose a programming language based on what game devs use. (which is most commonly C++).
Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#6  Edited By Jayge_

There's no disadvantage to learning the language you intend to use primarily first.

Avatar image for ltcoljaxson
ltcoljaxson

1204

Forum Posts

5859

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#7  Edited By ltcoljaxson

C++ is good to learn, but keep in mind that you must be very good in logical stuff.

I learned in Visual Basic, then went into C++... I didn't enjoy it but at least I tried.

Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#8  Edited By Jayge_

Oh god do I hate Visual Basic.

Avatar image for deactivated-5e12c8fcf3f2c
deactivated-5e12c8fcf3f2c

577

Forum Posts

93

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

learn java since its easier than c++. use jcreator le, its free.

Avatar image for serbsta
serbsta

1952

Forum Posts

-1

Wiki Points

0

Followers

Reviews: 1

User Lists: 4

#10  Edited By serbsta

Im currently doing Visual Basic, im in class now, lol, im gonna blow my head off.

Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#11  Edited By Jayge_
serbsta said:
"Im currently doing Visual Basic, im in class now, lol, im gonna blow my head off."
It takes like 70 fucking lines to blow your head off in Visual Basic.
Avatar image for xruntime
xruntime

1980

Forum Posts

521

Wiki Points

0

Followers

Reviews: 7

User Lists: 1

#12  Edited By xruntime

Dude, first I think you should learn what the languages are - Javascript and Java are unrelated.

I suggest you learn C++, it's a very useful language. If you want to go straight to program-building (because doing that in C++ will take a long time to learn) then I suggest C# or Java. But nobody codes *real* games in C# or Java (except browser based ones like Runescape).

Sorry, but Visual Basic is more or less useless.

By the way, I know several people who have been in the field and they unanimously say that you should not become a game programmer - you have strict deadlines, a lot of work, and it isn't close to what you might imagine it to be.

Avatar image for ltcoljaxson
ltcoljaxson

1204

Forum Posts

5859

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#13  Edited By ltcoljaxson

Yup, Visual Basic is useless. But it is easier than C++. It is more for work programs than for gaming. Although I did make some good games in Visual Basic. But I got so tired of For Loops, and If Statements, and Call Statements, and Case Statements... ugh I just gave up on programming.

C++ is a great programming language to learn.

Avatar image for whysoserious
WhySoSerious

646

Forum Posts

36

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#14  Edited By WhySoSerious
Jayge said:
"serbsta said:
"Im currently doing Visual Basic, im in class now, lol, im gonna blow my head off."
It takes like 70 fucking lines to blow your head off in Visual Basic."
LOL

To TC:  If you don't know any other programming languages and are new at programming, I'd start off simple and learn something like Python.  C++ is extremely confusing if you don't know anything about programming.
Avatar image for andy
andy

445

Forum Posts

298

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#15  Edited By andy

I've worked on several shipped games, so I'll provide a bit of insight based on my experiences.  If you're interested in the nitty gritty stuff -- things like physics, the 3d engine, the simulations -- 99.9999% of what you're going to need to know is C and/or C++. If you want to develop for consoles, then C/C++ are really your only options.  Some developers prefer C, some prefer C++.  C++ is slightly more complicated, but if you know C++, you'll know most of what you'll need to know for C.

Many games are moving much of the game logic (what happens when you pull a lever or push a button, what happens when you level up, etc.) to script languages.  Python (Civ 4, some of the Myst games, etc.) and LUA (World of Warcraft) are most of what you're going to find.  These languages are much easier to learn than C++, and consequently these positions are generally easier to hire for.

If you've never programmed before, I'd start out learning Python or LUA.  If you're a WoW player, start off trying to write an addon (or look at some of the ones out there).  The objective here is to learn the basics of programming that are shared across many languages (conditions, loops, variables, functions, etc.)  You'll have a much easier time getting into one of these languages than starting off in C++ in my opinion.

If you have any other questions, feel free to ask.

Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#16  Edited By Jayge_

That's quite a lot to lay on a kid just trying to start in the world :-P

Is LUA used in WoW strictly for add-ons, or is it actually the game's primary language?

Avatar image for andy
andy

445

Forum Posts

298

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#17  Edited By andy
Jayge said:
"That's quite a lot to lay on a kid just trying to start in the world :-P

Is LUA used in WoW strictly for add-ons, or is it actually the game's primary language?"
LUA is at least used for add-ons.  My guess is they also use it for game scripting (quests, encounters in the game, etc.), though I'm not 100% certain on that.  Certainly the graphics engine, network, etc. are all C/C++.
Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#18  Edited By Jayge_

Thought so. Thanks.

Avatar image for lightyagami245
LightYagami245

1161

Forum Posts

870

Wiki Points

0

Followers

Reviews: 5

User Lists: 10

#19  Edited By LightYagami245
xruntime said:
"Dude, first I think you should learn what the languages are - Javascript and Java are unrelated.

I suggest you learn C++, it's a very useful language. If you want to go straight to program-building (because doing that in C++ will take a long time to learn) then I suggest C# or Java. But nobody codes *real* games in C# or Java (except browser based ones like Runescape).

Sorry, but Visual Basic is more or less useless.

By the way, I know several people who have been in the field and they unanimously say that you should not become a game programmer - you have strict deadlines, a lot of work, and it isn't close to what you might imagine it to be."
I don't think it is fast cash and fame. I know about the deadlines, the very long hours, and strict bosses. I still want to do it anyways.

andy said:
"I've worked on several shipped games, so I'll provide a bit of insight based on my experiences.  If you're interested in the nitty gritty stuff -- things like physics, the 3d engine, the simulations -- 99.9999% of what you're going to need to know is C and/or C++. If you want to develop for consoles, then C/C++ are really your only options.  Some developers prefer C, some prefer C++.  C++ is slightly more complicated, but if you know C++, you'll know most of what you'll need to know for C.

Many games are moving much of the game logic (what happens when you pull a lever or push a button, what happens when you level up, etc.) to script languages.  Python (Civ 4, some of the Myst games, etc.) and LUA (World of Warcraft) are most of what you're going to find.  These languages are much easier to learn than C++, and consequently these positions are generally easier to hire for.

If you've never programmed before, I'd start out learning Python or LUA.  If you're a WoW player, start off trying to write an addon (or look at some of the ones out there).  The objective here is to learn the basics of programming that are shared across many languages (conditions, loops, variables, functions, etc.)  You'll have a much easier time getting into one of these languages than starting off in C++ in my opinion.

If you have any other questions, feel free to ask.
"
Thank you for the advice. So, should I abandon learning C++, or should I make it take a backseat and focus on Python/LUA? Also, what are some good tutorial books to learn from(can you tell me the ones you used)?

@Jayge: My friend programed Galaga in Javascript over the summer. It took him all of summer to do it, but he updated the visuals of it.
Avatar image for player1
Player1

4180

Forum Posts

6263

Wiki Points

0

Followers

Reviews: 1

User Lists: 2

#20  Edited By Player1
ajarbuckle said:
"...if you are talking about a highschool class, all they teach in my school is C++"
yep same. 
Avatar image for jayge_
Jayge_

10269

Forum Posts

2045

Wiki Points

0

Followers

Reviews: 1

User Lists: 3

#21  Edited By Jayge_

Why would anyone do that though? What does he gain from it?

Avatar image for drew
drew

135

Forum Posts

37

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#22  Edited By drew

Learn C++.  It's the industry standard at the moment and even if it does change, it's object oriented nature (as opposed to the procedural nature of C or scripting languages) means that in the very least the theory will still hold true.  There's also a whooooole lot of resources out there on the net specifically about writing games in C++.  The scripting stuff like LUA is really dependant on the project that you're working on and so being comfortable with the theory is important (most of which you'll pick up from learning C++) but knowledge of particular languages is somwhat less so.

I mostly use Java at uni but all of the games companies I've spoken to or read the job descriptions of emphasise that C++ is a must.

Avatar image for lightyagami245
LightYagami245

1161

Forum Posts

870

Wiki Points

0

Followers

Reviews: 5

User Lists: 10

#23  Edited By LightYagami245
Jayge said:
"Why would anyone do that though? What does he gain from it?"
Just for fun.

drew
said:
"Learn C++.  It's the industry standard at the moment and even if it does change, it's object oriented nature (as opposed to the procedural nature of C or scripting languages) means that in the very least the theory will still hold true.  There's also a whooooole lot of resources out there on the net specifically about writing games in C++.  The scripting stuff like LUA is really dependant on the project that you're working on and so being comfortable with the theory is important (most of which you'll pick up from learning C++) but knowledge of particular languages is somwhat less so.

I mostly use Java at uni but all of the games companies I've spoken to or read the job descriptions of emphasise that C++ is a must."
So if you're well knowledgeable in Javascript and not C++, you have less of a chance of getting the job?
Avatar image for andy
andy

445

Forum Posts

298

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#24  Edited By andy

It's very unlikely that you'd get a job a game developer with only knowing Javascript.

Avatar image for lightyagami245
LightYagami245

1161

Forum Posts

870

Wiki Points

0

Followers

Reviews: 5

User Lists: 10

#25  Edited By LightYagami245
andy said:
"It's very unlikely that you'd get a job a game developer with only knowing Javascript."
So not being a master of one program, but well knowledgeable in several is ok for a job in the industry?