y'know what? fuck it. we're going to go back to the source and figure out what the fuck object-oriented programming is, once and for all https://archive.org/details/byte-magazine-1981-08
liveblogging the August 1981 issue of Byte Magazine: Editorial: "Smalltalk: A Language for the 1980s"
Smalltalk is an object-oriented language, as opposed to procedure-oriented languages such as BASIC, Pascal, and FORTRAN . Because of this, programming in Smalltalk is similar to the process of human interaction.
okay, we probably should have expected some eyebrow-raising analogies in here but we're raising our eyebrows
also holy crap there are a lot of ads in this thing - it makes the Internet look goddamn restrained
Where to Start
The order in which you read the Smalltalk-80 articles in this issue makes a difference. The first stopping point should be Adele Goldberg's article "Introducing the Smalltalk-80 System" on page 14, in which she provides a guided tour of the issue. I also recommend Dave Robson's "Object-Oriented Software Systems" on page 74 as a good overview of the Smalltalk-80 philosophy. The glossary on page 48 will be helpful as you begin to absorb the rather extensive (and sometimes overwhelming) vocabulary used to describe the language . I found that, once the terms become familiar, the concepts begin to make elegant sense.
okay, so, 14, then 74, then copy out glossary from 48 *takes notes*
liveblogging the August 1981 issue of Byte Magazine: "Introducing the Smalltalk-80 System" by Adele Goldberg
Small talk is the name LRG [the Learning Research Group of the Xerox Palo Alto Research Center] assigned to the software part of Alan Kay's personal computing vision, the Dynabook. The vision is a hand-held, high-performance computer with a high-resolution display, input and output devices supporting visual and audio communication paths, and network connections to shared information resources.
having used a number of similar machines, we can understand why Kay thought that would be cool
In figure 1, we see a view of the conventional software development environment: a wizard sitting on his own computational cloud creating his notion of a Taj Mahal in which programmers can indulge in building applications for nonprogramming users. The Taj Mahal represents a complete programming environment, which includes the tools for developing programs as well as the language in which the programs are written. The users must walk whatever bridge the programmer builds. A goal in the design of the Small talk system was to create the Taj Mahal so that programmers can modify it by building application kits, which are specialized extensions and/or subsets of the system whose parts can be used by a nonprogrammer to build a customized version of the application. Applications that can be created from a kit are related in a fundamental way: the programmer may, for example, create it for building bridges, but it is the user who pieces together the parts to create a customized bridge (see figure 2).
<guy who has only seen The Boss Baby voice>getting a lot of Picotron vibes from this</guy>
liveblogging the August 1981 issue of Byte Magazine: "Introducing the Smalltalk-80 System" cont'd
*squints at page 26*
okay, so, picking from these options, tentative reading order for ourselves:
this is a fucking doorstopper of a magazine, wow
also, getting genuine wiki-walk vibes from how extensive and interconnected it is
stating our goals out loud so we know when we can bail:
liveblogging the August 1981 issue of Byte Magazine: "Object-Oriented Software Systems" by David Robson
(checking the glossary, we're definitely on the right track - self
shows up all the time in object-oriented Lua, and nil
is an old friend)
(also fucking posting automatically when hit enter on subject CW line, ugh)
The words "object-oriented" mean different things to different people. Although the definition given in this article may exclude systems that should rightfully be called object-oriented, it is a useful abstraction of the idea behind many software systems.
*notes*
Many people who have no idea how a computer works find the idea of object-oriented systems quite natural. In contrast, many people who have experience with computers initially think there is something strange about object-oriented systems.
...okay, do we feel called out or seen?
I am assuming that most of you also have some experience with software systems and their creation. So instead of introducing the object-oriented point of view as if it were completely natural, I'll try to explain what makes it seem strange compared to the point of view found in other programming systems.
right, gonna go with "seen"
re: liveblogging the August 1981 issue of Byte Magazine: Object-Oriented Software Systems" cont'd
@Packbat maybe the magazine will get to this eventually but the way i learned about what smalltalk thinks message passing is, is to conceive of your classes as purrofessions: in the same way that in general, a customer asks a professional to do something and then (ideally) does not have to know anything about what they are actually doing to be able to benefit from the result of their work, your should not bother with understanding the internals of how external objects work
idk if this shorter way of putting it means anything you ny’all but in purractice it means you write your own code to interface with itself according to an API
re: liveblogging the August 1981 issue of Byte Magazine: Object-Oriented Software Systems" cont'd
@aescling that's the metaphor they opened with - it didn't land for us, but the more technical explanation did