Slashdot Mirror


Slashdot Asks: How Did You Learn How To Code?

Last week Apple's CEO argued that computer programming should be a 'second language', and that it should be a required subject for all students starting in 4th grade. But a large number of professional programmers didn't learn how to code in a formal school program, either because they're self-taught or because they learned on the job. There's a lot of abstract discussions about the best ways to teach coding, but if there's any group that's uniquely qualified to answer that question, it's the Slashdot community.

So leave your answers in the comments. How did you learn how to code?

9 of 515 comments (clear)

  1. Picked up a book. by PhrostyMcByte · · Score: 4, Interesting

    Thank my Uncle for introducing me to DOOM when I was ~10 years old. -- immediate "I want to make that". And so I picked up some books from the library.

  2. The usual way by russotto · · Score: 5, Insightful

    That is, the usual way for 1980s computer geeks. Self-taught BASIC on an Apple II using a few books on Applesoft and Integer BASIC. Later Pascal also on the Apple II with a few books including Jensen and Wirth's PASCAL User Manual and Report. Learned C (K&R, mind you, none of that prototype crap) on a Mac XL with the old Megamax compiler. Picked up 6502 assembler out of necessity in there, also 68000 and 6809.

    1. Re:The usual way by Moblaster · · Score: 4, Insightful

      Because back in the 1980s computers booted to the BASIC command line interpreter/REPL. Nowadays, there is, more or less, no such thing. Closest similar thing most non-geeks will get to is a browser console, and while that is reasonable debugging tool for pros, it's not a similarly friendly programming tool for beginners.

      In fact, you practically need to be an experienced developer even to get a modern IDE up and running. Eclipse? Xcode? Not for the faint-hearted.

      Not sure about hard statistics, but I'd say it's a safe bet most new developers these days need to be shown how to get going. Beyond that, they'll naturally self-teach and bootstrap themselves, or fail out early. Because at the end of the day, no matter how you learn, your practical knowledge (meaning libraries and frameworks and tools, if not entire languages) will be functionally obsolete within two years, formal CS concepts and emacs/vim godliness notwithstanding.

  3. 2 week FORTRAN short course at JC. Lied about age. by HornWumpus · · Score: 4, Interesting

    I was off and running. Self taught basic, 6502 and Z-80 assembler. Worked two summers to buy my first microcomputer.

    Learned a bunch translating various basic dialects. Typing games in from Creative Computing etc.

    Backfilled informal programming education with EE and CompE degrees.

    I can spot the potential future programmer among 10 year olds playing. The future programmer is working puzzles requiring thought.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  4. Coding, or programming? by Todd+Knarr · · Score: 5, Insightful

    I learned to code first in classes in high school (BASIC, FORTRAN, COBOL, Pascal) and then by reading the relevant books or documentation (C, C++, Lisp, Icon, Java, C#, Perl, Python, Ruby, PHP, Javascript et. al.).

    The more interesting question is where developers first learned to program (a completely different skill from coding). IMO we don't need to teach children to code, we need to teach them to program. Which means first teaching them to approach problems logically and analytically, which is going to cause the loss of about 75% (my guesstimate) of the educational establishment when they can't deal with students who know how to analyze material, do independent research and call teachers on incorrect classroom material.

  5. On an ALWAC IIIE by FredK · · Score: 5, Interesting

    Computer class in school, spring of 1959. Coded in Hex, 512 bytes of memory (recirculating drum), 32K mass storage that was so big one didn't know what to do with it. Solved differential equations, linear systems with rational coefficients, and computed root locus diagrams. When somebody came along to add an assembler I didn't see the point, as it wouldn't even let you use instructions as data, and made it more difficult to plan jumps to account for the rotation of the drum. If you used floating point you lost 128 bytes of the memory. It was a very different world.

    1. Re:On an ALWAC IIIE by Guy+Harris · · Score: 4, Informative

      For those curious about the machine, here's the manual.

  6. Programming, not coding by GreatDrok · · Score: 5, Interesting

    i learnt to program at school from a Ph.D computer scientist. We never even had computers in the class. We learnt to break the problem down into sections using flowcharts or pseudo-code and then we would translate that program into whatever coding language we were using. I still do this usually in my notebook where I figure out all the things I need to do and then write the skeleton of the code using a series of comments for what each section of my program and then I fill in the code for each section. It is a combination of top down and bottom up programming, writing routines that can be independently tested and validated.

    --
    "I have the attention span of a strobe lit goldfish, please get to the point quickly!"
  7. pretty standard by Gravis+Zero · · Score: 5, Funny

    I was on a school field trip, wandered away from the group and was bitten by a radioactive programmer. Pretty standard stuff.

    --
    Anons need not reply. Questions end with a question mark.