[HN Gopher] Smalltalk Squeak 6.0
       ___________________________________________________________________
        
       Smalltalk Squeak 6.0
        
       Author : emme
       Score  : 95 points
       Date   : 2022-07-06 12:22 UTC (10 hours ago)
        
 (HTM) web link (raw.githubusercontent.com)
 (TXT) w3m dump (raw.githubusercontent.com)
        
       | pjmlp wrote:
       | Nice to see it still going.
       | 
       | For those unaware, Squeak linage descends directly from the last
       | Xerox Smalltalk-80 images before being bootstraped.
        
         | kabdib wrote:
         | Don't know if it's true, but it makes a fun story: ST80 used
         | reference counting with counts saturating at some low number
         | (like 127), and of course there are problems collecting
         | circular references. A comprehensive analysis of a modern
         | image, with Xerox PARC lineage, discovered garbage that had
         | been uncollected for 20-30 years.
        
           | Rochus wrote:
           | It is true, that there is uncollected garbage in the original
           | Xerox ST80 image. I've built some tools to analyze the image
           | and also a VM which can be interrupted at any time to analyze
           | the current state of the image (see
           | https://github.com/rochus-keller/Smalltalk).
           | 
           | There are two zombie processes (OID 6662 and 19ba). There are
           | also a couple of BlockContext and MethodContext which have a
           | nil sender and a reference to an unknown method, but which
           | are still referenced from somewhere (i.e. the collection is
           | prevented, even with mark & sweep). E.g. OID 79a2 of class
           | BinaryChoice. I have a full list if anybody is interested.
        
             | floren wrote:
             | It's things like this that always made me look a bit
             | askance at Smalltalk. It feels a little like
             | "Document_Final_FINAL_v3_(2).docx", a little like a dirty
             | old whiteboard where you can still see outlines of notes
             | from last year. Might not be a fair assessment, but as an
             | outsider I've always felt this way about image-based
             | systems.
        
               | Rochus wrote:
               | Deploying an application was always an adventure. You
               | could never be completely sure that it didn't contain
               | things it shouldn't.
        
           | erik_seaberg wrote:
           | I'm reminded of junk DNA.
        
             | isaacimagine wrote:
             | I mean, Kay _was_ a biologist :)
        
       | musicale wrote:
       | Shouldn't this be Squeak Smalltalk 6.0?
       | 
       | I'm glad that Squeak continues to embrace the Smalltalk name,
       | community, and history - and doesn't take the Pharo approach of
       | trying to pretend that they aren't Smalltalk.
        
       | AdmiralAsshat wrote:
       | What is the block of code starting under the "THANK YOU ALL FOR
       | YOUR CONTRIBUTIONS" line? Is that an easter egg of sorts that
       | would show up if run inside Squeak?
        
         | cwp wrote:
         | Not really an Easter egg, just the normal release process. That
         | code basically sets up the GUI for the released image - sets up
         | the menubar, opens and arranges windows, etc. The release notes
         | at the top will get styled and appear in a window in the IDE.
        
       | guessbest wrote:
       | Could a developer use Squeak as an emacs replacement?
        
         | andsoitis wrote:
         | I have not seen Squeak (or other Smalltalk environments, e.g.
         | Pharo) being used like and IDE, which is what I infer you mean
         | by "developer... emacs replacement".
         | 
         | It certainly seems possible and could potentially make for a
         | great IDE foundation, I just haven't seen it done, other than
         | the Glamorous Toolkit - https://gtoolkit.com
        
           | pjmlp wrote:
           | Interesting statement, given that modern IDEs trace back to
           | Lisp and Smalltalk graphical workstations.
        
             | andsoitis wrote:
             | Clarification: I meant using those environments for _other_
             | languages, like people do with emacs, which is what I
             | inferred the person I responded to was asking.
        
         | bitwize wrote:
         | I once worked with a guy who did all his coding in Squeak the
         | way some do in Emacs.
         | 
         | He shipped enterprise code this way. Implementation language
         | was Perl.
        
           | 7thaccount wrote:
           | That seems incredibly odd lol. What advantage does that have
           | over Notepad++?
        
             | Jtsummers wrote:
             | For them, presumably the same thing that emacs has over
             | Notepad++ for me (though not IDEs, universally, just most
             | editors). Emacs (as an environment) is almost fully
             | extendable in user code with much greater ease than most
             | other editors. And not just in a "write this plugin, place
             | it in the right directory, and restart the editor" sense.
             | In the more extreme sense of you can extend it live, even
             | just temporarily. Squeak, as an environment, is very
             | similar to that experience, probably even more extreme than
             | what emacs offers in some ways. If it had a larger
             | community behind it (to use in this style), I'd certainly
             | entertain it.
        
             | bitwize wrote:
             | Presumably he could write his own code- and data-munging
             | tools in Smalltalk and invoke them straight from the
             | running image -- kinda like what you can do with Emacs
             | Lisp.
        
               | whartung wrote:
               | That's fascinating. At least Emacs comes with an editor,
               | can't say as much for Squeak. I mean, it has AN editor,
               | its just not very good compared to something like Emacs
               | or vi, and I'm talking editor functionality, not
               | everything else. It's more like a lightly enhanced Text
               | Area.
               | 
               | But maybe he put a lot of work into it to be a better
               | Perl editor.
        
           | agumonkey wrote:
           | This man must make some videos.
        
           | vinceguidry wrote:
           | That's wild. I've been wanting to do the same thing with Ruby
           | for years.
        
             | bitwize wrote:
             | Well, that makes sense, since Ruby is the cronenberg that
             | emerged from mashing Perl and Smalltalk together...
        
         | metroholografix wrote:
         | You can try - I certainly did - but it's inferior, in nearly
         | every way: performance most of all, usability, interfacing with
         | the host OS, availability of libraries, APIs, interactive
         | documentation, discoverability, customization..
         | 
         | The fact that Emacs has been in use (for decades) as a tool
         | aimed at primarily solving everyday problems, means that it's
         | been optimized for practicality to a ridiculous extent. That's
         | not the case with Squeak, since it still has a very strong
         | academic/research focus and a much smaller userbase than Emacs.
         | 
         | That's not to say that Squeak is useless, I'm a hardcore Emacs
         | user and I do use Squeak too, but it's nowhere near as
         | practical. It does however offer by far the best environment to
         | experiment with Smalltalk and image-based development.
         | 
         | On the other hand, I don't recommend Pharo, as I found it even
         | less practical than Squeak with frequent braking changes and a
         | -seemingly- complete lack of focus that has pulled the project
         | in widely different directions over the years. At least, Squeak
         | is cohesive and hasn't broken with Alan Kay's vision.
        
           | whartung wrote:
           | > On the other hand, I don't recommend Pharo, as I found it
           | even less practical than Squeak with frequent braking changes
           | and a -seemingly- complete lack of focus that has pulled the
           | project in widely different directions over the years. At
           | least, Squeak is cohesive and hasn't broken with Alan Kay's
           | vision.
           | 
           | Nonsense! Pharo's focus is to make writing Pharo more Pharo
           | and easier for Pharo users. Mind, if your app isn't a
           | Smalltalk VM and IDE, then, yea, it's full of tumult and
           | turmoil. Aren't they on their 3rd or 4th GUI toolkit rewrite
           | now? I mean, credit where credit is due, they eat their own
           | dog food to be sure, but as a meal, that's just not as
           | inviting to others.
        
           | andrekandre wrote:
           | > At least, Squeak is cohesive and hasn't broken with Alan
           | Kay's vision.
           | 
           | what are the big differences between squeak and pharo?
        
         | vfclists wrote:
         | Its not keyboard driven enough.
         | 
         | I feel that every time I reach for the mouse a kitten dies in
         | some distant universe far far away.
         | 
         | With Emacs I am less concerned with editing than managing my
         | work related data and work flow, and still think Smalltalk is
         | better for it. I see myself getting back to Smalltalk after I
         | get some more experience with Emacs.
         | 
         | Both Emacs and Smalltalk though are in serious need of native
         | SQL or some kind of good database support not for applications
         | but managing the workspace itself. You can only get so far with
         | plists, collections, hash tables and what nots.
         | 
         | Even the org-roam guys have switched to SQLite to manage the
         | data.
        
         | AlanYx wrote:
         | There is a Glamorous Toolkit (Pharo not Squeak) project called
         | Lepiter that is conceptually similar in a lot of ways to org-
         | roam and org-babel. It comes with support for working with
         | Javascript and a couple other languages. That might be of
         | interest depending on how you spend most of your emacs time. (I
         | agree that in a dream alternate reality something like full-on
         | emacs would have grown out of Smalltalk.)
        
         | agumonkey wrote:
         | That's a thought that pops up regularly whenever I run into
         | Pharo/Squeak. They seem to have a more homogeneous system from
         | top to bottom. The graphical layer of emacs is really "small"
         | and restricted.
        
         | TheCondor wrote:
         | Was that how IBMs visual age products were?
        
           | jpitz wrote:
           | IBM Visual Age C++ on OS/2 installed an extension dll for the
           | system Notepad to add syntax highlighting and jump-to-error,
           | among other IDE features.
           | 
           | In 1991-ish, it was very cool to me.
        
       | Qem wrote:
       | > Switches the default bytecode set to SistaV1. This lays the
       | basis for a new generation of VM optimizations (Sista:
       | Speculative Inlining Smalltalk Architecture). With Sista, blocks
       | are represented by CompiledBlocks and instantiated as
       | FullBlockClosures, the stability of which has been improved in
       | the course of this switch (fixed bugs in FullBlockClosure >> #=
       | and InstructionStream >> #scanForInstructionSequence:). Provides
       | new encoding accessors.
       | 
       | Nice to see Sista finally seeing the light of the day. Hope it
       | will be available Pharo as well, by the next release. That's
       | awesome!
        
         | scroot wrote:
         | My understanding is that the optimizations haven't been
         | implemented yet in the VM, but that this initial step is to
         | enable the new bytecodes. Could be wrong.
        
       | rbanffy wrote:
       | May be better to point it to https://github.com/squeak-
       | smalltalk/squeak-app/blob/squeak-t...
        
         | jacknews wrote:
         | Indeed, I was going to ask if they were having a joke, posting
         | in the style of release notes from 25 years ago.
        
           | cwp wrote:
           | This file is part of the build system, and the text is meant
           | to be read within the Squeak IDE, so it's going to look a
           | little weird on the web. If you scroll all the way to the
           | bottom, there's a bunch of code for styling the text, opening
           | and arranging windows, setting up the menu bar etc.
        
       ___________________________________________________________________
       (page generated 2022-07-06 23:01 UTC)