1. 10
    1. 2

      Right, I usually attribute this to complexity, as a result of increasing entropy over time. When things were simple, we had a handful of ways to interact and command the computer. It was easy to follow the instructions in a page of a magazine, fire up that interpreter, type in the code, and see the results. Now there are just so many ways we can interact with our computers on so many layers. You can do so many things to your bicycle, but to an airplane, most are only for the ride. Some people feels uneasy with TIMTOWTDI, but unfortunately this is what we have with our computers now, though some companies are trying to limit what we can do, and people hate that too. For drawing an image like that one-liner in the post, the easiest I can think of is open the javascript console of this very browser I’m using and type in the following,

      i=new Image();i.src="/favicon.ico";
      c=document.createElement("canvas");c.width=128;c.height=128;
      x=c.getContext("2d");x.drawImage(i,64,64);document.body.appendChild(c);
      

      People would laugh if you put the above in a magazine now. What? A magazine with computer code on a real paper?

    2. 2

      My older child did some programming in Khan Academy; their environment is JavaScript, I think based on Processing. My younger child is currently obsessed with Scratch. I think both of these environments are kind of reasonable for children programming on modern hardware and operating systems. They both kind of remind me of Logo on the Apple II.

      The biggest problem I experience with them is that both environments come with a social platform with tons of games written by more advanced users. And that would be great if my kids would dig into those games and fork and mod them, or if they would use them to learn things for their own games, but mainly they just play them. And the big jump in complexity might be discouraging, like how do I go from my little animations to these complete games.

      1. 3

        Yeah, i wanted to get my kids into that, but with all the distractions, I was thinking of getting an old school thing like a Speccy that I had. There’s nothing else to do but hack at it :)

      2. 1

        I’m not sure how much of a jump this might be for them, but the PICO8 ‘fantasy console’ is fantastic for being able to (A) play the games, but often also (B) crack open the games and see how they tick. The community is also pretty fantastic and very helpful, in my experience.

        1. 1

          I have heard of it, but never looked into it. Perhaps it is time for me to do so.

    3. 1

      ISTM that one of the best potential answers to this that is already out there is Oberon.

      Oberon is an OS and a language. It’s FOSS. It’s a clean, readable language, a descendant of Pascal.

      http://ignorethecode.net/blog/2009/04/22/oberon/

      It’s tiny. The whole OS, with its tiling window UI, network stack, the IDE, the compiler, and tools, is well under 100K lines of code.

      https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.7173&rep=rep1&type=pdf

      Its fancy pre-emptive multitasking, SMP-capable descendant A2, which supports TCP/IP, email, a web browser and so on, has media playback facilities and so on, is still only a few times larger. I suspect the entire OS is considerably smaller than a single contemporary Linux tool such as, say, Vim.

      http://www.projectoberon.com/

      It has native x86-32 versions as well as running under Windows, Linux, macOS, and in Javascript inside the browser. In the past it ran natively on StrongARM, PowerPC, and I think 680x0 and SPARC and things.

      It’s portable. Today, basic Oberon should be able to run on a Raspberry Pi Pico, or some $20 ESP32 board such as a Lilygo TTGO-VGA32.

      It’s something like 0.01% of the size of even a lightweight modern Linux distro such as Raspbian. Ideal to give to kids and let them play, safely, without any risk of viruses or malware.