Cuis: The Modern Smalltalk-80

(cuis.st)

146 points | by theanonymousone 3 days ago

9 comments

  • edfsadfer 9 hours ago
    Same VM as Squeak and Pharo so just as fast but a bit lacking in libs but this is an opportunity to contribute to open source for me.

    Currently using it to build a mostly static website (with Pocketbase & lighttpd). A good experience all round.

    • ajasmin 9 hours ago
      I haven't used these in a long while.

      Is this a fork? What's Cuis' main selling point compared Squeak and Pharo?

      • edfsadfer 9 hours ago
        Cuis is an environment derived from Squeak as I understand it with all the "clutter" removed. So it is really a cut-down Squeak. Just as Pharo was a cut-down Squeak originally.

        For me it was easier and quicker to get something done in Cuis than in any other Smalltalk (Squeak, Pharo, VA, Dolphin).

      • isr 8 hours ago
        The history link gives details, but if you want a quick analogy:

        Pharo & Cuis both forked from squeak at roughly the same time

        Squeak = Debian

        Pharo = Arch

        Cuis = Alpine

        Cuis has rigorously simplified, so its much easier to explore & understand the system - because there's less of it

        Cuis's re-engineering of morphic is really quite brilliant. Everything is hardware accelerated vector graphics. EVEN THE FONTS are drawn that way. And they remain crisp even when zoomed (in or out) & rotated.

        Pharo does have some cool stuff though. I'd love to see fuel (object serialization) & soil (a fully oo database) ported to cuis. And the big one - seaside

        But its not an either-or situation. 99% 9f what you learn & do in one is applicable to the other. But if you're starting out, I would definitely recommend cuis (not implying that you wouldn't necessarily stick with it)

        • frou_dh 3 hours ago
          Is the rendering in Cuis really hardware-accelerated? I agree it looks great but think it's all software-rendered using the CPU.
        • ssivark 8 hours ago
          Is the development experience compatible with modern AI-assisted workflows? Coding agents have drastically reduced the entry barrier for playing with software projects, and I can think of some fun ideas for Smalltalk things I've been curious about.
          • DennisP 11 minutes ago
            I saw a comment saying it is, and having a coding agent able to modify a running environment is a game changer, but I haven't wrapped my head around that yet.
      • dialogbox 9 hours ago
        It looks like it is a fork started quite a long time ago.

        https://cuis.st/documentation/explanation/history

    • Bosustir 5 hours ago
      The shared VM is a nice advantage, especially if performance isn't the main tradeoff
  • yje07039 8 hours ago
    I hadn’t heard anything about Smalltalk since seeing it used in version 1.4 of Scratch, so it’s a pleasant surprise to come across it again after all this time.
  • sroerick 9 hours ago
    This looks cool and beautiful! Ive looked at other Smalltalks and been pretty intimidated. This feels cool and welcoming.
  • chasil 9 hours ago
    What most people do not know is that Smalltalk was originally a childrens' teaching language, a peer of Logo, which (I have learned in previous comments) preceded it.

    "Smalltalk is a purely object-oriented programming language that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business."

    https://en.wikipedia.org/wiki/Smalltalk

    • 0xpgm 6 hours ago
      Also, even though it called itself purely object-oriented, the earlier versions lacked inheritance.

      Nowadays object oriented programming is almost entirely associated with inheritance hierarchies.

      Perhaps inheritance isn't as central to object oriented programming as initially envisioned.

      • pjmlp 4 hours ago
        It isn't, the haters are the ones that don't get that there are many OOP flavours, mostly they only learnt one way and naturally everything is like that.

        The original VB and Self are two other well known examples where there is no inheritance support.

        Also most Lisp systems inspired in The Art of Metaobject Protocol tend to focus on multi-methods, instead of inheritance, to change current behaviours attached to structs.

      • 0x264 6 hours ago
        When using so called OOP languages I specifically avoid inheritance, and in fact I think it's the worst aspect of it. In any case, I tend not to include inheritance into the definition of object orientation.
      • backhold 5 hours ago
        I suppose this goes back to the disambiguation of the term since Alan Kay coined it.

        https://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented

  • fhub 5 hours ago
    18 year old endorsements are cute touch.
  • macoraone 2 hours ago
    [flagged]
  • hexjy 5 hours ago
    [flagged]
  • Bosustir 5 hours ago
    [dead]