I usually recommend everyone who wants to learn programming: - to write some games, - or alternative to write some tools to be used for themselves to automate or simplify some of their tasks. Writing games can be so much fun, and is incredibly deep such that you can pretty much touch upon all topics of programming, networking, computer science, algorithms and data structures, artificial intelligence, 3D graphics, GPU…
Ask HN: It's 2022. Where should I direct the youths to learn about programming?
41–50 of 192 posts
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#42I cannot recommend it highly enough.
And, if you don't care for the certificate at the end of the course, it's free
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#43Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#44So to that end, I'd probably start with a project-oriented book, or give them tasks that require programming to solve (e.g. tell me the distribution of words in this Shakespeare play. What are the most common ones?).
Editor wise, VSCode is great, but may be too many bells and whistles. Sublime Text may be a better place to start, since it'll do highlighting, formatting, etc without being overwhelming.
Language wise, Python, JS, and Ruby all have ample beginner resources. Depending on what else they're into, JS is probably the most widely useful (since it's on most web pages and the sandbox is built right into the browser).
Good luck! Let us know how it goes!
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#45Code interactive 3D apps / VR / AR starting with HTML and dive into the entity / component API as you progress. Super rewarding to get something visual than can be shared with an URL to show off or ask for help.
With glitch one can start coding right away with zero tooling to install no account required. Glitch doesn’t hide details and knowledge transfers directly if one wants to start developing locally.
I recommend also the A-Frame docs as learning material:
https://aframe.io/docs/1.3.0/introduction/
I help maintain A-Frame and seen plenty of success with people learning how to code while having fun. Also advanced capabilities available as you learn. Very accessible but not just a toy.
Very welcoming community.
edit: typos
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#46SICP is great for those who want to learn more about programming after they have some experience programming. If someone gave me that book as my first one I think I'd have picked a different career field, even though I am now - 8 years later - working through it :)
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#47why learn programming? also, an 18yo is an adult
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#48It is a practical introduction to programming using the type of projects that got many of us into this field and manages to capture the spirit of what makes writing your first program so special.
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#49I usually recommend everyone who wants to learn programming: - to write some games, - or alternative to write some tools to be used for themselves to automate or simplify some of their tasks. Writing games can be so much fun, and is incredibly deep such that you can pretty much touch upon all topics of programming, networking, computer science, algorithms and data structures, artificial intelligence, 3D graphics, GPU…
This is the most basic of javascript game engines but also challenges you to be creative.
Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?
#50I'm talking about the concept of instructions, registers, addressable memory, etc. - with block diagrams, not with full circuits unless he's into that kind of stuff.
Then when he moves onto one of the high level languages that the other commenters are talking about the concepts will naturally stick. E.g. a variable is stored in memory, when we add two variables in the HLL we are copying those values to registers and using an ADD instruction, then we are writing the result back to memory. When there is an IF statement the computer will jump to either block of code depending on the conditional operation. Pointers become intuitive. And so on.
I've explained this to laymen and people who are interested in computers and have gotten a pretty positive reaction from them - so it's worth a shot. For a programmer who generally focuses on HLL it also allows them to get some idea of how their code is executed in the real world under all that abstraction.