December 30th, 2024

A Tricycle of the Mind

The author contrasts early personal computers with modern systems, highlighting their simplicity and accessibility, while expressing concern that today's complexity hinders children's independent learning and opportunities in computing.

Read original articleLink Icon
A Tricycle of the Mind

The author reflects on the differences between early personal computers and modern machines while building a computer with his daughter. He recalls his experiences with simple systems like the Apple IIe, which allowed for easy experimentation and learning without much adult supervision. In contrast, he notes that today's computers, despite their advanced capabilities, are more complex and less approachable for beginners. The author emphasizes that while modern technology offers vast resources and networking opportunities, it also presents challenges such as complicated software setups and a more distracting environment. He expresses concern that children today may not have the same opportunities to learn computing independently, as they lack the simplicity and accessibility of earlier machines. The author worries about the implications for kids who do not have supportive parents to guide them in navigating this complex digital landscape, questioning whether they will be able to develop a passion for computing without the foundational experiences he had.

- The author contrasts early personal computers with modern systems, highlighting their simplicity and accessibility.

- He expresses concern about the complexity of current technology hindering independent learning for children.

- The piece reflects on the importance of parental guidance in fostering interest in computing.

- The author questions whether all children will have equal opportunities to learn about technology today.

Link Icon 9 comments
By @theoa - about 2 months
Not short but almost understandable. Given a text editor, save the following text as drawline.html:

  <canvas id="myCanvas" width="500" height="300"></canvas>

  <script>

  const ctx = myCanvas.getContext( "2d" );
  // Draw the line
  ctx.beginPath();
  ctx.moveTo( 50, 50 ); // Starting point
  ctx.lineTo( 200, 150 ); // Ending point
  ctx.stroke();

  document.write( "Hello World" );

  </script>
JavaScript is quite forgiving. No need for the HTML preambles. "document.getElementById" is a nicety that can also be ignored.

Nonetheless, I (born 1947) too miss the simplicity of BASIC, the plethora of magazines for beginners, the many shelves of "for dummies books". And, especially, that we were all beginners.

These days, full stack developers and AI are priestly classes that that, currently, do not facilitate the investigation by newbs of the black boxes they create.

Nonetheless, I look forward to AI being able to read aloud Python, Rust, Cobal, Euler notation, Greek or whatever in ways that I may understand.

By @citelao - about 2 months
What a timely article! I've been thinking about writing something similar for a bit.

I was doom-and-gloomy about how programming is more complicated now, but then friends pointed out a bunch of things to me:

* Arduinos & ESP32s (<$5): program in a simple app, flash over USB, & you're programming bare metal. ESP32s have Wi-Fi & Bluetooth

* Raspberry Pi ($30-$80): program on a real, self-contained Linux OS. If you trash it, just reset the SD card. GPIO, Bluetooth, Wi-Fi.

* Web (free): like theoa points out, you can make apps that work on any modern computer/phone in a single file with no compilation & instant output (and share it on GitHub Pages).

* Go & Rust (free): 2 easy-to-build-and-install languages, & Rust feels "C enough" to sate anyone who wants to learn "low-level" programming.

* Pico8 ($15): fake 8-bit console w/ dev tools. [Celeste](https://maddymakesgamesinc.itch.io/celesteclassic) was first written for Pico8.

* Unreal Engine/[Unreal Editor for Fortnite](https://www.unrealengine.com/en-US/uses/uefn-unreal-editor-f... (free): make games using the same engines everyone else uses

* Roblox? (free???): make & share games with your friends

IMO, the hardest things in 2024 (hah) are native app development & "modern" web development/anything that includes a login.

I don't have enough context for your points about learning without adult supervision, but I know that all of these options are very well documented; I bet No Starch has some good books for each?

Thoughts?

By @michaelhoney - about 2 months
For an accessible and pretty simple sandbox I would point people towards p5js: https://editor.p5js.org/
By @bryanrasmussen - about 2 months
I sort of disagree with the example of the Python code and the BASIC code - if you have a pretty smart kid who knows the English language who decides to think about things when looking at these two bits of code the one looking at the python code might think "I bet I can learn how to do this" the one reading the BASIC code will not think that intuitively from looking at the code and knowing nothing else.
By @fernly - about 2 months
I would think that if you couldn't set up a modern computer so that it launched a BASIC interpreter immediately on completing boot-up, you could at least have the BASIC ready as an obvious icon on the desktop and taskbar/dock, so that a double-click would get it going. Microsoft 365 BASIC is a thing for Win11, and on the Apple App Store there is BestBASIC with an example of it drawing the Mandelbrot set. There are also LOGO interpreters for Win and Mac.
By @incognito124 - about 2 months
> If you manage to start a Python REPL – which for most computers is either not pre-installed (Windows) or not obvious to beginners how to start (macOS/Linux) – there aren’t any graphics capabilities

That's not true. Python has a builtin turtle module which emulates LOGO. https://docs.python.org/3/library/turtle.html

By @block_dagger - about 2 months
I also grew up with an Apple IIe and made dungeon games and text adventures in BASIC. But I was limited to a single manual and lived in a rural area with no nerd friends. The Internet, phones, and LLMs fill in all the gaps now, so the added complexity of today’s hardware and software is much more manageable. They are the third wheel on the tricycle or, if you prefer, training wheels on the bike.
By @invalidator - about 2 months
TempleOS deserves a mention here. It boots up into a simple system with a C-like language featured front and center. It makes it easy to write small programs with simple graphics.

It feels like the Apple IIe and GW-BASIC systems that I cut my teeth on, but with more features (Simple windowing TUI, good editor, extensive help system, many examples) and high performance (compiled code running on modern x86 hardware).

I don't know if I'd give to a kid as their only computer (For better or worse, there's no networking, and I wish it had high res graphics modes and a little more polish), but it's a really cool environment for a curious young mind to explore.

https://templeos.org/

By @reissbaker - about 2 months
I feel like Claude (or other LLMs) kind of solve this TBH. There's now an incredibly intelligent teacher built into the computer, who you can talk to and who will answer your questions. For getting started with basic web development it can take you a very long way.