
The Art and Science of Smalltalk (1995) [pdf] - joubert
http://sdmeta.gforge.inria.fr/FreeBooks/Art/artAdded174186187Final.pdf
======
pjmlp
Using Smalltalk was a great experience.

And Oberon which was inspired by Smalltalk's brother, Cedar, as well.

I got to learn about workstation user experiences which were more interesting
than the UNIX way.

Sadly both failed to get adoption, but many of their ideas live on.

~~~
sebastianconcpt
First time I see a mention to Mesa or Cedar. Can you point some references?
Out of curiosity, is there any environment to play with?

~~~
pjmlp
The closest you could get to them was the whole line of Oberon operating
systems, namely Oberon, Oberon-2, EthOS and AOS (Blue Bottle).

As Wirth was inspired by them. Also those environments are hard to get to
nowadays, as ETHZ failed to make any of them get out of the university into
the mainstream.

I got to use them as they were considered new, but you need some computer
archaeology to find anything runnable nowadays.

Mesa is where Niklaus Wirth got his inspiration for creating Modula-2.
Likewise Cedar is how he got inspired for Oberon.

Mesa was a strong type systems programming language at Xerox PARC which
replaced BCPL.

Eventually Cedar was born out of Mesa by adding support for RC with local GC
for collecting cycles, objects and list manipulation support.

Being developed at Xerox PARC, its designers wanted to provide the same REPL,
interactive debugger and dynamic code loading experience as their colleagues
had on their Interlisp-D and Smalltalk environments.

Some of designers later joined Digital Research/Olivetti to create Modula-2+,
followed by Modula-3.

These environments represent some of the most important research in doing
systems programming in GC enabled languages.

 _Mesa Language Manual_

[https://archive.org/details/bitsavers_xeroxmesa5CSL793MesaLa...](https://archive.org/details/bitsavers_xeroxmesa5CSL793MesaLanguageManualVersion5.0Apr79_10261698)

 _the Cedar Programming Environment, a state-of-the-art programming_

[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.105....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.105.3163)

 _The Cedar Programming Environment_

[https://archive.org/details/bitsavers_xeroxparcteCedarProgra...](https://archive.org/details/bitsavers_xeroxparcteCedarProgrammingEnvironmentAMidtermRepo_13518000)

 _The Xerox Development Environment_
[https://archive.org/details/bitsavers_xeroxsddxdtsandPrincip...](https://archive.org/details/bitsavers_xeroxsddxdtsandPrinciplesSep85_6240532)

 _Adding Garbage Collection and Runtime Types to a Strongly-Typed Statically-
Checked Concurrent Language_

[https://archive.org/details/bitsavers_xeroxparctddingGarbage...](https://archive.org/details/bitsavers_xeroxparctddingGarbageCollectionandRuntimeTypestoa_1765837)

You can get lots of other Xerox PARC documents at
[https://archive.org/details/bitsavers_xerox](https://archive.org/details/bitsavers_xerox)
and see how advanced their workstations were vs what was happening at AT&T.

.NET, Java (including Android) and commercial Common Lisp environments are
probably the closest to the experience described in those documents that we
can reach out nowadays.

