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