Ask HN: What's the “best” way for a senior to begin learning how to code?
My mother told me her 72 year old friend wants to learn "how to code" and that she mentioned Python. She's starting from zero, so my first thought was that could be prohibitively complicated to get to "Hello World".
I'm interested in suggestions about what language/platform/resources I should suggest. Something she could show off to my mom and their friends would probably have value to her. I would suggest replit.com. No setup involved, it (and all your code) is always available on any computer or phone. Once you log in, it's one click to choose python (or another language), one click to 'Create repl', and you can start typing code. One click to run it. There's also tutorials, various templates to start from and other people's code to learn from. > Something she could show off to my mom and their friends would probably have value to her. Ugh, that's a high bar. I was going to suggest path "typewriter - print 'Hello world' - other commands - concept of memory etc.", but to have something nice-looking another path should be taken. How about a simple web page? It can later be expanded. To have something good-looking in simple Python... hmm... I would suggest an iPad with Codea. Codea has a game called 'Cargo Bot' that teaches the basics of algorithmic thinking without the nomenclature that trips up a lot of people. The codea development environment has lots of tutorials and examples that let people explore and play with things in a nice way. I'd consider recommending something like having this person build a website for a club or hobby they have with something like Wix or Squarespace. If they're currently fairly non-technical, this is enough of a challenge that gives them something concrete to work towards and eventually show off to their friends. And while it's not necessarily programming exactly to build a website with one of these tools, the thinking and research process is in the same ballpark as you have to figure out how to solve layout problems and use search engines to research how to approach tasks. Once they have a website in place and they want to proceed further, then they have a platform in place to perhaps do something else. I’m going to give you an answer that I hope gets debunked. It seems to me that if she can’t install Python then she may not in general be a good candidate. In my experience a whole lot of programming jobs involves things not directly linked to programming, such as installing languages, deploying projects, dealing with internal tools, and so on. If you lack the wherewithal to install and run python after reading or watching a few tutorials, you may not be cut out for the job. I say this as a guy who learns very very slowly and who has to work extra hard to get the basics. I don't know if this is debunking you, but you've put words in OP's mouth. They didn't say that "she can't install Python", or anything remotely like that. They said, the 72 year old woman is starting from zero. She may not have done anything at all yet (perhaps for lack of knowledge on where to start). It is highly likely that she just thinks she wants to code, and will give up during the first step into the thicket of incomprehensibility involved in starting from zero. But the same exact thing could be said about a 12 year old starting out, and absolutely nobody would suggest that the 12 year old should be discouraged from trying. Rather, most everyone would cheer on the 12 year old and throw resources at them. (Pretty much the same ones people have already suggested here, so I won't add more.) Bit of a pet peeve to me -- the older people get, the faster people will jump to say that they shouldn't do something new. Not that you were necessarily saying that, but it happens quite often. You’re damn right. My answer was completely out of line. See https://news.ycombinator.com/item?id=31358958 > Bit of a pet peeve to me -- the older people get, the faster people will jump to say that they shouldn't do something new. Not that you were necessarily saying that, but it happens quite often. I am also old and I am always trying things that take me out of my comfort zone. My answer was specifically meant for someone who wanted to be on track to work as a programming professional (which was nowhere near what OP mentioned). Age had nothing to do with my answer, by the way. She's not trying to turn this into a career. She's just curious to understand and potentially interested in picking up a new hobby. My dad (also 72) has been learning to play guitar lately. He's not very good, and his progress is slow, but he's thoroughly enjoying it. > She's not trying to turn this into a career. She's just curious to understand and potentially interested in picking up a new hobby. In that case I was completely out of line. I think things like Codea or Codecademy would be fantastic. I hope people debunk the hell out of this. I was an extremely good student who had all kinds of accolades but I'm also seriously handicapped. I've wanted to learn how to code for more than a decade and I've had people tell me I'm simply not really interested (because I'm not succeeding). That's not true. I don't know what piece I'm missing to get traction on the learning process, but I seriously want to learn. I will add that at age 72, if she just uses it as a time filler and "never accomplishes anything," it's her time to fill as she sees fit. Why should anyone care if she studies and studies and never produces a single thing? > I hope people debunk the hell out of this. They did! I was way off: https://news.ycombinator.com/item?id=31358958 Furthermore I think casual coding would be a fantastic way to spend some extra time. > I will add that at age 72, if she just uses it as a time filler and "never accomplishes anything," it's her time to fill as she sees fit. Why should anyone care if she studies and studies and never produces a single thing? You are completely right of course. I made up out of whole cloth the idea that she might be trying to do this professionally. Python seems to me an excellent choice. It has good installers for Windows, it has a REPL, IDLE isn't a bad interface. The documentation is excellent. To be sure, it takes a bit of doing to keep Windows 10 from interpreting "python" as "go to the Windows store and offer them a version to download." But that you have to do just once. If you are helping, you could get her set up, and set up also PIP. A simple web scraping project could help her get started. Bite-sized pieces, sensible order of presenting concepts, everything you need is in the browser. That site is the one I used to get started with JS many moons ago when all they offered were that, HTML, and CSS. It's a fantastic resource that I can't recommend enough. I found Snap! very good for creating creative stuff Works in browser. Also, Racket/Dr Racket is a very nice app with a lower learning curve and very very good tutorials. Personally I am skeptical of any "learn to X" attempt that doesn't actually address some need - so learning to make a simple website for a club or nonprofit, or getting a BBC Microbit and making it act like a stopwatch for brewing a cup of tea, something semi-practical, will stick better. I don't have a strong opinion on learning the syntax and choice of environment, but writing something like a sodoku or crossword solver(helper) would be pretty neat. I'm also day dreaming about programs that define knitting and yarning patterns as a follow up. The ageism. Part of why I ended up being a JS dev was the simplicity of the toolchain for beginners. Can't get much easier than opening the browser console, and you can write an entire program in a single file. Bring up some books like Head First series, very friendly! Codecademy, no setup, just follow the lessons. Yep. Javascript, Python, or "How to build an HTML/CSS website" tutorials specifically too. I'm interested in this as well.