top | item 39240793

(no title)

richardjdare | 2 years ago

Yes, I grew up on the Amiga and think about this a lot myself. I think the Amiga occupied a sweet spot in the history of computing. You could kick out the operating system and hit the hardware directly like an 8-bit machine, but you also had a true multitasking OS, a lightweight GUI and a command line environment that approached Unix only on a much cheaper machine. And as you say, it was feasible to learn and master all of it. And the hardware was interesting enough that devs could be creative with it throughout its lifetime.

Accessibility, and ergonomic access to the power of the machine definitely has a lot to do with it. Blitz Basic is a good example. With Blitz on the Amiga you could write hardware hitting games, native GUI apps and command line tools out of the box, with no dependencies and none of the tedious configuration and administrative work that now accompanies supposedly high-level languages today.

You'd think that in 2024 our high-level language environments would be even more ergonomic, that you could open a window, play a sound or draw something in one line of code, out of the box. But we've let that fall by the wayside. It frustrates me every day when I think back to the future I imagined as an Amiga user.

I really hope that the Amiga's accessibility and immersiveness is something we can revive in some way. Our systems are now very complex, but I don't believe that should preclude such complexity being within a humane, ergonomic framework that can be navigated and known.

discuss

order

tadfisher|2 years ago

Our modern language runtimes want to be small and portable across platforms, so all the features someone might want in an accessible BASIC-prompt-like environment (drawing to the screen or playing a sound) are delegated to libraries. Libraries make the user engage in dependency management, so they have to create a project, learn Cargo or 'go dep' or npm, find out which packages to install that give them the APIs they need, learn those APIs through varying qualities of documentation, and finally figure out how to import and call those APIs in their program.

The best system for an all-inclusive programming environment like this, that one might feasibly already have on their system, is Emacs; this is because they've accumulated this stuff and made it available on every platform, so you truly can write a couple of lines of Emacs Lisp to draw an image or play a sound without getting into the arcaneries of dependency management. But even with Emacs you need to know the right incantation to get to a REPL or execute code from the *scratch* buffer, and your PC is never going to ship with a bootloader that jumps straight into Emacs.