It's really interesting that Smalltalk has both ifTrue:ifFalse: and ifFalse:ifTrue:. Many other languages discourage if(!foo) {…} else {…}.
Related Posts
"Example Driven Development" using Glamorous and Pharo Smalltalk: https://medium.com/feenk/an-example-of-example-driven-development-4dea0d995920
Tests returning values and composing is a really interesting model. It establishes structure and shows which test failure is the most 'fundamental'.
I'm pretty impressed with Cursor: I've successfully asked it to perform codebase transforms in English, and it's worked!
E.g. "Replace all calls foo(..., true) with foo_immediate(...) define a foo_immediate function".
I'm still reading the diff and checking tests -- it's still AI after all.
Sometimes programming tools are so good that you miss them when using other languages. I see these mentioned the most frequently:
* IntelliJ (for Java)
* Slime+Emacs (for Common Lisp)
* Pharo (for Smalltalk)
I'm struck that they all have bespoke UIs.