Cuis: The Modern Smalltalk-80

Posted by theanonymousone 3 days ago

Counter151Comment18OpenOriginal

Comments

Comment by edfsadfer 10 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.

Comment by ajasmin 10 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?

Comment by AlanYx 32 minutes ago

Cuis is the easiest entrypoint into modern Smalltalk. All the others have so, so much stuff (great stuff, just a lot of it). Cuis takes the approach of paring things down to something minimal. You can understand everything from top to bottom fairly easily.

Comment by 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).

Comment by dialogbox 9 hours ago

It looks like it is a fork started quite a long time ago.

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

Comment by isr 9 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)

Comment by frou_dh 4 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.

Comment by ssivark 9 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.

Comment by DennisP 51 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.

Comment by Bosustir 6 hours ago

The shared VM is a nice advantage, especially if performance isn't the main tradeoff

Comment by 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

Comment by 0xpgm 7 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.

Comment by pjmlp 5 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.

Comment by 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.

Comment by 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

Comment by yje07039 9 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.

Comment by Bosustir 6 hours ago

[dead]

Comment by sroerick 10 hours ago

This looks cool and beautiful! Ive looked at other Smalltalks and been pretty intimidated. This feels cool and welcoming.

Comment by fhub 6 hours ago

18 year old endorsements are cute touch.

Comment by 7 hours ago

Comment by macoraone 2 hours ago

[flagged]

Comment by hexjy 6 hours ago

[flagged]

Comment by Bosustir 6 hours ago

[dead]