[HN Gopher] SmallTalkUnix ___________________________________________________________________ SmallTalkUnix Author : mpweiher Score : 43 points Date : 2022-01-15 17:40 UTC (5 hours ago) (HTM) web link (thoughtstorms.info) (TXT) w3m dump (thoughtstorms.info) | twoodfin wrote: | I'd love to believe this: A Smalltalk universe of objects with a | foundation in the Unix files & processes & pipes model would be | intriguing. | | But it ignores the commercial aspect: I don't think anyone was | giving away an industrial strength Smalltalk development | environment at the same time gcc was gaining traction against the | proprietary C/C++ toolchains. | | What Smalltalk really needed was a Linus or a Guido ca. 1993. | cmrdporcupine wrote: | Smalltalk needed that in 1983, not 1993. By 1993 it was too | late, consumers expected a personal computer to be, well, a PC, | defined by the norms and standards of the successful entrants | from the 80s, IBM and Apple. In 1983 they were still open to | alternatives. By 1993 they expect C or a Wirth PL, | files/filesystems, and maybe a Mac-like desktop metaphor. | | In large part the problem was the vision that the language | offered was beyond what consumer-accessible hardware could | handle well by at least 10 years. The Alto was a bespoke | minicompter-esque machine custom built by Xerox and was far | beyond what landed on regular office desks until the late 80s. | Tektronix and others tried really hard to optimize Smalltalk-80 | to run on 8mhz/68000 class machines at reasonable spec and it | was still pretty sluggish. On top of clock speed, RAM and disk | space was super expensive in the 80s. | | And Smalltalk was also heavily blockaded by gatekeepers | commercial and academic until it was too late, as well. There | was no serious open source Smalltalk-80 until Squeak in the | late 90s. | | That, and, yeah, interoperability. | igouy wrote: | Interoperabililty meaning what exactly? | | "Inter-process communication" ? | | https://www.ibm.com/support/pages/system/files/support/swg/s. | .. | | "Interface with COBOL, C, and PL/I applications" ! | | https://www.ibm.com/common/ssi/rep_ca/2/897/ENUS202-152/ENUS. | .. | readthenotes1 wrote: | The author lost me at the capital T. | azinman2 wrote: | Quite a lot of assumptions and conjecture about how things would | have turned out... | | Maybe better to frame as "it could have" or "what if"? And even | then, who knows. It's not like everything SmallTalk related is a | panacea, it's unclear how a text file and data structures have | meaningful and usable bi-directional interchanges, or that the | GUI of Suns had much sway in what was going on in the rest of the | computing world which probably had seen few of these miraculous | hypothetical SmallTalk systems running at huge pricing for | enterprises. | flenserboy wrote: | Ok, speculate all day, but...instead, build an example, for older | hardware. Allow a 68040 or so, even. That shouldn't be all that | hard with modern tools. Let's see if it would have been better / | useful / good. It could, at worst, point to another direction | which could be taken _now_. | abecedarius wrote: | Fun to imagine an alternate history where | https://en.wikipedia.org/wiki/Acorn_Archimedes shipped with | Smalltalk as OS. (I've never tried that hardware and I'm not | sure if the first model would really be zippy enough. But it's | a machine with plenty of fans, and obviously a better future | than the 68000's.) | boygobbo wrote: | As someone who did use an Archimedes A440 when it came out | (late 1987 I think), it was plenty zippy enough. It's | original desktop shell Arthur was written in BBC Basic, so I | think it could have handled Smalltalk. There is a port of | Squeak for recent versions of RiscOS | (http://www.rowledge.org/tim/squeak/). | badsectoracula wrote: | > This was written in response to LionKimbro saying he wanted to | get beyond text for programming. (Ie. TextFreeProgramming) [..] | I'll go further and say that it's denial of text-files [..] that | ultimately killed SmallTalk. Had someone seen this clearly in | 1980 [..] we might have seen a very different evolution of | computing : a true synthesis of Smalltalk and Unix. Smalltalk | could have become the graphical shell on top of Unix, providing | it instantly with a sophisticated GUI | | This seems to rely on the assumption that Unix was the best | approach for OSes one could do in 1980. Perhaps we should also | think not just getting beyond text for programming but also | beyond Unix as the lowest common denominator in thinking about | OSes? | | (BTW "beyond text" doesn't mean "beyond symbols" since somehow | you'd need to represent the program neither "beyond keyboard" - | especially if you consider that chances are your keyboard already | has a bunch of symbols like "@#$%^" that aren't really _text_ , | they just are some random symbols that someone at some point | decades ago decided it'd be useful to be part of ASCII) | msla wrote: | > especially if you consider that chances are your keyboard | already has a bunch of symbols like "@#$%^" that aren't really | text | | Of course they're text. What else could they possibly be? | | As for going beyond text, it becomes difficult to coordinate | richer types of files between different groups, especially if | every group is convinced that other groups are missing some | vitally important functionality and, therefore, everyone will | be convinced of the essential rightness of their cause given | enough time. | tonyg wrote: | I think this is wide of the mark. Smalltalk has a filesystem: the | global dictionary. Sure, it's flat, but so was the root directory | in DOS 1 and CP/M. See Self for an evolution of this idea toward | something better. Smalltalk has a command line: literally every | editable text field, but in particular the code pane of the | system browser. Furthermore, not everything in Unix is a text | file. It's... not easy working with a.out, .a, .tar, .Z, .so etc | using a text editor. | ithkuil wrote: | This assumes smalltalk _is_ the OS. | | TFA assumes that there is unix _and_ there is smalltalk and the | failure if the latter to interoperate with the former was its | demise. | tonyg wrote: | See also: https://eighty-twenty.org/2011/09/11/code-editor-pane | mpweiher wrote: | > Smalltalk has a filesystem: the global dictionary. | | That's not even close to a file system. | | > Sure, it's flat | | Right, and that makes it almost completely useless. How are | Apple DOS, CP/M etc. doing today? | | But more significantly, it is not the least interoperable. How | do systems outside of Smalltalk get access to the Smalltalk | global? How is such access mediated? How are permissions | handled? What's more, if other systems could get access to a | pointer (and it didn't move out from under them during a GC), | how would they be able to deal with the data? | | Filesystem doesn't just mean a hierarchical directory tree with | nodes, it also means interoperable, serialised representations, | including but not limited to: ASCII, RTF, JPEG, PNG, PDF, JSON, | HTML, etc. | | Representations that can also be shipped over the wire. There | is a reason the WWW was invented on a NeXT box, not on an Alto | (or Dorado). | tonyg wrote: | > That's not even close to a file system | | Nonetheless, Smalltalk is to Unix as globals dictionary is to | file system, image is to virtual machine, etc. | | > How do systems outside of Smalltalk get access to the | Smalltalk global? How is such access mediated? How are | permissions handled? What's more, if other systems could get | access to a pointer (and it didn't move out from under them | during a GC), how would they be able to deal with the data? | | How do systems outside of Unix get access to the file system? | How is such access mediated? How are permissions handled? | What's more, if other systems could get access to a disk | sector (and it didn't move out from under them during normal | system activity), how would they be able to deal with the | data? | | Answer these questions, and you'll have answered those you | asked about Smalltalk. If you squint a little. | abecedarius wrote: | As Ingalls said, "An operating system is a collection of | things that don't fit into a language. There shouldn't be | one." | | (Yes, it's arguable.) | jrochkind1 wrote: | The OP is about envisioning Smalltalk and Unix working | together. I'm not following your point of making analogies | between Smalltalk and Unix, unless... Are you suggesting | Smalltalk could have/should have/was a contender to be the | OS, that it would replace unix, that would have been | preferable? | tonyg wrote: | IMO, Smalltalk-the-system is best thought of as an OS, | yes. (Remember how everyone ridiculed the idea of | Smalltalk's images right up until virtual machines became | a thing?) It has a runtime and a systems programming | language, too: the Smalltalk VM, and Smalltalk-the- | language. Analogously, Unix has its kernel and C, | respectively. The global variables of Smalltalk are | analogous to Unix files. Smalltalk processes to Unix | processes. It's not a perfect analogy but I found it | surprisingly useful once I stumbled across it. | | Preferable, though? Not sure. Certainly, as Marcel notes, | a flat file system isn't the best idea; but then, is a | hierarchical strict tree? (Related: https://eighty- | twenty.org/2011/05/08/weaknesses-of-smalltalk..., | https://eighty-twenty.org/2016/05/05/unix-is-incorrectly- | fac...) | | I think you'd have to burn the disk packs (ie: neither | Smalltalk nor Unix as they stand make a suitable | foundation), but out of the ashes I think something | largely based on Smalltalk taking into account lessons | from the forty (!) years that followed it could | definitely end up being preferable. | | Coming back to OP, and viewing Smalltalk as an operating | system on equal footing with Unix: Different operating | systems interact best via _networks_. Which neither | Smalltalk-the-OS, Smalltalk-the-language, Unix-the-OS nor | C-the-language support particularly well. | jrochkind1 wrote: | OK, so the OP says if smalltalk had worked with files | better, maybe smalltalk on unix could have been a thing | that would have changed history. Your response is... | that's irrelevant because... smalltalk was really making | the play to _be_ the OS, not to work with OSs, and it | works just fine with files on it 's own terms, for that | goal. Do I understand your argument correctly? | | OK, it's a perspective! | msla wrote: | > How do systems outside of Unix get access to the file | system? | | What _is_ the Smalltalk equivalent to NFS? | pjmlp wrote: | Xerox PARC own networking protocols | | https://en.m.wikipedia.org/wiki/Xerox_Star | tonyg wrote: | If Smalltalk is pretending to be Unix, it could just | speak NFS I suppose. Or use HTTP. Or 9P. Certainly there | are classes in most images that model file systems. | | But thinking of Smalltalk as its own thing, and coming at | the angle of interoperation between systems across | networks at a higher level than chunks of untyped binary | data, there are a few contenders: there have been various | distributed Actor implementations. CORBA was available, | back when that was relevant. Craig Latta has been doing | some wonderful crazy things with interoperation between | separate images (e.g. Context, nee Spoon: | http://netjam.org/context/). | lispm wrote: | https://www.gnu.org/software/smalltalk/ | | " An uncommon feature of it is that it is well-versed to | scripting tasks and headless processing." | | Btw., GNU Emacs is a GUI app, too. | plafl wrote: | I think there was a time where the GNU Smalltalk page contained | the phrase "The Smalltalk for those who can type" | smitty1e wrote: | It's an interesting thesis, but I'm unsure that I agree: | | character != pixel | | Especially in the context of the hardware of the time, I'm | skeptical that the sophisticated visual environment envisioned | would have materialized. | | Unless my brief review missed something. | jdougan wrote: | If Smalltalk is sufficiently friendly to text files, it becomes | an emacs. | lproven wrote: | The Newspeak programming language was specifically designed to | address some of these issues. It is capable of working with | plain-text files, enabling code to be stored in Git and so on. | | In early development, it was bootstrapped on top of Squeak | Smalltalk. | | https://en.wikipedia.org/wiki/Newspeak_(programming_language... | | https://bracha.org/Site/Newspeak.html | | https://newspeaklanguage.org/ | pinewurst wrote: | There was actually a Smalltalk shell for Unix - it was bundled | with the Ardent Titan (cough) "mini-supercomputer". Best feeling | keyboard I ever remember using but a very meh system otherwise. | Old man shakes fist at clouds... | mpweiher wrote: | Wow, that sounds really interesting! | | Got any references/links? | pinewurst wrote: | It was called Unix Navigator - I don't see any obvious | references/links. | ithkuil wrote: | I found only https://www.ricomputermuseum.org/collections- | gallery/equipme... no screenshots in sight | pinewurst wrote: | I found http://heaveneverywhere.com/Navigator/ | | Stephen Pope and David Leibs were (and hopefully still | are) excellent people. | igouy wrote: | > ... denial of text-files ... that ultimately killed SmallTalk. | | Maybe business decisions matter to the success or failure of a | business? | | "THE PARCPLACE-DIGITALK MERGER: A TALE OF TERROR?" | | https://techmonitor.ai/techonology/the_parcplace_digitalk_me... ___________________________________________________________________ (page generated 2022-01-15 23:00 UTC)