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