It would be interesting to know if anyone on HN in their early 20s or lower were first introduced to software development via scratch or some other means.
It would be interesting to know if anyone on HN in their early 20s or lower were first introduced to software development via scratch or some other means.
I had a lot of fun making games with Scratch, and I think it taught me a lot about logic and gave me a great way to express myself. I definitely got way more into the weeds about it than everyone around me, but one of my favorite things was opening up a game I admired on their website and trying to figure out how it works. This skill has definitely transferred into my broader programming career.
I have really high praise for it! The only thing looking back I wish we had was a way to export it to a .exe self-contained runtime to share with friends. I just used to pull my friends over at lunch.
For a long time (since mid-primary school) I had been toying with HTML, mainly from a book from the local library, and by just looking at the source code of websites that interested me.
I think it's clear that 'toys' like this, and like Game Maker, that make programming simple and user-friendly have been around for a long time, and don't necessarily stop people from learning more advanced concepts or languages, except if they lose interest. But even if they do, hoefully they will have packed up some skills that they can apply to other endeavours.
For me (26), part of what kept me interested in learning to program was the sense that I was working through something convoluted and solving some personal problem. Overcoming some sort of adversity. In this case, it was writing hodgepodge pascal to automate Runescape and Neopets, then also Flash for fun and profit.
I now have friends that are interested in the concept of programming, but have no application for it. I'm happy to aid in their journey, but when they ask me "What should I program?" I have no idea what to tell them. "Pick something arbitrary" I say, only to hear "What's that mean?". I feel like programming is something most people either come to organically or don't follow though with, regardless of challenge involved.
If we are to think about what would make a successful programming class, would it look more like math such that "Today we'll learn math, because math will totes be useful later for some reason" or would it look like "Make a computer do something interesting or useful with minimal human interaction".
I always thought programming was cool but was never able to learn it (because of I bought some bad intro books to programming). Then one day I found out about the book C++ Primer Plus, it was wonderful :)
My first attempt at a real program was a console based repository management program for my dad's apparel company. Considering my dad didn't even know how to send email, he probably tried very hard to give me a good feedback. I didn't even know the existence of database, and just stored the data in binary files (I thought it was secure that way)
Funny thing is that after 2 years in college, I learned some web, database related stuff and developed the second version using Tomcat, Spring and MySQL. My dad was again forced to use it :)
Tl;dr: playing with tools, not toys.