木星Ace的奇特案例
The Curious Case of Jupiter Ace

原始链接: https://nemanjatrifunovic.substack.com/p/the-curious-case-of-jupiter-ace

Jupiter Ace于1982年推出,其独特之处在于ROM中使用了Forth语言而非BASIC语言,这源于其创造者在Forth方面的技术专长。虽然早期的家用电脑通常直接启动BASIC解释器来进行用户界面和硬件控制,因为BASIC具有交互性强、占用空间小和易于上手等优点,但作者认为选择Forth并非错误。Forth同样具有交互性,内存使用效率高,并且在严肃的软件开发方面更胜一筹,其速度接近汇编语言。 Jupiter Ace的失败主要源于其过时的硬件。它只有3KB的RAM和简单的黑白图形,与同时代的竞争对手如ZX Spectrum和Oric-1相比相形见绌,后者拥有彩色显示和更大的内存。大多数用户并不关心ROM中使用的语言,他们更倾向于使用预制程序。最终,Ace只吸引了一小部分Forth爱好者,使其硬件缺陷成为致命的弱点。

Hacker News的一个帖子讨论了Jupiter Ace电脑,这台电脑以使用Forth编程语言而闻名。文章《Jupiter Ace的奇特案例》正在被讨论。一位评论者发现用户手册是一个不错的Forth教程。另一位评论者对文章做出了修正,澄清了Oric-1电脑虽然最初配备的是16K RAM,但很快就能买到48K配置,而且很容易升级。Oric-1也比Jupiter Ace更成功,尽管两者都不是巨大的市场成功。虽然Jupiter Ace因其Forth实现而受到赞赏,但Oric-1/Atmos拥有更多软件支持,包括新开发的程序。
相关文章
  • (评论) 2024-04-07
  • (评论) 2025-03-18
  • (评论) 2024-04-29
  • (评论) 2023-12-11
  • (评论) 2024-06-17

  • 原文

    On September 22, 1982, another small home computer was launched in the UK. Named Jupiter Ace, it was created by Jupiter Cantab Limited, a tiny startup founded by two engineers who had previously designed Sinclair ZX Spectrum: Steven Vickers and Richard Altwasser.

    What distinguished Jupiter Ace from many similar computers of its era was that its ROM contained Forth instead of a BASIC interpreter. It was not enough to make it commercial success and the production ceased after a year. While the story of this computer and its creators is fascinating, this article focuses on one aspect of it: why was having BASIC embedded in ROM so important back then, and was replacing it with Forth a mistake?

    It is often said that early home computers did not have an operating system and booted directly into BASIC. This is only partially true: these devices did not rely on disk drives; the system software that controlled them was stored in read-only memory (ROM). It did not provide process isolation, memory management, file systems, security and most other features that we expect from an operating system.

    It did perform two important functions, though: it controlled the hardware, and provided a user interface in the form of a command line interpreter. In some computers, the interpreter was neatly separated from the rest of the code in ROM; for instance, the Apple II had three distinct ROM sections: software for controlling the hardware, the BASIC interpreter, and the system monitor. In other computers of that era, packing as much functionality as possible in the few kilobytes that were available was considered more important - the ZX Spectrum was an example of that approach. In all instances, however, a BASIC interpreter served as the user interface - not unlike a Unix shell.

    But why BASIC? The language has certain characteristics that made it suitable for home computers:

    1. It is interactive, allowing users to issue single commands and receive immediate feedback without having to go through a compilation process.

    2. It is compact enough to fit into tiny ROM space of that time.

    3. It was already familiar to many people who had encountered it at college, and simple enough for newcomers to grasp quickly.

    The last point was particularly important, and according to Chuck Peddle who designed the first home computer - Commodore PET 2001, it was the main reason he decided to include BASIC in the device’s ROM.

    The use of Forth instead of BASIC is often mentioned as the main reason for the demise of Jupiter Ace. In my opinion, Forth was actually the machine’s main selling point.

    From a technical perspective, Forth was a solid choice for a home computer’s interpreter:

    • It is interactive, although it does involve a compilation process for new functions (“words” in Forth terminology)

    • It can operate under extremely tight memory constraints, which is why it was a popular choice for programming microcontrollers during the 1980s and 1990s. For example, milliForth occupies only 336 bytes.

    Compared to BASIC, Forth’s main drawback was that it was less well-known and more difficult to learn. However, it was far superior for serious software development, and programs written in Forth ran much faster - almost at the speed of assembly. Forth was a perfectly viable option for developing commercial software in a relatively high-level language, which was uncommon at that time.

    The real reason Jupiter Ace fumbled was that its hardware was outdated: it was shipped with only 3KB of RAM and basic graphics with no color. By the time it was released, Sinclair’s ZX Spectrum had already been available for several months; it was somewhat more expensive, but it had color and much more memory than Ace. Another example of a home computer that emerged at the same time is Oric-1 which also came with color and between 16KB and 48KB of RAM.

    Ultimately, most home computer users were not particularly concerned with the programming languages in ROM - they would just learn a command to load a program from a cassette tape. Advanced users who did care for programming languages were already looking for machines with better keyboards and more memory. Ace was an attractive option only to a handful of Forth enthusiasts.

    In conclusion, bundling Forth with the Jupiter Ace made it stand out among many similar computers that appeared in the early 1980s. In fact, if you want to learn Forth today (which I recommend), a fun way to do it is to fire up an Ace emulator and follow the excellent manual written by Stiven Vickers: Jupiter Ace FORTH Programming.

    联系我们 contact @ memedata.com