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?
So leave your answers in the comments. How did you learn how to code?
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.
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'
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.
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!"
The TRS-80 booted to a basic prompt if there was no cartridge inserted. My dad got a book with a few hundred programs printed out, and one of use entered them in by hand and ran them. Then I would make changes to the code to make it do other things as well. I learn mostly by trial and error. When we got an Apple ][ clone I got a copy of "1001 things to do with your Apple II" and I was off to the races.
I finally took some formal classes in college, but spent most of my time lamenting the need to listen to things I had already learned.
The thing is, I had this opportunity because my parents had the resources to get the computers, and I was encouraged by teachers and friend to continue to learn. It is pretty clear that the best programmers all started by forth grade, not high school or college. If only rich white kids can start that early and boy are more likely then girls to take up computers as a hobby the current demographic deficiencies in the industry are likely to continue.
Strive to make your client happy, not necessarly give them what they ask for
I was interested in computers since I was around 7. My first computer was a V-Tech "Learning Computer" which barely did anything, but I played with it all the time. My dad bought a used VIC-20 from a friend, and I sat with this book and tape until I could program Basic:
https://archive.org/details/VI...
My Other Computer Is A Data General Nova III.
Using a teletype on the school district mainframe, with an acoustic modem. There was no such thing as a personal computer at that time. ...
I taught myself basic.
Pascal was the language taught in college.
Since then I've taught myself C, C++, Java, Python, Javascript,
Myself and most of my friends pretty much taught ourselves to code.
Actually I can't even say that I learned at any one specific point in time. When I was a kid (this was back LONG before anything like a PC, or even DEC mini-computers) I'd go work with my father on the weekends. Before that he taught me electronics, but then at work he'd have me enter his FORTRAN programs on punch cards for him. I must have been 6, so that was the start. Then I remember playing with a PDP-11C a few years later, typing BASIC statements on the TTY and watching it print out answers to simple statements. Years later, around 1980 my uncle gave us a PACE based computer typesetter, and we played with that, read the assembly language book, burned some instructions into ROMS, etc (I think the thing basically ran CP/M, but it had no command interpreter at all). It was right after that when Commodore started pumping out affordable machines, VIC-20 I recall particularly as the first machine I really wrote serious software on (I recall coding a version of Moonlander for that).
I did eventually take some programming classes in college, FORTRAN, Pascal, Assembly language, etc.
Frankly I think this whole "teaching kids to code" thing is overblown. Its fine to expose kids to something like this, and maybe see if a few of them take to it. Imagining that it will do much for the rest or burning a lot of resources on it seems foolish though. Teach them to think and solve problems, they'll figure out the tools.
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
Learning about programming is like learning about sex. When people actually teach you, it's an anticlimax.