Learn programing

Discussion in 'Computer Programming, Emulation, and Game Modding' started by vhunter, Mar 22, 2008.

  1. vhunter

    vhunter GBAtemp Regular

    Jul 21, 2007
    United States
    From the unknown
    I want to learn programming but I don’t know where to start. I don’t know which language to take, I hear C++ and C# are good.
    Can someone help me chose a language suitable for beginners and where or how to learn it?

    PS: I want to learn programming to make games.

    Thanks in advance.
  2. notnarb

    notnarb Not narbing it up

    Jun 18, 2007
    TI Basic is fun to mess around with if you have a graphing calculator.
  3. kev3458

    kev3458 GBAtemp Regular

    Sep 19, 2006
    You could try camps or summer programs to learn programming languages. That's where I learned Visual Basic from [​IMG]
  4. scubersteve

    scubersteve Newbie

    Java is a good code to start with, since it's so similar to C++, and the fact that it works on many, many different computers.
  5. Westside

    Westside Sogdiana

    Dec 18, 2004
    Guantanamo bay
    Java and C++ are alright, but C# is of a slightly higher level. It might sound like a waste of time learning from an inefficient language, but "object oriented turing" is an outstanding language for baby steps. It will help you learn Java, and it's VERY simple to use.
  6. Hyperlisk_

    Hyperlisk_ GBAtemp Regular

    Jan 30, 2008
    United States
    High level languages FTL! Go for MASM, that would be fun as a first programming language XD
  7. cruddybuddy

    cruddybuddy Group: Banned!

    Aug 27, 2003
    United States
  8. santakuroosu

    santakuroosu GBAtemp Fan

    Mar 1, 2004
    Boobtown in Titland.
    Logic gates.
  9. Linkiboy

    Linkiboy GBAtemp Testing Area

    May 14, 2006
    United States
    Be hardcore. Learn the native language of the machine you're programming, and talk to it in 0's and 1's.

    Just kidding, Python is a good starting language(super easy to learn) and then learn C/C++
  10. sean0007

    sean0007 Advanced Member

    Apr 12, 2007
    In front of a computer?
    I'm a university student taking some computer science credits and they taught me C and C++. I found it pretty easy to get started and there is a huge community with examples and support.

    ...I recommend C or C++ for game programming, all the major game development studios require those two languages. I don't recommend Java at all, though it is similar to C++ it is really bulky (innefficient for games).

    Here are some helpful documents to get you started with C++. Good luck and be patient, you won't get a game in two days of work.

  11. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United Kingdom
    The reason you are likely getting less than serious replies is this question has been asked in one form or another about 70000 times across the internet this last week alone.

    None the less.
    2 schools of thought
    high level
    This is most languages. Common languages here include C, C++, C#, java, python for development and then all the internet based stuff like php, mysql (database really but I am lumping it in there), xhtml, css.........
    Basic (computer language): made many years ago and the early stuff is derided, later stuff (like visual basic) adopted a similar setup to the other ones mentioned earlier but is slowly falling out of favour.

    Games wise for anything on lower powered systems it is C and C++ with the odd bit of ASM, c# is microsoft's next tweak on it and is not used so much (misgivings about .net aside it does work and can do stuff but shy away from it at first). Occasionally some java is used and other times stuff like python is used once the core of the game is built. Other times the devs essentially create a new language and use that.
    C/C++ is the workhorse though for nearly everything.

    low level:
    this is assembly/ASM/assembly. Not used as a standalone language much as for modern machines it is quite complex and not too many benefits are there (for one I can reasonably port a C app from machine to machine but doing the same for ASM is a whole different game) but more for small speed critical and kernel/driver level stuff. If you do no nothing else read the first few chapters of

    First step: know maths. There are coders who do not but I have yet to meet a good one who is not good at it. Basic arithmetic or do not start, simple matrix manipulation is good, trigonometry is not essential but damn useful (sine waves can have some wonderful effects on things), having the concepts behind 3 dimensional representation is a good idea but it can reasonably be left for later.

    Second step: learn to think logically, obvious I know but you would be shocked.

    Third step: learn hexadecimal, learn hexadecimal maths, learn and appreciate the concept of encoding anything you like as a binary/hexadecimal string. If you like some basic electronics like what are logic gates, how do they work, solving karnaugh maps as it also can help you write tighter code. Knowing ASM also allows you to hack that bit easier and also create some of the really complex mods you might see (a good deal of people can make a new skin, a new map and toggle some basic options but to redo underlying parts of the game is something else entirely). The reason I mention hacking is because we are at a stage where computers are unbelievably complex so having a nice base to work with and bending it to your will allow you to create some serious works and still use all the skills you might when doing it from scratch.

    Only then would I say start to learn a programming language.
    Once there you have a few choices

    you write text and a compiler turns you code into something the computer can use (in a very tenuous comparison the assembler turns your ASM code into computer readable stuff but as assembler is little more than replacing numbers that make up machine code with human readable "words")
    Either way you will have some text that is supposed to do something and it will have to be of a certain format.
    Some advocate a plain text editor and while it is good to be able to use having to go hunting through your code or discovering a bug because you forgot to add a comma somewhere tends to result in fist through screen type events. Therefore I suggest you get a syntax capable editor but under no means should you become reliant on it at this stage.

    There are thousands of guides and I say read a whole bunch: I have been taught and taught myself many things and even if a source was good for something it can be useless (for me anyway) for another.
  12. vhunter

    vhunter GBAtemp Regular

    Jul 21, 2007
    United States
    From the unknown
    Thank for all the help, I guess Ill start learning more math so then I can become a better programer.
    If i fond some sort of weekend or summer program ill see if I can join.

    I appreciate all the feedback, thanks guys.
  13. CockroachMan

    CockroachMan Scribbling around GBATemp's kitchen.

    Jan 14, 2006
    I really don't recommend starting with C or C++.. neither Java [​IMG]

    Python would be a good language for beginners.. Flash/Actionscript is also a very easy language, not suitable for big stuff, but it might be good for you to grasp the concepts..
  14. PuyoDead

    PuyoDead Hey! Hey! Oh!

    May 5, 2003
    United States
    Cincinnati, OH
    Hey, someone has my avatar [​IMG]

    I've been thinking of getting into C++ lately. I took basic in high school (yea, I'm old). I also took Visual Basic in college, and pretty much got a 101%. Easy stuff, of course, but since it just seemed to come so naturally, I've thought of taking it up.
  15. Raisingod

    Raisingod GBAtemp Fan

    Apr 19, 2007
    If you learn programing as a hobby Python could be nice for begginers . Its easy to learn(you don't need to define varibles and the syntax is easy), its object orianted and its a script language ( so debuging is easy and you can change stuff at run time).Also Python has WXpython and other libs that make game programing easier .

    If you want to learn it for proffesional game programing ( reaching that level from square one takes a few years) then C++ is the way to go. Most games are coded in C++ ( being efficient run time wise and object orianted ) and even if you find that game programing isn't your cup of tea its required in other programing fields as well.
  16. Psyfira

    Psyfira Credit: 0ml. Insert tea to continue

    Dec 31, 2003
    Actually most programming courses start with one of those two, it's fine as long as you're following a book/tutorial that is aimed at complete beginners. And actually read those "basic concept" chapters at the front rather than skipping straight to the code (they're there for a reason [​IMG] ). For games, you definitely want to take the C/C++ route.
  17. Artheido

    Artheido GBAtemp Fan

    Aug 31, 2007
    Yup, the course I'm starting next year requires no programming knowledge and starts off with learning Java
  18. Issac

    Issac I

    GBAtemp Patron
    Issac is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 10, 2004
    we had to learn ADA as our first language... and it is, IMO, obsolete.
    Can't find any reasons to learn it UNLESS you want to seriously take it slow, and start understanding how to THINK programming.

    first thing you have to learn, is getting the right thinking. any language is alright for that, but I think ADA is a very easy and helpful language for that. the interface adagide is very easy, and has a great compiler, for example (I forgot the syntax, so this is a BAD example (i'll use C-commands instead)):
  19. - Wrath of God -

    - Wrath of God - God

    Nov 8, 2003
    United States
    I started off programming on my own. My first language was Visual Basic 6, so I guess I'd recommend that, since it's really easy to get started. I pretty much read the first ten pages, and then started figuring things out on my own. I then took a C/C++ course in High school, which I wouldn't really recommend for beginners (case in point : pointers). In college, they taught us Scheme, as the "beginner" language. I found it damn hard to grasp at first, and the syntax is fairly difficult to read/get right, but because of the difficulty of getting something done, it's one of my favorite languages now. We then learned Java, which is my new favorite language for rapid application development (switched from VB, thanks to NetBeans).

    In conclusion, I strongly recommend either Java with NetBeans or Visual Basic (6, before that .NET crap) as a first language. I found VB easier to grasp (but it may be because I was younger).

    Also, math isn't that important. Admittedly, though, I found myself doing a lot of math-related apps, and it comes in very useful when doing games/graphical stuff (calculus for physics, linear algebra/trigonometry for graphics).

    I wouldn't recommend programming to anyone who doesn't like it. I'd advise you to try it, and ditch it if you don't like it. I see it as a hobby, or an art form, so if you don't enjoy doing it, then I don't see any reason to continue.

    Best of luck.
  20. CockroachMan

    CockroachMan Scribbling around GBATemp's kitchen.

    Jan 14, 2006
    I learned programming on college.. my course started with Pascal, then after the first semester, you started with C..

    No one actually uses Pascal for programming, but it's a good language to start, it's a language made to teach programming. The syntax is very simple and easy to read and the language has some very rigid rules that force the programmer to do things right.. like well defined variable types.

    @Issac, a teacher told me once that ADA was created by the US Government to be the most complete language available.. no one uses it anymore, but it's still a very interesting language.. I've heard that NASA has a lot of software made with ADA [​IMG]