[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)