* Posts by lispm

7 publicly visible posts • joined 26 Dec 2023

War of the workstations: How the lowest bidders shaped today's tech landscape

lispm

Re: Sorry Liam, Not Even Wrong...

> Dylan was a total mess of a functional language that was a huge resource hog and never worked properly on the Newtons. ... An opinion totally confirmed when I saw the first device in action.

Where did you see Dylan on a Newton? The actual product never used Dylan. They were programmed in C / C++ and NewtonScript. No shipped Newton ran any form of Dylan.

lispm

Re: Remove those retro rose-coloured glasses

Few professional programmers do that. If you look at parentheses to read Lisp code, then you doing it wrong.

Keeping the list balanced, etc. is done by the source editor. It also counts parentheses for you. It swaps list elements, inserts new ones, deletes some, shows arguments, etc.

1) One reads Lisp code by looking at the operators, which usually have names and are the first element of a list.

2) One reads Lisp code by the indentation patterns.

To an experience Lisp programmer, the code you show looks horrible. Never put parentheses on its own on a line. Never write end comments.

One learns to read Lisp code by writing, manipulating and reading it.

One big difference of Lisp and say C, Java and code in many other languages: the source code is actually data and often will be formatted by the Lisp system, outside of an editor. Even in an editor I would have Lisp format the code for me, incl. code layout. In the Lisp Machine editor this was called "grind" and on the Lisp data level, it is called pretty printing. Thus one learns how the Lisp system formats the code according to rules.

lispm

Re: Yes but no

> Who bought a Symbolics workstation for an end-user?

A lot of the high-end animation industry bought them in the end 80s. A lot of the 2d and 3d animation in TV were done with the Symbolics Graphics suite. You'll find demo reels on Youtube of TV commercials of that time. For example Apple animated an ad for the introduction of the Mac IIfx.

iCAD started parametric CAD on the Lisp Machine. CDRs from Evans and Sutherland was deployed on those in the early days, used in the automotive industry for car design. American Express used a bunch of them as application servers for credit card transaction checking. Swiss Airlines used them to optimize bookings of airline seats, connected to a mainframe. Some power plants used them to schedule operations. Nasa had Symbolics machines overseeing the Space Shuttle starts with HDTV cameras. For scheduling the Hubble Space telescope a system called Spike was developed. The military had large troop training simulators with 3d worlds (Simnet), the troop training worlds were generated by a Lisp Machine. TI used them in Chip design. Ford used them for manufacturing scheduling. There was a language translation application (Metal) where the translation software was running on a Lisp Machine and the users were using PC frontends to edit the text. and so on...

lispm

Re: You must be kidding

> You had to program them in Lisp, which, in case you missed it, was a pretty unreadable language. It had some clever parameter binding rules that let you create closures, but otherwise it was a pretty low level language.

The Lisp Machine was programmed in a very capable object-oriented Lisp (with mixins, multiple inheritance, :before/:after methods, ...), down to the metal. Everything was completely object-oriented, incl. a lot of the low-level operating system code, incl. file systems, network stack, graphics, ...

lispm

Re: A lot of design points were being explored at that time

> those ancient Lisp and Smalltalk workstations had limitations: they were single-processor and single threaded systems

They were not single threaded. Lisp Machines had multiple threads. Each window had its own thread. Even the mouse handler had its own thread.

> or any long disk activity or network activity would (or at least could) hang everything until completed.

That was not a problem on a Lisp Machine. My Symbolics Lisp Machine had a really capable process scheduler.

lispm

Re: What Is A “Workstation”?

> Dedicated Smalltalk and LISP machines gave us a certain kind of power, but at a cost: when you have no source code files

Lisp Machines have source code files. Even versioned.

> All you can do is exchange VM snapshot blobs in their entirety.

That was never the case.

lispm

Re: Instant Mutability of Software Systems

> issue with the interpreters is no version control beyond SAVE MYPRG001.BAS, then SAVE MYPRG002.BAS,

The Lisp Machine had a versioned file system. You edit myprog.lisp.1 and the next save creates myprog.lisp.2. You can also edit myprog.lisp.newest and it will open the file with the highest version number.

> Can you save a LISP "world" without shutting down and re-powering the machine?

Yes

> How are they named?

You give it a name. It's a file on a disk.

> How do you specify which one to boot?

It's a parameter in a boot file to the boot command. You can also type the boot command into a boot loader command line