The graphics software shown in this video (S-Graphics aka S-Products) partially outlived Symbolics and was evolved into Nichimen N-World and later Izware Mirai.
I began my 3D graphics development on a Symbolics workstation at the MIT Media Lab in the mid-80's. This was before the S-Graphics suite was released. [0]
The outstanding feature of the S-Graphics suite was the polygonal modeler which used a winged-edge structure that was far ahead of its time. It survives conceptually in the Wings3D system, which is a quite faithful copy of that modeler.
And of course you got the extensibility that came with the graphics system being built on Lisp.
But Symbolics was never, as far as I saw, a serious or popular contender in 3D production. Not only was the system expensive, but the hardware could not keep up with SGI's graphics abilities. Furthermore, the mass of CG developers at the time came from a C/Unix background, and rendering especially was so speed critical that C (and Fortran) resulted in faster systems.
Almost 40 years later, I have returned to the idea of developing a 3D system in Common Lisp [1]. We shall see where it leads.
This thread brought back memories of what could have been a game-changer for Lisp in graphics: Whitney/Demos Productions.
This was a company set up by the founders of Digital Productions of "The Last Starfighter" and Cray XMP fame. Their system was based around a Connection Machine and Symbolics workstations, with development to be done in Lisp.
Unfortunately, they folded almost before they started, due to their funding falling through.
One can only imagine how that might have changed the 3D production landscape.
My uncle wrote a TCP/IP stack for the early symbolics lisp machines. He told me at the time (probably early 90s) how they had what is now known as Time Travel Debugging[1]. I remember it just totally blew my mind when he told me in the debugger you could pause the process, step backwards, change some variables or even code, and then start going forwards again. Way ahead of their time.
I really don't understand how this company fell so far from grace. Their product was excellent. Don't get me wrong, I've read the history and understood how they failed to pivot from hardware Lisp machines, but they have completely vanished without even chugging along as a legacy systems provider (think OS/2).
Does any of their influence survive in modern hardware or software design? I hardly ever see Genera cited.
I believe there is still a minimal group of people providing support to some legacy customers. From what I've heard they have an emulator that originally ran on Alpha but was recently ported to x86 and then to Apple Silicon ( https://twitter.com/gmpalter/status/1350663314968350723?s=20 ). IP issues I think are sort of unclear and so the legal release of the software is tricky, if not impossible.
The intellectual property of Symbolics is currently owned by John C. Mallery, the developer of CL-HTTP aka the first US White House web server. He was interested in making it officially free, but unfortunately has gone silent about two years ago, according to the person who ported Genera to x86 and Apple Silicon: https://hachyderm.io/@gmpalter/109553414024392523
DEC basically ended up getting commoditized by Linux; they still had momentum when moving from VAX to Alpha. In the early 90s they were able to migrate many of their VAX/VMS users to Alpha/OpenVMS and their Ultrix users to OSF-1, but by the end of the 90s, many of their ISVs had released Linux versions of their products. SGI at least had niche applications that let them hang on independently for a bit longer.
DECs offerings really couldn't compete with that, and there was noting Compaq/HP could do about it.
They were really expensive. Many of their customers were first wave AI shop, so when they shut down that was alot of revenue. I think sgi took the graphics market from them
The 2D paint production was never taken over by SGI. That was essentially a clone of Quantel Paintbox which was locked into its own custom hardware but survived the 90s.
The Symbolics graphics software was bought by Nichimen. Nichimen ported it to SGI/IRIX and Windows NT, using Franz Inc.'s Allegro Common Lisp. It was commercially available as N-World.
Emacs was heavily inspired by the Lisp machine and is still widely used today.
However, I tried to start using it several times and gave up in frustration, it just won't fit me. Various vi-compatible modes make it even worse. And I love Lisp but without Emacs I feel like second class citizen.
Unlike Genera, it is trivial to run it on modern machines and it is open. You may also see how much the fame of Symbolics is based on work done on MIT. And remind the history that lead to GNU.
That's the original MIT Lisp Machine OS, but not Symbolics Genera and not their graphics suite, which was the software used for the created graphics (see the posted link).
Genera also had S-Graphics (a suite of 2d and 3d graphics software and a bunch of hardware for it), which was used in the graphics demo linked above. The software and the computers to run it were commercially sold and used in TV and animation studios. A lot of the early 2d and 3d animation in commercials on TV were done with S-Graphics. There is no comparable thing in the MIT software.
For example S-Graphics was used for this Apple introductory video for the Macintosh IIfx (1990).
Yeah, it’s like comparing a Lisa running the Office System to a PowerMac G3 running Mac OS 8. The family resemblance is certainly there, but one is way more advanced than the other.
The CADR was a research prototype of a University research lab for a new type of computer, with Lisp hackers developing an early OS and a few research applications.
Of the Apple Lisa roughly 80,000 machines for $10,000 per machine were sold. The CADR would have cost around 8 times more and only 200 had been built. Nothing which had reached the level of a product which one would like to ship to a customer.
"The LM-2 was a popular AI (Artificial Intelligence) machine when it was introduced in 1981. It had a 32-bit CPU with a 12K writable control store, 1MB of main memory and an 80MB hard disk. It also came with a bit-mapped display, mouse, and LISP programming environment. Symbolics introduced the Symbolics LM-2 in 1981. The LM-2 was basically an M.I.T. CADR, repackaged for higher reliability and easier servicing. Symbolics made numerous improvements to the system software and offered options such as Fortran-77, color graphics hardware, and the LGP-1 laser graphics printer. Alternative label copy: Symbolics LM-2 Symbolic Processing System, 1981 The LM-2 was a popular AI (Artificial Intelligence) machine when it was introduced in 1981. It had a 32-bit CPU with a 12K writable control store, 1MB of main memory and an 80MB hard disk. It also came with a bit-mapped display, mouse, and LISP programming environment."
Yes, they sold slightly improved versions in very low volumes (~ 100 LM-2 were sold by Symbolics, see above), until they had a machine that was a bit more designed to be a commercial product - machines which were still very fragile -> the Symbolics 3600 and the LMI LAMBDA.
Cycorp actively develops Cyc in a dialect of Lisp, which was originally written on Symbolics machines. Back when they had a physical office — in the before-times — they had a coffee table in the office lobby that was made out of a Symbolics, which when it was new cost over $20K.
I wrote that code originally, back at MCC. There was an Interlisp-D code base (Doug had been at PARC — we even overlapped) but the hardware you could buy was just way too slow. Plus the Symbolics machines were just better.
So I started from scratch and had the core system running in a long week end. Instead of “just growing” it had a layered architecture that people could build upon.
It was possible to integrate the new types so deeply into the system that they were indistinguishable from “system” types, which kept people from making mistakes or trying to be cute.
Hacking lispms may have been the most productive development environment I’ve used in my nature life.
Note: I had two fully decked out machines (8 MW of RAM — 40 whole MB), one with a color display. Probably $100K of hardware for one developer. They got their money’s worth, but honestly how many institutions could afford that?
Lisp was always such an odd animal, kind of the rotary engine of computer science. Although provably superior in every respect, no one ever seemed to build anything with it.
Programmers in the thread, when was the moment you bailed on lisp? For me it was when I saw some lisp longbeard on a message board answer a newbie's question by pasting a script that would have deleted their filesystem. I think it was meant to be some kind of teaching moment. At that point I decided this was maybe too hardcore a language community for me.
I'm curious to hear what broke others, particularly since this message board infamously began as a lisp fan site.
Regarding what lisp is used for, to quote Kent Pitman:
But please don't assume this is an exhaustive list, and please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and Ecommerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. Common Lisp really is a general language capable of a lot more than these few incidental application areas, even if this web page doesn't totally bring that out.
This is such a tired trope. Scheme, CL and clojure all have people building incredible things with them. Not to mention things like Cisco buying the company behind chez scheme. Ask yourself why. Ask yourself why nubank bought cognitect. Consider spritely goblins being built in scheme. lisp is a weapon.
> all have people building incredible things with them.
what the trope really meant is that why these lisp dialects do not become mainstream despite the sales pitch of it being superior.
The examples mentioned are niche at most. Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?
These are not languages for wide masses, TBH; they often require a paradigm shift, and you need to change how you approach the problems. Take, for example, Scheme - it doesn't have for/while loops out of the box, yet you can build a CLOS-like OO system on top of it (which can be considered one of the most powerful OO systems out there). Clojure doesn't allow you to mutate variables but has a killer multithreading ability without complicating the language (compared to Scala or Rust). Common Lisp adds a ton of stuff not found in mainstream languages: CLOS, loop DSL, macros that will generate macros that will create macros, and so on.
Quite similar is with other non-lispy languages: Haskell, OCaml, APL dialects... Yes, they are often superior (code is more concise, expressive, or faster), but the mainstream prefers to stay in the comfort zone of C-like languages and the way of thinking.
>Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?
It comes from History. Lisp was way more powerful than anything else but it was ultra expensive as it required special hardware that "hardware accelerated" the Lisp code. The basic Lisp instructions were opcodes.
We are talking about USD 100K-200K of the time for a single machine. Big multinationals discovering oil in Saudi Arabia could pay that(and paid that for 3d visualizations of the terrain explosions tests),big TV networks,multinationals, but it was out of reach for mere mortals.
In normal machines, Lisp was extremely slow as it was interpreted without native opcodes.
The first languages in microcomputers were basically Basic. Microcomputers were toys compared with any serious machines but normal people could buy that.
So programmers started using assembly to bridge the gap between underpowered micro-computers and the serious machines they have seen on their work of had heard about.
Using lots of efficiency tricks they managed to extract more and more power from those machines. More people bought microcomputers, prices went down, machines got more powerful.
Over time efficiency was not as necessary and companies started using C, that evolved into Obj C, and C++, java, python and the languages that we have today like javascript(developed with C tools).
There were billions invested in making that change possible. Billions that Lisp did not get.
Probably because vendors with deep financial pockets specifically designed/developed/selected these languages (JavaScript, Java, ...) to become popular, integrated them into their offerings and invested billions into it? It didn't save SUN (the developer of Java), which got into financial trouble and was bought by Oracle.
Lisp was already at the end of its hype cycle and had entered the death zone (-> the AI winter end 80s), when the Internet took off start/mid 90s. L*** was a forbidden word in the 90s.
I’m sorry you had that experience. I came to Lisp in the 90’s, forged in the fires of many a comp.lang.lisp flame war. But I’ve not seen anything like you describe.
And I’ve not seen anything like that in the, albeit casual, contact I’ve had with the Lisp community since then (mostly IRC). I think the Lisp community has always been quite friendly. Especially today.
Just my experience, I wouldn’t let that one experience drive you away. Modern books a projects in the field are excellent and exciting.
To your question, I’ve never really left Lisp, it’s just not been a good fit with my work or colleagues. But I will forthrightly say I’ve argued against it when a developer wanted to incorporate Clojure into our enterprise project. I didn’t feel it was worth introducing for a couple hundred lines of code since nobody else on the team knew it.
He's referencing an infamous c.l.l thread where pjb wrote some code that would delete all files in your hard drive.[1]
I find it silly to disregard a whole family of languages over a well-known nuisance on c.l.l, but I do not blame the poster. The proverb "one rotten apple spoils the bunch" comes to mind. In any case, this isn't the only place where pjb was simply toxic and encouraging people to stay away from a community or programming language. There is another infamous post of his on comp.lang.objective-c that is simply rude, no way to justify it.[2]
It wasn’t just pjb though. Even on the linked thread you can see another regular, not quite defending pjb for trying to wipe someone’s hard drive, being rude to the new user. And of course the name Erik Naggum is infamous.
I don’t know what the state of the community is these days, and I don’t know if a toxic community alone is a good reason to avoid a tool if it’s best-in-class. But the Lisp community definitely had a problem back then.
I don't think the "Lisp community" generally had a problem. What you remember was on an unmoderated Usenet group and by two people. Usenet was mostly unmoderated. What that means can everyday be experienced on 4Chan, 8chan, Twitter, Telegram, certain subreddits and other current social media channels - just in a million times amplified way.
Hackernews, btw. is moderated and posts/comments can be deleted by the moderators. comp.lang.lisp was not moderated.
The Lisp community at that time was much larger and way more diverse, spread over a lot of communication systems (often via Mailing lists), Universities (US with some other countries joining), R&D institutions and companies. In the very early days Usenet was only used by a small group of people (many Students and Academics), later also there were also personal accounts and private access.
Blaming the "Lisp community" now and then for the toxic behavior of two people on an unmoderated Usenet forum decades ago is not fair. In any large enough group one likely will find toxic people, that should be of no surprise.
I was participating in that Usenet forum and I never liked the toxic behavior of a few people and from the trolls (people poisen the technical discussion just for fun). This created a lot of heated discussions.
> And I’ve not seen anything like that in the, albeit casual, contact I’ve had with the Lisp community since then (mostly IRC).
I spent a lot of time in an IRC channel with a Scheme guy who would get mad whenever anyone mentioned JavaScript, because it'd given up its Scheme syntax, and insist on calling it "ECMAScript". I dunno though, that was probably just him.
Most of the internet's experience with Lisp comes from famously abusive people like Stallman and Erik Naggum though. Everyone else decided, like Norvig, that JS and Python were "enough like Lisp".
The most useful things I know of built in a Lisp are Crash Bandicoot games and the sandbox system in Mac OS X. But both of those left out the garbage collector, which is one of the main things Lisp programmers would always act endlessly superior about.
Or people who fly on planes built partially using ICad and or Genworks GDL (both Common Lisp) or maintained using Clojure (One of recent~ish airliners has diagnostic packages for maintenance techs done in Clojure)
Okay, cool, but the collector is used at runtime with TinyScheme. _cons calls get_cell calls get_cell_x calls _get_cell calls gc for example; what makes you think otherwise?
Right. I found <https://www.ise.io/wp-content/uploads/2017/07/apple-sandbox....> which agrees with you (on page 9). Guess it's down to defining "at runtime" now; the TinyScheme code (and GC) and Scheme code for the sandbox definitions are shipped to a user of macOS, and the user can invoke sandbox-exec with new sandboxing definitions (e.g. <https://jmmv.dev/2019/11/macos-sandbox-exec.html>), running TinyScheme and Scheme code. So I'd think Scheme is part of the entire sandbox system, even if not in the kernel?
>The most useful things I know of built in a Lisp are Crash Bandicoot games [...] But both of those left out the garbage collector, which is one of the main things Lisp programmers would always act endlessly superior about.
GOAL was a target DSL in Common Lisp, so garbage collection was still aiding the development.
I visited your country and was pickpocketed there. It might not even have been your countryman, since it was at an international airport terminal, but I've nevertheless given up on the language since. Too hard-core a place for me to visit, you know?
The graphics in the demo gave me the same vibe as the "Money for Nothing" music video by the Dire Straits. Does anyone know if that video was produced with such a machine?
As giantrobot said, Symbolics is the name of the company. I'd like to expand more on why. One feature that is relatively unique to Lisp is that it has a symbol type. Lisp code can use this type to represent Lisp code - making macros and dynamic code generation / evaluation a breeze. The name is a reference to this feature of Lisp.
The last version is available on the Internet Archive: https://archive.org/details/izware_mirai_1.1sp2
The history of Symbolics Graphics Division is documented here: https://ohiostate.pressbooks.pub/graphicshistory/chapter/6-3...