Slashdot Mirror


Ask Slashdot: How To Get Started With Programming? [2017 Edition]

Reader joshtops writes: I know this is a question that must have been asked -- and answered -- on Slashdot several times, but I am hoping to listen from the community again (fresh perspective, if you will). I'm in my 20s, and have a day job that doesn't require any programming skills. But I want to learn it nonetheless. I have done some research but people have varied opinions. Essentially my question is: What is perhaps the best way to learn programming for my use case? I am looking for best possible resources -- perhaps tutorials on the internet, the right books and the order in which I should read/watch them. Some people have advised me to start with C language, but I was wondering if I could kickstart things with other languages such as perhaps Apple's Swift as well?

2 of 312 comments (clear)

  1. Coffee by Oswald+McWeany · · Score: 5, Funny

    How to get started in programing. Well, I get started each morning by starting the kettle. Whilst the kettle boils, I wash out the French Press and my mug. I drink my coffee whilst reading Slashdot to see if there is anything I should be kept up-to-date on. By the time I finish it is time for another cup of coffee, so the process begins again, by that time, I have to reply to some troll who thinks climate change is a myth and that man never went to the moon.

    I usually have three or four cups of coffee- and then it is time for lunch.

    After lunch, I find myself able to start programming.

    --
    "That's the way to do it" - Punch
  2. Re:How to do anything in 2017 by lgw · · Score: 5, Informative

    Get a PC computer. Install Ubuntu. Connect to Internet. Google free tutorial. Start programming.

    AC is not wrong.

    First, learn simple scripting. Use Python - it teaches better habits than a lot of alternatives. When you're comfortable with the basics of ordering your thoughts in a formal language, there are 3 real challenges, and I'd take them in this order.
    1. Pointers
    2. Recursion
    3. Threading

    C is great after you're comfortable with the basics. Pickup the K&R C book and have some fun with it. Implement all the basic data structures using C. Learn to use a nice GUI debugger, and step through your code, then step through the object. Learn what's really happening under the covers. Keep going until there's no mystery about pointers and the stack, registers, and so on.

    For recursion, learn Scheme. Yeah, you could use Python too, and maybe there are some good intro texts now (what does MIT use these days instead of SICP?), but Scheme forces you to do everything with recursion. Keep going until it's totally natural. Write a Scheme interpreter in Scheme (it's easier that you think, and a lot of fun).

    There's no easy path to learning threading, I fear, but if you made it past the above two, you'll manage this.

    Once all that is done, then learn Java. Java sucks, but it's where most the jobs are. Everything in Java should seem quite easy once you have the fundamentals.

    --
    Socialism: a lie told by totalitarians and believed by fools.