Question about becoming a computer programer?!?

Started by
36 comments, last by Kryptic 22 years, 10 months ago
I have always been into anything computer related. And with all the new games that are coming out I find myself more and more amazed by computer programers. I would like to become a computer programer, and have been asking friends from online games and whatnot about getting the education I need. I have gotten so many varied responses that I am even more confused. People mention languages like C/C++, High Order Language(ADA), Low-Level Language(Assmebly), COBOL and the such. What I want to know, is to do games like Asheron''s Call, WW2 Online, Anarchy Online, and all the newer games coming out....what do you need to know. And if you could explain what all those languages mean or are I would appreciate it. I am still kinda young, only 12...but want to get my priorites in order so when I am older I will have a job that I truly love to do. I would just like to know, what I need to know in order to get a job in the future. And since a lot of the people I have talked to probably don''t know anything about it, well I would just like to get it straight from the horses mouth. SO IN SHORT....HEEEELLLPPP!!!
Advertisement
Read this.

~~~~~~~~~~
Martee
http://www.csc.uvic.ca/~mdill
ReactOS - an Open-source operating system compatible with Windows NT apps and drivers
First of all, take a look at the link Martee posted. Now, I get to tell you the steps that I tell everyone (): Learn C/C++ (that will take a LONG while to get down well), learn to program for a specific OS (most likely, Windows), learn a graphics API (OpenGL or DirectX). Each of these steps require lots of experimentation, you can''t just read a couple books and understand them . You''re not going to even be doing graphics for a couple monthes, if not even a year, writing your own Asheron''s Call is a long way off (sockets and network programming is hard, even if you know what you''re doing ).

Resist Windows XP''s Invasive Production Activation Technology!
http://druidgames.cjb.net/ (If my website isn''t down, it''s a miracle!)
Thanks, I will try to learn a little more about it. I figure I got nothing but time to learn it all. I am not wanting to make a game right away, just want to be able to someday. One more quick question if I may....


Most of my questions were answered....but what is High-Order Language(ADA)? Is that just the fancy name for C++ and other such languages? Or is this a totally different type of language? Thanks again for all the info, it really helped a lot....guess I got my work cut out for me.
Ada is an entirely different language. It isn''t really that popular though. C or C++ are your best bets for making high performance games, while still using a mainstream language.

Resist Windows XP''s Invasive Production Activation Technology!
http://druidgames.cjb.net/ (If my website isn''t down, it''s a miracle!)
I agree with Null and Void. Start with C/C++. Learn it well. One thing that needs to be stressed is to start small. Its very hard to make a simple game first and not something fancy that gets you in over your head. Thats how I am. As they say, "Anyone can program games, but real programmers can finish them."

The "level" of a language relates more or less to how err.. "abstract" it is. On the low end, you have assembly language (well, machine code). In assembly, every instruction you write is one instruction the computer executes. It''s not very sophisticaed, most of the instructions generally deal with just arithmetic and moving data around. Its not very often that you need to write in assembly language anymore, unless you''re writing something like a boot loader. Desipite this, some people will still try to tell you that you need to use assembly for your super-high-performance routines. In my experience, that''s bunk, but others will disagree

Then you get higher level languages, where each statement of the language you are writing will "compile" down into possibly many machine instructions. This allows you to write complex programs much easier, the compiler does the work in figuring out all the little instructions that need to be strung together to get what you want done, you just tell it in a language that looks slightly more like english. C isn''t really that high level of a language, and neither is C++ (but c++ is higher). Most really high level languages take care of a lot of stuff for you, like memory allocation and management, and have lots of builtin types that you''d normally need to write yourself (like lists and trees and hashes).

One thing to remember though is that the compiler that turns your high level code into machine code (or bytecode, or what have you) is only using a set number of algorithms to generate your code, so sometimes it will not be the most efficient. In general, the lower level the language, the closer to the metal you are, and the less stuff is going on "behind the scenes" without you knowing. Takes a long time to write and debug, but it''s fast and lean. High level languages are fast to write and debug but all those layers of abstraction are adding to your code, resulting in slower and larger binaries. This is just a guideline, its not always true, but is a lot of the time.
Thanks guys, I half expected to just get a bunch of flames for not knowing anything about this. Tons of useful info, do most programers just, well I guess specialize is the word, in one language. Or is it good to learn one then, try to learn another one. And also if you learn 1 language does that make it easier to learn others. I know they are not really related languages, but if you can learn how to do 1 type, does it make it easier to learn another? Say I started with the easiest language to learn, I learn it, will it make it any easier to learn others. Since I will have some basic programming knowledge. And about that ADA language is that harder than C++? Is that why it isn''t as popular, or is it an inferior language or something. Once again, thanks everyone....really helping me plan my future out.
Depends what you''re doing. If you''re just programming games you might just learn one language and stick with it. If you''re planning on getting a degree in CS you''ll probably end up learning several, to say the least. As you learn em, they get easier and easier, because eventually you stop learning the languages, and start learning the mechanics behind the languages, then everything just falls into place. They say that about spoken languages too, which I suppose is true but I never bothered to become fluent in any. Currently I know about 10 various languages, but several of those I havent used in years and forget most of the specifics. However, most people who have been using them for a long time can pick up a new language in a matter of days, and be fairly proficient with them in a few weeks. The first few, however, take *much* longer

All in all, though, its all about the right tool (language) for the job. C++ is a good general purpose language, but when all you have is a hammer, everything looks like a nail, as they say.
For me, at least, learning other languages is a lot easier after having learned my first (C/C++). But, I don''t really need to use any others a whole lot, so I never truly master them.

Resist Windows XP''s Invasive Production Activation Technology!
http://druidgames.cjb.net/ (If my website isn''t down, it''s a miracle!)

This topic is closed to new replies.

Advertisement