Childhood Computing
118 points - today at 12:07 PM
SourceComments
Anecdotally, the cassette player that came with the machine had a misconfigured tape head. Because there was no internet nobody knew why it didn't load most of the games I got with the machine. However, saving and loading programs did work. So, I started writing programs from the user manual and game listings from some programming books I found in the library, and saving them on my cassettes. Because the user manual covered not only some tutorial BASIC but also the machine's graphics, sprites, sounds, and what other features I eventually, after getting some hang of writing BASIC, did also realize that what I could create with the machine hardware itself was virtually unlimited. I didn't necessarily know what the commands did with the underlying hardware but I knew if I poked certain numbers into certain addresses I could make my sprites appear on the screen and make them move around.
By the time I got the cassette player fixed by some computer repair shop, learned about tuning the tape head, and I could finally load all the games bundled with the machine, I was seriously hooked with programming and the highly desired games no longer seemed that interesting in comparison. I knew someone sat down and wrote all those games and instead of playing them I could learn to do the same myself.
Been programming ever since.
Our first family computer was bought back in 1995. IIRC it was a 166 MHz Pentium / 16 MB ram machine with Windows 95. It cost around $3500-4000 back then, and that's not adjusted for inflation.
EDIT: As a side note, 3 years later I managed to get my hands on a copy of Half-Life, right after it was launched. Our computer, with standalone graphics card, was barely able to run the game. Back in those days, being a gamer and chasing cutting edge graphics was really expensive.
Prior to this we had a electric typewriter, and the main purpose of the machine was to be used for writing documents and other business activities. My first experience with programming, was editing HTML files. I then went to the library to look for books on programming, and the only book I could find there (rural nowhere with population 3000) was a book on Pascal, or possibly Delphi.
I was told that there was this one wiz kid in our small rural town that as supposed to be "really good with computers", he was a couple of years old. I hit him up, and the first thing I noticed in his room was this big "Borland C++" box on his shelf - he showed me a basic 3D flight simulator clone he was working on, as well as some sort of Doom clone. I was in awe.
Suffice to say, he did very well during the dot com boom. Skipped college, and went straight into employment.
A couple of years later, when I started in high-school, some older semi-retired developer had recently moved to town. He worked with our school, and offered a Java programming class. Really excellent teacher, and that was the moment I decided I wanted to work with computers.
With my kid I want to ensure that fundamentals of computing are understood as early as possible, this is what allows you to understand how the world is interconnected.
This means that you could create cool looking graphics easily. For example, you can just compute the points of a circle and draw the points one by one, and in the screen it will show a full circle being drawn.
"Modern" graphics libs (even SDL I think), made this impossible by having redraw the whole screen every frame so that now my program has to remember all the points there the program drew before to get the same effect.
The former workflow made graphics programming so much fun for me and I find the modern "fast rendering pipeline" boring and not a lot of fun.
Things like that, one by one, have sucked the whole fun out of computing.
https://people.eecs.berkeley.edu/~bh/logo.html
Ah, yes, moving a turtle and yaddah yaddah. Yes, you have it, and material on par (I am no kidding) to "Intro to symbolic computation" from the Common Lisp world. The 3rd volume can be hardcore compared to what I learnt in Elementary with Logo.
I spent much time carefully typing these things in (spy games, horror games, etc), then even more time designing my own adventure games after reading the adventure titles.
https://community.carbide3d.com/uploads/default/original/3X/...
(If someone knows a good/ideal technique for that, I'd be glad to learn of it --- my math background is kind of shaky)
The school computer lab had Visual Basic but you only got an hour week in there as part of the computing subject, the school library computers couldn't have it because the licence was per seat not per site.
You really only had QBASIC which was great but we really wanted to write Windows apps. You'd be up for a thousand dollars for a MSDN academic subscription just to get Visual Basic.
I guess the blessing was instead of Windows apps we made web pages and JavaScript games hosted on our parents ISP webhost accounts while we dreamed of the day we'd have enough money to buy our own .com domain.
Impressive how that part changed. Today, many computers are cheaper than the desk they are sitting on. Many companies pay over $2000 for office furniture, and that's not even fancy. A $1000 laptop sits on top of it.
Furniture made by an actual cabinet maker will easily get to $5000+. About the price of a maxed out gaming rig, or an enterprise level workstation.
Seeing kids nowadays interfacing with just a touch screen makes me fearful that a foundation of knowledge is not being built, even among the more nerdy types.
I also remember that the game speed was set to some factor of the computer's clock speed. When I later tried to run the same game after I upgraded my hardware, the game went so fast, you could not even play it.
One of my strongest-held opinions is that children need to be taught, explicitly and by example, that there is nothing you see on the screen that simply "comes with" the computer, and that of all the fascinating/distracting/useful things on the web, none of it just "appeared." It is all the result of people making creative decisions and doing creative, technical, intellectual work to bring ideas to life.
Lots of stimulating books and messaging for children focus on how things in society and in the physical world come to be. Holes are dug, resources are gathered and processed, smart people create complex things including machines that create even more complex things. People perform hard labor to achieve amazing things. People gather, form consensus, and create social structures and government. People have ideas and create art. People observe problems and create solutions.
Children internalize this messaging and develop an appreciation and understanding of how effort, creativity and intelligence result in amazing things that make everyone's lives better, but (in my opinion) that messaging was never sufficiently updated to ensure that that appreciation and understanding extends to software, which increasingly runs our world. We don't put enough effort into showing children that their favorite games, all the stuff in all the menus on our phones, all the software they use to learn or communicate or play, all of it is made by people who had ideas, made design decisions, and then made them real through accumulated wisdom and great intellectual effort.
Not every kid needs to "learn to code", but they should all learn that everything they look at and tap on their screens was made by people who did, and who wanted to make things to solve problems and make life better.
It's unfortunate that the rise of AI slop has complicated this message; that's all I'll say about that.
Nostalgia for the old web - building websites in HTML on Angelfire and Expage.com. Learning programming on visual basic and how to copy and paste <marquee> to welcome people to the site and to sign the guestbook…
- Oregon Trail
- Where in the World is Carmen Sandiego
- Super Solvers (the best of the lot)
I also got a Windows 95 IBM Aptiva PC from my parents that had a lot of educational software. I can only remember some of it:
- The Lost Mind of Dr. Brain (I loved this game - it had logic programming, 3D spatial reasoning tasks, biology, ...)
- Encarta Encyclopedia virtual maze
- Mavis Beacon Teaches Typing (I hated it; I learned to type when I got onto IGN Boards, EZboards, AIM, and IRC.)
- King's Quest VII (this counts as educational logic puzzles, right?)
- MechWarrior II (well, I considered it educational...)
I'm envious of kids today growing up with LLMs and vibe coding. I would have had a blast at that age with the tools we have today.
There is a lesson in there somewhere that humanity has not yet woken up to.