5 comments

  • crystal_revenge 2 hours ago
    I developed a (personal) Squeak application a few decades ago and to this day it stands out as a novel software development experience that I'm very glad I did. I highly recommend everyone even remotely interested in Smalltalk read the classic "Design Principles Behind Smalltalk" [0]

    Perhaps the most immediately shocking feature of Squeak is the "world" which relates to the principle:

    > Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one.

    This means all Squeak programs live in their own, entirely Squeak based, virtual machine. This was, understandably, off putting to many devs since you can't bring any of your local tooling with you, but it had some interesting consequences. For starters, way back in the early 2000s, you could keep your Squeak image on a thumb drive and bring your entire dev environment with you to not only different computers, but different OSes! Then, in the Squeak window system, you could view the source of any arbitrary window or part of the gui.

    Squeak, despite the small community, had some really novel software at the time. Monticello was a dvcs that predated git! There were also a proper object graph database, GemStone, that could be used for object persistence that, at least from an interface level, still beats any ORM we have today. There was also a feature that allowed method lookup by putting in the inputs and expected outputs (I still haven't seen anything like this).

    In general learning about the history of Smalltalk interactively really drove home how incredibly novel of a system is was, and still remains in some ways today.

    0. https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....

    • igouy 26 minutes ago
      > Squeak, despite the small community …

      fwiw GemStone (and other commercial Smalltalk implementations) preceded Squeak.

    • znpy 5 minutes ago
      > > Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one.

      Squeak/Pharo and Smalltalk in general never took off (and it’s unlikely they ever will) because of this mindset.

      I dabbled a bit with pharo and this mindset became evident pretty much immediately.

      The thing is: for many things pharo/squeak are really shitty runtimes (think smp/threading, high-throughput or low-latency i/o, network protocols support etc). But the OS is generally great in that sense.

      Smalltalk is nice but it will never get past the “toy language” phase with that attitude.

      Also: in terms of object database Versant OODBMS is much better :P

    • hosh 1 hour ago
      I am very interested in the combination of Smalltalk and local-first (offline-first) designs, and the ability to share code and data on ad-hoc networks.

      I know the One Laptop Per Child project started with Squeak (Scratch) with this in mind, but Scratch has since moved to an always-on Internet and Python for the environment.

      I know there is a preoccupation on LLMs and vibe coding … but just as there is a smallweb movement keeping that torch lit in a sea of enshittification, there is something to be said about a development environment that can be customized by end users. For example, a website/blog authoring tool or RSS feed reader written in Smalltalk would be interesting, if not directly monetizable.

  • conartist6 6 days ago
    It's really cool how much of this feels familiar to me from my own experience building and evolving bootstrapped systems
  • cmrdporcupine 4 hours ago
    It's really a shame that the early history of Smalltalk-80 was such that it remained too locked up in licensing and $$ implementations and so didn't get a broader penetration. That and it was about a generation or two ahead of the extant microcomputing hardware at the time, so wasn't going to be shippable in a performant way on a general consumer class machine even by the time the Lisa and Mac shipped in the mid-80s.

    I was very excited by Squeak in the late 90s (and even more excited by Self), but it was clear that the time of Smalltalk being able to make any kind of broader splash was done, and Java was where people's attention switched.

    Imagine if a consumer focused machine like the Macintosh had shipped, but based fully on Smalltalk, with an authoring environment built on it for "regular people". The closest we got to this was Hypercard.

    • igouy 2 hours ago
      March 7, 1988 — "Smalltalk/V 286 is available now and costs $199.95, the company said. Registered users of Digitalk's Smalltalk/V can upgrade for $75 until June 1."

      https://books.google.com/books?id=CD8EAAAAMBAJ&lpg=PA25&dq=d...

      • Qem 50 minutes ago
        Inflation-adjusted, those prices today would correspond to ~$552.2 and ~$207.6
        • igouy 36 minutes ago
          Look at other 1988 prices for dev tools.
    • pjmlp 1 hour ago
      It was perfectly accessible on Windows 3.x days, I learnt Smalltalk with Smalltalk/V.

      It was the .NET of OS/2 and getting into enterprise, until Java came to be, and IBM one of the big Smalltalk backers, decided to pivot into Java.

    • shaunxcode 3 hours ago
      It’s comforting to remember that a lot of the research from st/self eg hotspot went into the jvm. So whenever I am writing clojure I feel I am still, in a way, hanging out with all of my (lang) friends.
    • b00ty4breakfast 3 hours ago
      the whole Smalltalk saga is a bit of a tragedy looking back (EDIT: as someone who didn't live through that era) through the context of the current state of consumer computing being so "non-convivial", if I can borrow a phrase from Ivan Illich. Empowering users by allowing them to conform the tools to their own usecase often feels like the exact opposite paradigm of the modern milieu.

      Or maybe I'm just entering my "old man yells at cloud" phase of life haha

      • igouy 2 hours ago
      • mwnorman2 1 hour ago
        Well, I DID live through that era and I AM the 'old-man-yelling-at-clouds' ;-) and the main issue was that getting Smalltalk developers was a HUGE headache. I worked for a Telecom company (Canada's largest, rhymes with 'Ortel') and we needed to develop our own courses - yours truly developed and delivered dozens of hours of training.

        This lead to some extraordinary per-diem charges that I knew some folks enjoyed for a while, mostly paid for by the Financial industry. Eventually those on the paying side looked for cheaper alternatives .. and yes, the new-kid-on-the-block Java played a big role, but so did Visual Basic!

        • igouy 6 minutes ago
          'We read and heard many stories about confident and experienced programmers plunging into self-study tutorials, only to give up in frustration after several hours, still wondering, "Where is the application code?" The object paradigm, in which program control is distributed across a set of tightly encapsulated and high-function software objects, was alien to experts in procedural design.

          … to use Smalltalk fluently, a programmer must become familiar with a huge class hierarchy and with the tools of a sophisticated interactive programming environment. New programmers often became lost in the hierarchy or spent considerable time in unfocused exploration of the interactive tools.'

          "Making Use: scenario-based design of human-computer interactions", 2000, page 103

          https://www.google.com/books/edition/Making_Use/s-0ZuadhBBAC...

          • em-bee 0 minutes ago
            doesn't sound much different than studying the class library of any other language.
  • gnabgib 6 days ago
    (1997)