3 ms·
> For example, there’s no traditional file system. Smalltalk environments were > stored as images which contained the entire state of the system. That means >
by t43562 3y ago
> For example, there’s no traditional file system. Smalltalk environments were
> stored as images which contained the entire state of the system. That means
> all of the objects, code, data, whatever, were stored as Smalltalk objects.
> The creators of Smalltalk wanted to make a system where the person using it was
> also modifying and programming the system as they used it. That’s really cool
> as a programming environment, but not really how we think of normal people
> using computers today.
Seems like it was much more advanced than what we actually have today. Why do we need "filesystems" anyhow? Why do we "not think of normal people" programming their computers?
- igouy 3y ago> For example, there’s no traditional file system. Is that correct? The first screen-grab in the article shows a "System Workspace" window with some script snippets that seem to do "traditional file system" stuff. And "The Blue Book" says: "Class FileStream is a subclass of ExternalStream. All accesses to external files are done using an instance of FileStream. … Classes ExternalStream and FileStream are provided in the Smalltalk-80 system as the framework in which a file system can be created. Additional protocol in class FileStream assumes that a file system is based on a framework consisting of a directory or dictionary of files, where a file is a sequence of file pages. The Smalltalk-80 system includes classes FileDirectory, File, and FilePage to represent these structural parts of a file system." etc etc page 209 "Smalltalk-80: The Language and its Implementation" "The Blue Book" https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Bluebook.pdf https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Blueboo...
- t43562 3y agoPossibly the VM can operate without a filesystem but it might be necessary to have a way to interface with the external world. https://en.wikipedia.org/wiki/Smalltalk#Image-based_persistence https://en.wikipedia.org/wiki/Smalltalk#Image-based_persiste... ^^ Here I think the point is that you can stop the VM, restart it and you're back where you were before you left - there's no need to "save your document" because it's an object in the image and when you edit it, the persistence is handled automatically. Just as today your IDE saves your source files for you every time you make a change but obviously not on every character you type.
- igouy 3y agoYes, Smalltalk-80 provided a way to snapshot and resume — the image. And Smalltalk-80 provided a way to represent the file system — FileDirectory, File, and FilePage (and use text files to archive source code). "Implementing a Smalltalk-80 File System and the Smalltalk-80 System as a Programming Tool" page 287 "Smalltalk-80: Bits of History, Words of Advice" https://rmod-files.lille.inria.fr/FreeBooks/BitsOfHistory/BitsOfHistory.pdf https://rmod-files.lille.inria.fr/FreeBooks/BitsOfHistory/Bi...