For me what's inspiring about lisp machines is not any particular implementation detail, but the very idea that working with a computer can be this immersive, holistic experience where everything is accessible and workable through a single, but multidimensional human affordance; language. That the APIs and code within a computer system can be the ergonomic inward counterpart to rich accessible user interfaces, just as a man works with his hands and looks with his eyes, but easily turns inward to think and imagine. This is what I felt when I got that leaked Genera image going in a linux VM several years ago.
Its fair enough to say that lisp machines had this or that hardware limitation, or that they weren't really compatible with market needs, but to criticize 'lisp machine romantics' like this article does is to fail to understand what really motivates that romanticism. Maybe you have to be a romantic to really get it. Romanticism is abstract, its about chasing feelings and inspirations that you don't really understand yet. Its about unrealized promises more than its about the actual concrete thing that inspires them.
(I'm also an Amiga romantic, and I think what inspires me about that machine is equally abstract and equally points to a human attitude towards making and using software that seems sadly in decline today)
Mark created Blitz Basic on the Amiga, and then Blitz3d, BlitzMax and Monkey programming languages on the PC. He also published several games including Guardian and Gloom on the Amiga.
I got my start with Blitz on the Amiga, after it was featured in Amiga Format magazine. Back then it was expensive learning to code, but with Blitz, which cost about £60, you could write hardware hitting games, native GUI apps and terminal programs out of the box. There was nothing stuffy about it either, from the docs and Blitz User Magazines, you knew you were dealing with some fun loving kiwi guys who liked their games and rock music.
And unlike a lot of high-level languages back then, (which were a bit slow) you could, if you had the right design, create something in Blitz that stood alongside mainstream video game releases. Worms and Super Skidmarks were popular commercial Blitz games.
I owe Mark a lot. I did not have a background favourable to becoming a programmer, but Blitz helped make that possible.
I've had a similar problem trying to renew my Apple developer account. Had it for over 10 years. I had an email a few weeks ago telling me it could not automatically renew (same bank details that worked fine last year). Nothing I could do on their website would make it work. I got hold of someone on their online chat who directed me to the Apple developer forums.
I gave up in the end. But I will have to sort it out before I can release the Mac version of my current project.
I agree, why do so many think that an immersive computer environment that makes the full power of the machine ergonomically ready-to-hand is some kind of retro thing? It sounds like a futuristic improvement to me. 40 years ago we had bicycles for the mind. Today I want a Kawasaki h2r for the mind, but the tech industry wants me to ride the bus.
Personally, there were many things going on with the Amiga that I really enjoyed, things that have diminished or been left by the wayside as computers developed. I don't just mean technical stuff, I mean ergonomic and social aspects too. So I spend time on my Amiga to connect with those things and figure out how we can revive them today.
Yeah, I distinctly remember the exact issue of the magazine that previewed it. ACE Magazine issue 35, August 1990 [1]. It featured Wing Commander and several of the upcoming new VGA graphic adventures with scanned, painted artwork and quality art direction. It was like a new door had opened up to new experiences.
However I didn't get a PC until 1996 as they were so expensive. I grew up in rural working class England, and there were a whole bunch of us kids who got into computers and programming thanks to cheap home computers. Suddenly we couldn't afford to participate anymore, it was a really hard time to be a nerd.
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.
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.
When I got that leaked Genera image going in Linux I felt like I'd found a crashed UFO. It was incredibly inspiring and I don't think its true at all that we have surpassed it.
Why do I still have a clunky character-mode terminal instead of a Listener that can display rich text, images, mousable forms? Just think what we'd have today if we'd worked on that paradigm for 30 years instead of fetishizing the limitations of 70s minicomputers.
Why is it that when I type a command into said terminal and forget a parameter, I have to delete it, or open another window to type 'man', whereas on Genera I can hit <help> and view (rich, hypertext) documentation for a specific parameter, inline, while still typing in the command? That little feature was a revelation.
Genera's fluid, ergonomic developer experience is something we are turning away from more and more these days. Programming is increasingly surrounded by the most tedious bureaucratic and administrative work. The hoops I have to jump through before I can start creating something in a programming language are only increasing. If people had paid attention to Genera and to Lisp machines it wouldn't be like this.
And I've only mentioned surface aspects of the user experience. I haven't talked about being able to debug anything, or the idea that what look like applications are actually "substrates" that I can potentially use as APIs for my own work. We haven't scratched the surface yet.
heh, also at that time, there was little else to scratch that itch, other than going back to Frontier: Elite 2 on an emulator or something. That's how I got into Noctis all those years ago.
yes, I was a keen follower of the demo scene in the 16 bit days. not so much the C64, but the Amiga, and then the mid-late 90s PC scene.
Back then, it wasn't so much about limitation, though size-coding was always a thing. It was about seeing something new and cool that hadn't been done before. Pushing things further artistically and technically at the same time.
The Amiga was one of the most powerful machines available to the home market so programming it didn't feel like working under constraint, it felt like pushing the envelope of what was possible. Nobody had anything to compare it to, except maybe SGI workstations, which you'd only see on TV shows about movie special effects.
At that time demo programmers had parity with game developers and were sometimes the same people. You generally saw higher quality and more innovative effects in a demo than you did in even the biggest video games. And there was no video playback on computers, so all graphical effects you saw had some element of demo-scene adjacency, which made the whole thing feel unified, progressive and relevant.
As time went on and technology changed, it became less feasible for lone bedroom coders and small groups of Scandinavian teens to reach that "edge", and keep pushing the boundaries with the same mindset as before, so the emphasis of the artform seems to have changed towards constraint, and towards working with retro machines as historical artefacts.
The scene has had to reinvent itself a few times. I remember reading articles in HUGI diskmag 20-odd years ago discussing how demos had changed from being about hardware hacking, and getting graphics chips to do unusual things, to becoming more of an "algorithmic trip" thanks to the new pc graphics cards that were coming out.
Its fair enough to say that lisp machines had this or that hardware limitation, or that they weren't really compatible with market needs, but to criticize 'lisp machine romantics' like this article does is to fail to understand what really motivates that romanticism. Maybe you have to be a romantic to really get it. Romanticism is abstract, its about chasing feelings and inspirations that you don't really understand yet. Its about unrealized promises more than its about the actual concrete thing that inspires them.
(I'm also an Amiga romantic, and I think what inspires me about that machine is equally abstract and equally points to a human attitude towards making and using software that seems sadly in decline today)