My two children seem to love technology and I want to see if I can provide a no-pressure, fun and intellectually stimulating environment for them so that they can give programming a try.
I was in architecture school and the coolest stuff we were doing was building 3D structures with a program called Grasshopper. I learnt that the program was written in Python code, and thought "the people driving the thing I'm most excited about in Architecture are programmers, not Architects".
Before then it had not really clicked how much code was driving innovation all over the place.
Programming lets me foster ideals without reproducing to amount for like a serial sense of beginning and ending. If I make a new function I can put it anywhere and refer to it as I do so I dont have to pretend I can't be Einstein or Euler and get on with just completing the next steps for them. This applies to video games, music, science, dancing, fashion and even, dare I say it, reading, as a way to motivate myself without the need to compile that my mind isn't ready to replace words with meaning if not to let me benefit from it. Rather than confuse myself with programming as coding practices. Its essential now.
I wanted to create things; games, demos; even boring business applications ‘out of nothing’. That was when I was 80 around 35 years ago. I still do and still have the same feeling when I finish something.
It was both the sensor array: microphone, cameras, IMU, GPS, etc, and the paradigm change of everyone having a computer in their pocket that got me excited about software.
Are there are any games they play/might be interested in that have scripting facilities of some sort?
I got into tech of various flavors by learning to write RuneScape bots circa 2005-2009. There were a few publicly available Java reflection-based bot dev kits at the time, which was my initial entry point. I later got into more advanced programming topics by figuring out how the SDKs themselves worked and rolling my own, as the widely used free ones tended to get your accounts heuristically banned quite a lot. Sysadmin stuff when I got around to setting up proper remote bot farms, etc.
My example is somewhat more ethically dubious than a lot of similar-ish stories (e.g. blizzard rts mod development, Minecraft mods, etc.) but I've always found that "pure" intros to programming tend to lack an inherent motivating factor like what you can get with messing with games, whether it's to make something cool, skip a grind or generate some pocket money.
Wow, this throws me back. I had the same exact experience. Now I'm back down memory lane thinking of that forum drama...
The RuneScape botting scene was so strange. It was a really interesting subculture to be a part of. If you were ever active on JH, we probably have seen each other's posts...
An different but related scene was the RSPS (Runescape private server) community that created replications of the game with a reverse-engineered client. Developing private server code was my first experience with programming and with backend software problem spaces like networking, concurrency/event handling, etc.
AutoHotkey[0], which is a phenomonally inconsistent and bizarre yet simple scripting language for Windows that lets you hack together pretty much anything. I knew nothing about programming and was just trying to do something simple with it (I don't remember what), and failing until I dove head first into the docs.
The I discovered the forums, which had a lot of healthy discussion at the time. I remember contributing to a clipboard manager written in AHK called Clipjump[1] that I still use to this day (great concept, not so great implementation). This was when I was in high school in the early 2010s. From there I got a lucky break when I was hired with no prior experience for a PHP4 scripting job, and then on to greener pastures from there with JavaScript and Python.
I knew that I wanted to be a math major when I started college, and my college's program required a course in programming. I took that first semester, and the rest was history.
I guess QBasic. Something about drawing a round face with two eyes using commands was just irresistible for me at one point in my life. Also nibbles.bas.
It's weird but I was never interested in it and had no idea what I was in for until I majored in computer science. My dad is a programmer and essentially told me that this is the way to go in the future. Having spent tons of time on the computer playing video games as a teenager, I figured it just made sense. Thankfully college opened my eyes to it and during the whole Facebook craze, it really sparked a ton of interest.
In the very early 1980s, my father took me into a bookstore in Auckland, New Zealand. While he browsed, I wandered over to the personal computer section where another shopper noticed my interest, asked my name, and typed
10 FOR I% = 1 TO 10
20 PRINT "HELLO, NATHAN"
30 NEXT I%
RUN
into a BBC Micro. And I was hooked. Mum and Dad saved for a year or two and bought me a Commodore 64, and I was away.
Now I try never to miss an opportunity to show the magic to young kids, and I always think of the kindly stranger when I do so.
I had a VTech "PreComputer 2000" in the 90's, a kids toy. It was battery powered, with a 2 line display, had word games, etc. One of the games was "BASIC", which was like a typing game that beeped a lot. I finally read the manual and found out that BASIC was a pretty good game once you understand it.
I'm glad the creators of that toy computer made it into an actual computing device, more than the mere toy it appeared to be, and that they included a manual which actually taught how to program.
i had a similar experience, making a little password "application" on mine. however, it didn't turn me on to programming. it was just a thing i did. many years later, i sort of fell into software. i still don't like programming because the tools are always well below what i'd like and really get to me. my saving grace is enjoying the idea of using programming to represent some concept or learn about some new idea. "doing" with software is very frustrating because, as bret victor has talked about, seeing the thing is hopeless with today's tools.
in high school there were a lot of "manual" arithmetic math problems. It was a lot easier to type the formula into a python terminal than using a calculator.
I was "in to computers." I liked looking through files, new software, and drawing in ms paint. As I started at university, my buddy said, "you should take a programming class." I took CS101 in C++. I got an easy 4.0 and he hired me at his start up doing PHP. That was the start. Then I went into insurance, financial advisement, and teaching math in highschool. All the while, tinkering and toying with programming and some odd jobs (all the while raising a family that we started a bit early by conceiving at age 15). After failing at insurance, failing at financial advisement, and failing as a teacher (which all hurt), my side projects caught the eye of a recruiter, and I interviewed at a few places. I ended up with a great software company where I have grown tremendously and am now (years later) a principal engineer. I love what I do and I think I am pretty decent at it :). What does this mean for your kiddos? Find something they like on computers and link that to a programming problem. Helo them learn that a computer is a tool and a tool they can alter and control to do what they need done. There is no magic there.
QBASIC.EXE! When I was in high school, there was this small program (small enough you won't delete for extra space for games) included with DOS that contained everything you needed to create a small program.
Today's official answer would be Visual Studio on Windows or Xcode on macOS which aren't simple or small.
The most similar contemporary approach to that simple game making is probably the 2D game engine LÖVE, which is awesome
My father writing a number guessing BASIC program on the computer in his lab (possibly a Vector 3, I don't know) literally in seconds - in 1982 - to demonstrate its capabilities to me.
I still believe BASIC (with line numbers, particularly on graphics capable systems) was the zenith of stimulating programming environments for beginners. Having everything you might want to do available for download/copy on the Internet within seconds is the opposite...
55 comments
[ 2.4 ms ] story [ 105 ms ] threadBefore then it had not really clicked how much code was driving innovation all over the place.
It was both the sensor array: microphone, cameras, IMU, GPS, etc, and the paradigm change of everyone having a computer in their pocket that got me excited about software.
I got into tech of various flavors by learning to write RuneScape bots circa 2005-2009. There were a few publicly available Java reflection-based bot dev kits at the time, which was my initial entry point. I later got into more advanced programming topics by figuring out how the SDKs themselves worked and rolling my own, as the widely used free ones tended to get your accounts heuristically banned quite a lot. Sysadmin stuff when I got around to setting up proper remote bot farms, etc.
My example is somewhat more ethically dubious than a lot of similar-ish stories (e.g. blizzard rts mod development, Minecraft mods, etc.) but I've always found that "pure" intros to programming tend to lack an inherent motivating factor like what you can get with messing with games, whether it's to make something cool, skip a grind or generate some pocket money.
The RuneScape botting scene was so strange. It was a really interesting subculture to be a part of. If you were ever active on JH, we probably have seen each other's posts...
The I discovered the forums, which had a lot of healthy discussion at the time. I remember contributing to a clipboard manager written in AHK called Clipjump[1] that I still use to this day (great concept, not so great implementation). This was when I was in high school in the early 2010s. From there I got a lucky break when I was hired with no prior experience for a PHP4 scripting job, and then on to greener pastures from there with JavaScript and Python.
[0]https://autohotkey.com
[1]http://clipjump.sourceforge.net/
Now I try never to miss an opportunity to show the magic to young kids, and I always think of the kindly stranger when I do so.
I'm glad the creators of that toy computer made it into an actual computing device, more than the mere toy it appeared to be, and that they included a manual which actually taught how to program.
Being able to create GUIs where I could put whatever I wanted seemed fun. Making it do something seemed even more fun.
Today's official answer would be Visual Studio on Windows or Xcode on macOS which aren't simple or small.
The most similar contemporary approach to that simple game making is probably the 2D game engine LÖVE, which is awesome
https://love2d.org/
I still believe BASIC (with line numbers, particularly on graphics capable systems) was the zenith of stimulating programming environments for beginners. Having everything you might want to do available for download/copy on the Internet within seconds is the opposite...