Hacker News new | ask | show | jobs
by dansalvato 870 days ago
The Amiga I grew up with only ever had AmigaOS 1.3, but I’ve heard a lot of praise surrounding ARexx, a scripting language that I believe shipped with 2.0 and later.

From the AmigaOS wiki:

> The ARexx programming language can act as a central hub through which applications - even those created by different companies - can exchange data and commands. For example, using ARexx you can instruct a telecommunications package to dial an electronic bulletin board, download financial data from the bulletin board, and then automatically pass the data to a spreadsheet program for statistical analysis - without any user intervention.

On a more personal note, I’ve been working on a game for classic Amiga over the past couple years, and it feels like such a novelty to have OS bindings for things like memory allocation and file handling while working with a machine from 1985. Especially for file handling, I have the assurance that my game will run off of floppy, hard disk, or even a RAM disk on any generation Amiga, because I get to use modern file path logic via the DOS library.

1 comments

As a language Arexx was pretty awful, but the pervasiveness of Arexx ports and user expectation that "everything" should be accessible to script made it immensely useful anyway.

E.g dbus on Linux is comparatively underused because the threshold to using it is too high.

I think my unreasonable expectations for applications to be scriptable today comes from my experience with the Amiga.

I didn't know the words "interprocess communication" when I first encountered Arexx and Aress ports. I came from a mostly MS-DOS and Windows 3.1 background. I hadn't used much multitasking software up to that point.

Once I grokked why Arexx ports could be cool and useful I had a terrible time trying to explain them to non-"Amiga people". I remember a friend asking to be shown the "Arexx port" on my Amiga 1200 trying to explain it was a software construct and not a physical hardware device. I'm not sure if knowing the words "interprocess communication" would have helped, but it couldn't have hurt.

I feel like I've spent a significant part of my sysadmin career making dodgy hacks to bolt-on IPC functionality to applications that don't properly expose any. Fortunately it feels like it happens a lot less today than, say, 25 years ago.

Yeah, on Linux even when there are dbus ports (systems and Gnome have plenty) they're relatively poorly known and/or not much less of a pain to use than a "proper" API.

If you need a schema or binding, it's not good enough. If you have to hunt for docs, it's not good enough.