Wait why is the GNU Smalltalk reference documentation written in the first person

https://www.gnu.org/software/smalltalk/manual-base/html_node/Collection.html

GNU Smalltalk Library Reference: Collection

GNU Smalltalk Library Reference: Collection

@mcc Goes with being a self language instead of a this language?
@mcc i am Smalltalk's medula oblongata
@mcc is the answer "user stories"
@mcc Someone talking self too seriously?
@mcc not just GNU! it's a smalltalk convention.
@atax1a @mcc
Was just about to say that, is a silly smalltalk convention.

@mega @atax1a @mcc yep yep. One of the folks who helped me learn Ruby had come in from Smalltalk. All of his Ruby classes used first person.

I tried. I really did. But I could not maintain the consistent narrative form.

@randomgeek @atax1a I don't think I can maintain a consistent form even when talking about myself in first person. I don't expect anything better if I tried to talk about other people or non-people in first person 😅.

@atax1a @mcc

"Since I'm abstract, no instances of me should exist" is one helluva phrase.

Seriously, the philosophical ramifications of this are staggering.

@atax1a @mcc

Are we all, all of our selves, truly abstract? These day-to-day implementations of us no true, direct instances of our selves, our real selves, which at no point actually exist?

Do we all have unimplemented methods - vital to our identity, yet hollow, without form or substance? Promises of identity left unanchored, unspecified, detached and dreamlike?

@remindme 3 months
@arichtman Ok, I will remind you on Wednesday Aug 20, 2025 at 8:43 PM UTC.
@aearo @atax1a @mcc "I don't think, therefore I am not."

@mcc here , changed it to third person :

This one is an abstract class. Its instances are collections of objects. This ones subclasses may place some restrictions or add some definitions to how objects are stored and organized; This one says nothing about this. It merely provides some object creation and access routines for general collections of objects

@mcc It has become sentient?
@mcc I am Smalltalk's cold sweat.
SCP-426 - SCP Foundation

The SCP Foundation's 'top-secret' archives, declassified for your enjoyment.

The SCP Foundation
@bjornsdottirs @mcc nice to meet you, I'm a teapot
@dngrs @bjornsdottirs *speaking into microphone on lapel* yes, we have a code 418 on chaos.social
@mcc It's a Smalltalk tradition found even in the earliest sources
https://github.com/pablomarx/AltoST80/blob/master/st80src/sources.st#L1103
AltoST80/st80src/sources.st at master · pablomarx/AltoST80

Recovered files for Smalltalk-80 on the Alto. Contribute to pablomarx/AltoST80 development by creating an account on GitHub.

GitHub
@krono @mcc I'm working on a long-running software project (in Java) for university, and one of the people who first wrote it must have really liked this style, because it's all over the Javadoc comments. Didn't know it was a Smalltalk thing, I think I'll ask someone if that person had worked with Smalltalk before.
@mcc self aware programming language
@mcc That’s odd but kind of charming. That change of style must of happened post Smalltalk-80 because the Blue Book does not use first-person comments.

@mcc Don't use GNU Smalltalk. It's not very good. The good free Smalltalk is Squeak or one of its forks (Pharos or Cuis.)

(Sorry if you already know that; I had a NOOOOOOOOOO reaction when I read that.)

@christa That's helpful, thank you.
@christa

@mcc

...except if you want to build something in an environment without gui, then GNU Smalltalk is really nice (little Smalltalk would also be a nice option for this)...

@the_wiz Little Smalltalk is a toy and nothing else. I've never gotten it to run a non-trivial program. Its primitives don't sanitize argument types so you can easily trash memory from Smalltalk, and development is done exclusively by launching vi on one method at a time.

GNU Smalltalk lets you use an editor in the usual way, but input files are in the interchange format and syntax errors will break things in hard-to-diagnose ways. I had slightly better luck with it, but Smalltalk is not designed to be developed via the usual editor+textfile process and GST made no accommodations to support that. You're still supposed to use the GUI-based browser/workspace system which, unfortunately, does not exist. It's also slow.

Squeak is the only free Smalltalk I've ever successfully used to do anything useful. It will run headless and I've used it for web apps that way. You could probably also do console I/O, tho you'll need to use the FFI to do it and you'd still need the GUI for development.

@mcc

@mcc

Also: first-person class comments are a thing in PARC Smalltalk, presumably because it tries to have a happy-friendly-buddy vibe. One of the big initial use cases for the Alto was to teach children.

@mcc You've got something against self-documenting code?
@mcc Smalltalk invented everything that was terrible about mainstream software development for three decades, so it shouldn't be a surprise that they also invented some terrible things that didn't catch on.
@whimsy @mcc would love to know what you believe is so terrible about smalltalk
@mcc I am the very model of a modern major general...
@mcc @0xabad1dea all smalltalks do this; the idea is that each class speaks for itself, in the code as “self” and in the documentation as me/I. Twisted tried to adopt this idiom (my dad was a smalltalk programmer in the 80s, and it rubbed off a bit) but everyone else objected so much that it never caught on. I still wish it had.

@mcc @0xabad1dea should have called it subject oriented programming am I right

(This is a joke about the social construction of subjectivity, if you don’t like Foucault please keep scrolling)

@mcc Early Borland Pascal manual taught you how to program in Pascal and to use the compiler and tools by telling you the story of - i may not have this exactly right - a prospector and his mule named Daisy.

Great literature in the service of revolutionary technology.

@mcc my take is that Smalltalk isn't object- but rather subject-oriented. That may help with anemic class syndrome because of a stronger identification with the developer
@mcc that would make sense for online documentation in a Smalltalk system, you would probably send a "whoAreYou" message to any class and get that kind of reply. And rewriting it in third person for a printed (or html) manual would be a lot of unnecessary work?
@mcc I am Jake's collection of objects.
@mcc I think this is quite clever, if it was written at the time when OOP was new; it enourages you to think of a class as an independant entity you ask to do things
@mcc If it avoids passive voice, then I'm for it!
@mcc Wait that's actually smart and creative.