Lazy Reading for 2019/03/17

Happy St. Patrick’s Day!


5 Replies to “Lazy Reading for 2019/03/17”

  1. Smalltalk failed because Smalltalk vendors were greedy and incompetent. None of them had ever heard of Turbo Pascal or understood its significance. The whole “computers were not powerful enough” is more an implementation issue that was not getting solved by those same vendors.

  2. Smaltalk (unlike Ruby, don’t know about Crystal) also had the same deployment problem as Common Lisp. Unlike most other languages, object-oriented or not, both Smalltalk and Common Lisp were delivery-by-saving-the-state-of-the-world systems. No sense of “here’s the source code to the program, which can be run, and ended” which most of the popular operating systems of the day actually supported. Both Common Lisp and Smalltalk were (at the time) single-threaded systems that ran the whole machine. Fun to develop a program on the machine you were using, but not trivial to distribute that to other people’s computers.

    Today’s equivalent would be software distribution by virtual machine image, which doesn’t seem to give most people the same creeping horror that it gives me. That’s also a “populate the machine state however you like and then freeze it” system. Probably one of the reasons why Smalltalk is getting another run.

  3. The term you’re looking for is immutable infrastructure.

Comments are closed.