How did you learn programming?

Discussion in 'Off Topic Discussion' started by Twimfy, Dec 6, 2008.

?

How did you start?

  1. Twimfy

    Twimfy Site Supporter 2015

    Joined:
    Apr 10, 2006
    Messages:
    3,570
    Likes Received:
    32
    I'm one of those people who is forever dabbling in tasks but I never see them to completion.

    I've always wanted to learn to program, especially in C++, the only way I've ever tried is via books but I often get a few chapters in and then forget about it and move to something else.

    This winter I have a lot of free time and I think it's time I sat myself down and got educated but I don't know how to do it effectively.

    I know that this forum has many talented coders and I'd love to know how they got started with it and what they would recommend as a beginning point.
     
  2. alphagamer

    alphagamer What is this? *BRRZZ*.. Ouch!

    Joined:
    Jun 25, 2008
    Messages:
    3,255
    Likes Received:
    10
    i learned the basics in school and from my dad.

    the rest by myself.
     
  3. retro

    retro Resigned from mod duty 15 March 2018

    Joined:
    Mar 13, 2004
    Messages:
    10,354
    Likes Received:
    822
    Well, I voted a good, thick text book, but really it was a combination of things.

    I tried some of the samples in the Spectrum manual, but didn't really understand them. Mind you, I must have only been 6 or 7! A year or two later, I got hold of one of those adventure game programming books - it was by someone like Usbourne I think. They're actually pretty thin books, so I guess I learnt from a thin book ;-)

    I got various other Spectrum books and magazines over the years which taught me BASIC and machine code. Other implementations I came across (RM BASIC, BBC BASIC) I learnt through trial and error, typing HELP or finding the manual. Then I dabbled in other programming languages at school, mostly just for fun, such as Logo and some weird LEGO programming thing! I also bought a book on Pascal and dabbled with that for a bit.

    When it came to programming for Windows, I learnt Visual Basic on my own, through a mixture of books and online resources. I did the same for web stuff such as HTML, CSS, JavaScript and PHP. I then studied vb.NET in college.

    There are some good tutorials out there online, and you certainly could learn from them, but to be honest, I prefer a good book. The problem for me is that you go over basic stuff that you know, which gets boring. I tend to want to skim over it. If you do, you can easily miss something and have problems later.

    My advice... get a good book. Go to a bookstore and take a look at the books - some good titles are the Dummies ones or the SAMS ones, and MS official books are good. Have a quick look and see which one has a style you like. And try to stick to it! It doesn't matter if you cover it little by little, but I'd try to keep some structure... say a chapter a week. You could cram that into an evening, or do it bit by bit and review what you've learnt in that chapter at the weekend - maybe try doing something on your own with that new knowledge.

    Good luck!!
     
  4. andoba

    andoba Site Supporter 2014

    Joined:
    Sep 13, 2006
    Messages:
    1,256
    Likes Received:
    4
    Online resources and practicing, practicing, practicing.
     
  5. BahnNZ

    BahnNZ Robust Member

    Joined:
    Sep 11, 2006
    Messages:
    244
    Likes Received:
    0
    From a big book "Learn BASIC on the Vic 20", something like that.

    Taught me all the bad habits I'm still trying to lose today.
     
  6. retro

    retro Resigned from mod duty 15 March 2018

    Joined:
    Mar 13, 2004
    Messages:
    10,354
    Likes Received:
    822
    Actually, I should add -

    If you REALLY don't feel you can learn from a book, then online stuff isn't really going to help, either. You should try and find a night course in that case. I found mine pretty helpful - it forces you to go over the basics, but at the same time, you'll probably find that your tutor will let you go at your own speed. For me, I knew a lot and learnt quickly. My tutor was happy to let me get on with it and concentrate more on the slower learners, but when he came to me he'd set me more difficult challenges or go over some more advanced stuff with me. :)

    There are also distance learning courses if you feel like that - one example is ICS.
     
  7. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    On my own, via textbook and WWW, but most importantly I also took classes which prompted me to actually do the examples. Hobby + classroom = win, but for me also = good years wasted being a nerd.
     
  8. mairsil

    mairsil Officer at Arms

    Joined:
    Apr 20, 2005
    Messages:
    3,425
    Likes Received:
    153
    As someone who has taught programming in several languages, I have to ask the following:

    - Do you enjoy learning from books? [Yes = grab a book]
    - Do you enjoy researching problems on the web? [Yes = find an online course]
    - Do you enjoy tinkering with something until it is just right? [Yes = grab the online documentation and dive in]
    - Do you give up if something doesn't seem to work right? How soon do you give up (after a few minutes, hours, days)? [Yes = stop and reconsider what you actually want to do]
    - Do you need to work with others to finish a task, or are you generally self driven? [Yes = grab some friends and come up with a small project to work on]
    - Are you tech savvy? [No = stop and reconsider]
     
  9. webjeff

    webjeff Hardcore Console Developer

    Joined:
    Apr 23, 2007
    Messages:
    233
    Likes Received:
    0
    After reading your post, you sound like me. I don't like to read books (too slow and boring)... just do it. Make mistakes and learn what those mistakes are. Don't trust what other people tell you, learn for yourself. I remember very early on someone told me to use std::vector for any type of lists I have, unbeknown to me it reallocates memory like a beast if not used properly, I found I can make my own linked list which is very fast and takes up very little memory. Not the best example in the world, but you get the point.

    Jeff.
     
  10. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    I only learned programming to tinker and facilitate myself at times, so I m in no way proficient.

    We also had structured coding classes (mandatory) at school so I got more into algorithms.

    Other than that, I m pretty bad at maths (mainly because I never do/did examples, I m lazy at doing homework) and in extent I never expect myself to excel in programming.

    That said, as a lawyer, I approach subjects on algorithmic principles (ie simple trees, or even sometimes just short-words in C syntax)
     
  11. Twimfy

    Twimfy Site Supporter 2015

    Joined:
    Apr 10, 2006
    Messages:
    3,570
    Likes Received:
    32
    All excellent advice, thanks everyone. I think I may take the chapter a week approach and then test myself thoroughly at the end of each week.

    My main reason for wanting to learn is for game development, I'm always playing with various GUI based game creation software but I need programming skills to start some more advanced techniques. e.g I've been making a Sonic the Hedgehog game for many years now in 3dgamestudio, I have a basic movement and camera engine, countless models and levels but no real skill to tie it all together.

    If I could learn enough just to help me recognise the concepts within the example codes then I'd be all set.
     
    Last edited: Dec 7, 2008
  12. BahnNZ

    BahnNZ Robust Member

    Joined:
    Sep 11, 2006
    Messages:
    244
    Likes Received:
    0
    That would be a coup if you made a 3D Sonic game and it was better than the recent Sega efforts...

    Don't read a chapter and test yourself. Type in some code and mess around with it. In my BASIC programming course back in 1981 or so you'd make a ball travel across the screen, then you'd make it bounce at the edges. Then make a sound when it hit the side, and just keep messing around. Might end up with a breakout game. Best way to learn is by doing.
     
  13. nanoseq

    nanoseq Spirited Member

    Joined:
    Nov 22, 2007
    Messages:
    105
    Likes Received:
    0
    For me it was all the above :) But mostly books and experimentation.
     
  14. Ed the Nerd

    Ed the Nerd <B>Site Supporter 2014</B>

    Joined:
    Sep 30, 2008
    Messages:
    431
    Likes Received:
    0
    I learned C++, BASIC, and game design here: http://nccamp.com/
    I go to the one in [FONT=Verdana, Arial, sans-serif][FONT=verdana, arial, sans-serif][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=-1][SIZE=-1]Fairfield University every summer. Its about a 1 hour drive from here in Shelton

    If anyone goes there, let me know! Mabey we met
    [/SIZE][/FONT][/SIZE][/FONT][/FONT][FONT=Verdana, Arial, sans-serif][FONT=verdana, arial, sans-serif][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=-1][SIZE=-1]
    [/SIZE][/FONT][/SIZE][/FONT][/FONT]
     
    Last edited: Dec 8, 2008
  15. PhantasyStar

    PhantasyStar Well Known Member

    Joined:
    Jul 11, 2004
    Messages:
    1,551
    Likes Received:
    19
    Learned Java and Visual C in high school.
    Learned Java, C/C++, Assembly at Purdue
    In Operating systems course now...great course..
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page