Jython is the only scripting language you can embed in Java that isn't slow. Trust me, we tested them all.
If you want to learn to be a real Computer Science major, it's not about programming/scripting. It's about a lot of math, problem solving, algorithm analysis, math, math (did I mention math enough times)?
If your school teaches properly, you'll learn to code as a result of obtaining these skills, not the other way around.
Randomly decided to do my semester project of coding an interpreter from scratch(due in 4 days, started yesterday lol) in python for the hell of it.
Not too bad so far... easy enough to use. I'm assuming by 'neat coding habits' you mean proper indentations? Otherwise everything else seems normal in terms of what I 'have' to do.
Though, the constant 'self.' references is ugly to look at. Got to be habit en-grained fast, but still ugly.
btw, where'd your blog go MrBob?
oh and to the OP: Since you're looking at getting into the game industry. Good luckThe moment you learn a language, start making a game in it. Save it, make a public profile, and keep on chugging. From my understanding, you won't even get in the door without signs that you've worked on some semblence of a game in the past. I wish I had started doing that before I got busy busy this year... no time to make games -.-
Trying to make one over the summer with a couple grads, but slow going since both of them are looking for jobs and I'm still in school haha.
I don't see how a weakly typed language can teach you "good coding habits"
I put it up with php as far as things being a nightmare when you have to work with other people who have their own "good coding habits".
Only the freshman labs and classes really stink, the ones that don't drop out usually either have good hygiene beaten into their skulls by the upperclassmen or are so antisocial that they work at home and never use the labs.
There are extroverts as well as antisocial neckbeards but most students fall into the "slightly introverted" range. The longer students have been there the less introverted they are though due to it being a small school where everyone knows each other. You'd be surprised how many people there break "nerd" stereotypes.
You don't necessarily have to know any programming to get in, but I'd advise you to learn at least a bit regardless of your position. It's not required for anyone but the actual programmers, but it's definetely a bonus to have, say, a designer who actually knows a little about code (and it will give you more opportunities, especially with smaller companies that usually have a few people do a lot of things - I have a friend in DigiPen that got a real job in an actual company working directly under the Head Producer on a project in his junior year because he was not only a very capable producer, but he was also a pretty decent coder. He was applying just for an internship at first, but they had a small team and could use people like him so they ended up hiring him on the spot for an actual real position - in the end he both coded and did producery stuff for about a year before he came back to finish his senior year. Now he has that on his resume).
If you're an artist you should be able to handle a little bit of flash or MEL script or something like that. You don't have to be a code guru, just have enough of an idea of what the programmers are going to do with your art to understand how to be better at it (i.e. understand why correct data/storage types are important, or the direction the vertices are ordered in, etc) . If you don't want to do art don't forget you can still go for a producer type job (i.e. managing people, resources, bookeeping, meetings, talking to clients, doing presentations, etc) which can work better if you're a good people person and good at scheduling.
You can also be a designer and deal with designing the game mechanics, do level design and in general create content for the game. This also has nothing to do with programming (which misleads people a bit when they say "I want to get a degree in Game Design!", when they really want programming or vice versa) but it helps if you know some. Or, of course, you can be a programmer. Good choice if you're into math, are a rational/logical thinker and whatnot. Prepare to spend a very long time staring at code (sometimes yours, sometimes not).
What I can tell you the people you've asked are 100% right on is that there is no single "way" into the industry. It just really is different for everyone else. If you really want to go for it then my advice is make sure whatever way you go about it, by the time you start looking for a job, you have something to show.
A portfolio for artists, extensive experience managing teams (i.e. 6-15 people teams ) of people striving to achieve some large task over a long period of time for producers, design material for designers (complete games are good, but things like intricate levels for Half-Life also work if you're planning on applying for Valve, for example) and large programming projects (i.e. complete games), preferably made together with a small team of people rather than just by yourself score points for programmers.
Another thing is networking. It's a bit early now, but a couple years down the road, once you've done a bit of work in whatever you end up going to college for, start showing up in industry events like GDC. Meet people, find out who's recruiting what. If you want to work for a specific company, find out who their HR people are and go talk to them. Get an internship at some point before graduating doing whatever is the closest thing to what your job would be.
You'd be surprised. Mostly like any other average college student, except we spend less time drinking and going to parties and more time staying up till 4 am programming because the Beta build is due next Monday and our producer hasn't finished preparing the presentation yet and our game has a bunch of horrible crash bugs that weren't there a week ago and now we have to get rid of them before we actually show the game in a stable build which incidentally is happening in about 12 hours (this isn't what I'm doing right now but it gives you a good idea of what you end up having to deal with over the course of a project).Is it true that it's best to go to Digipen without a sense of smell? What is the typical student like?
You'll get to learn how to get things done under strict deadlines (hello huge game projects while taking 5 other classes), learn a lot of things about making games specifically that it would be hard if not impossible to learn by yourself without talking or being near people who actually have done it before, get experience working with other people in large projects (i.e. not just programmers w/ other programmers, but also say, programmers w/ artists w/ designers w/ producers). On the negative side, you'll never have any more free time to do anything. Ever. Parties don't exist and sleep is for the weak. Oh yes, and girls don't exist unless you go to the Art Campus.
But yeah, I agree to an extent w/ MisterBob. If you are dead set on being a programmer, focus on learning the math and algorithms and in general the way of thinking about problems. If you get good at that and in the end decide you don't want to work on games at all, there's plenty of other things you can do from there.
To the OP:
I don't know your reasons for wanting to get into programming/game design as a profession but just a word of advice. Don't do it simply for the fact that you have grown up playing video games and love playing them. It is two completely separate worlds between spending anywhere from 10-14 hours a day writing code for a video game (most serious gaming shops you won't put in an 8 hour day, trust me) and playing one. As most people have said above too, it is a lot of math so if you aren't comfortable with math (specifically matrices and manipulation thereof), I'd advise doing a little more research on what is involved in being a game developer.
As for advice on where to start for learning programming if you have never done so before, follow what others have said above. It doesn't really matter what language you begin in as long as you pick up the concepts first. Conditions/iterations/etc. are pretty much going to be in every language you encounter and once you grasp the concept of what is involved and when to use each, its just a matter of language syntax between different languages.
After you pick that up, I'd look more into an object oriented language (Java, C#, Smalltalk if you really want to torture your mind for the first time). If you can grasp the concepts of objects, you should be okay to make it through your beginner classes in school.
Again though, not knowing your intentions for wanting to get into professional game development, just understand going into it that becoming a professional game developer generally leaves you with little time to actually play games and enjoy them.
Eh, I switched majors from CS to EE/CE. I was fed up w/ the few classes I had taken, and I didn't see myself just staring at the godamn lines of code.
Anyway, I started w/ C, then C++, after all that, the other languages were easier.
I started with C++ myself. Our University started us using that language. Disregard the comment about needing to know how to code before starting. I had never programmed before in my life and am now in my Senior year, most of the other students were in the same situation. Then again, quite a few people in my freshman class didn't continue on with Computer science...maybe there is more truth to that statement than I realize.
That being said, the other comment about needing to learn a lot about programming is true. My first couple of classes taught a lot of the basics, and later on they teach the theory behind constructs and you need to be able to learn them for various languages. Once you know the theory behind a construct, though, figuring out the syntax isn't too bad.
My senior project was a team based project and we are currently making a mod for Unreal Tournament 3 (not a game school at all, the professors all hate games, don't know why we got this RFP). It is a major, major pain in the ass. The code is heavily object oriented, which is nice, and we aren't making an engine from the ground up, but just adding things to the engine is quite difficult. There is quite a bit of vector calculations going on, as others have stated, pretty high level math.
I would start with C++ or Java myself. Python and Ruby are neat but starting in a language that does not require declaration of types might be confusing if you do not expose yourself to other languages early on in your education. My final verdict would be that you need to be interested in working with computers and technology. If you are solely interested in games, you might not enjoy this major at all (it takes a ton of work, vastly detracting from game playing time).