What do I need in order to get started in programming?

outlawstar15a2

Distinguished
Mar 25, 2010
3
0
18,510
Ah long time no see. This time it's on much better terms :D. I want to make a career out of programming but I would like work in the game industry but I also know there's a way to work from home doing programming which would be easier at the same time but that's two different paths. I know I got to choose which avenue of work I choose but I was looking at another thread and someone mentioned Pascal was a good language all around for starting off. So what do I need. Is it a book I need to buy or a CD? Or something?
 

tuxborg

Honorable
Nov 16, 2012
6
0
10,510
There are a lot of free education websites that can give you a taste, such as codeacademy.org, and perhaps help you find something to zero in on. Ultimately it matters quite little where you start because the greatest challenge is sticking with it and continuing to build competency and experience. Go to a website, buy a book/eBook if you fancy, and just start coding. (I'll let someone else give the formal education lecture. I loathe the state education system and have been self-employed for most of my life.)

Good luck!
 

hdeezie80

Honorable
Jul 18, 2012
14
0
10,560
This post is long but i'm going to try to give you as much information as possible so bare with me. C/C++, C#, or Java are the best languages to start with and are the most common industry wise, if your main focus is to work on graphics engines than C/C++ is what you want to learn. Java is more for android apps or multiplatform applications. C# is property of microsoft so I wouldn't suggest learning it as your first language since it is geared towards windows platforms. C++ is the best language to start with IMO, because it covers anything you will encounter in any other language. I went to school for programming but I've also had to learn a lot more by myself, if you are really dedicated it is possible to teach your self. Don't expect immediate results either way, It takes about a year before you'll be actually fluent in any real programming language, given you have enough practice. You will need text books here's what I used when I was just starting out, C++ was my first language by the way:

An introduction to programming with C++, Diane zak (absolute beginner) <- Master this stuff first
Starting out with C++ Early Objects, (beginner level OO programming)
Beginning visual C++ 2012, Ivor Horton (for basic windows programming concepts, Beginner-Intermediate)

cplusplus.com is a good place for reference but learning of the web would be too hard to do by yourself in my opinion.

Here's what you would need tool wise keep in mind any distribution of linux will come with everything you need to get started programming, for windows you will need to download these all seperately.

C++ compiler/editors: codeblocks, dev c++, or eclipse download all 3 and get a feel for them I personally prefer codeblocks stay away from visual studio for now it does too much work for you wont end up learning anything.
Java compiler/editors: Eclipse or netbeans
Java Platform: Java JDK 7
Python editor/interpreters: python w/ IDLE (2.7 is the most common)
OPTIONAL boost libraries (for c++) can be useful to search this before writing your own templates

I'd recommend learning python after you have a grasp of the fundamentals of C/C++, it can be easily embedded in C++ code and makes things like opening multiple processes, accessing web pages, etc. a lot quicker and easier. It's way easier to learn how to build a GUI on. After learning C++ it took me about a week to get the syntax down on python, It's my favorite language to write in because of how simple it is but it's a lot more intensive on resources, and tends to be less reliable. This is for later down the line but you'll most likely need to know mySQL, and how to use software testing tools like selenium, junit, etc. if you plan on making this a job I wouldn't worry about this stuff till way later on though.