On Thursday, February 10, 2022 15:33 CET, Marcus Denker <marcus.den...@inria.fr> wrote: It is a real interesting research question: How an you build Systems that can evolve over a long time ? Systems which evolve over time need to have a very tiny core which is supremely malleable. For one, I would start with a "Forth" and add an object-system to it using the "Metaobject Protocol" along with a Common Lisp like "Condition System". Forth in the context of the core of an object system is interesting… someone did in 1979 a Smalltalk and Forth inspired system called “Rosetta Smalltalk" https://dl.acm.org/doi/10.1145/1113572.1113555 But: the nice thing of evolving a system is that you *always* can show a real, working result. You can have users, including yourself… you can find ways of financing your work that is not just promising something for the future. (which you can only do so often before people get sceptical). I think being part of the early Squeak community kind of burned for me the “let’s not improve that (relatively) simple thing A, instead wait for <genius X> to finish <amazing Project Z>. Imagine instead you would build a feedback-loop *inside* of your system... Marcus
Agree about what you felt within the Squeak community, I was there too around 1999~2000. There were a bunch of geniuses there, but the way I understand it, geniuses produce the initial spark, but you need strong-willed, perseverent people to kindle the project there-after. The reason I was drawn to Pharo is because of what Ducasse and you and others like you have done with the core spark of Smalltalk-80 based Squeak running Morphic. Though, I've always liked the MVC environment more and fell in love with the "Third-Way" project to deliver a full-blown widget-set for MVC developed by a guy called Gartner (I think) from Germany. Do you have a pointer?---- Yes, I got the URL after searching through Google a lot of times. :-) His name is Boris Gaertner and he is/was from Germany. https://wiki.squeak.org/squeak/1829.diff?id=19 I couldn't find his webpage though, and I couldn't locate the code of his framework. Maybe you could ask on the Squeak mailing list! Can you elaborate on your feedback-loop *inside* the system idea? Especially in the context of Pharo? So your “Systems which evolve over time need to have a very tiny core which is supremely malleable” I actually think is very true.. and Pharo clearly is not there yet.(and what that even is supposed to be.. has many answers). But what we technical people are the quickly to say “a malleable system needs a very tiny core, so let’s first do that”. And abandon what we have. But if you step back, for the end-“user” (that is programmer) it would not change much, it would solve nothing on that level of the problem of howto evolve a platform *and* the systems using it. Which might be even harder to do right than the kernel... Another aspect is that “lets build the perfect evolvable system” is as impossible as “lets build the perfect system”… when you are done, yourealise that you could do even better! Marcus---- Yes, I agree on the point of things just never being done in the world of software. Though, I do tend to think "Common Lisp" is a done language, but their development environments (even commercial ones) leave a lot to be desired. For a moment think from the perspective of art, as one of the greats had mentioned; perfection is achieved when there's nothing more to take away. I think what you and the core team did using the stuff (core Squeak + Morphic) available to you back then without knowledge about Boris Gaertner's work is quite an achievement. But Pharo is really too big, especially when you compare it with a standard Smalltalk-80 system. Maybe the core team "could" consider going along the same path of cleaning-up and simplifying the core Smalltalk system further but instead of working with the bloat of Morphic, instead go with that MVC-based "ThirdWay" framework! In fact, I would wholeheartedly support the core team changing a lot of what it means to be Smalltalk if the end result can be made smaller and more malleable. As an example of a minimalistic and extremely malleable language, take a look at "io"; https://iolanguage.org/ Yes, it's a lot bigger than a Forth, but at least it won't drive normal people to insanity. :-D Just a suggestion, no intention of denigrating the work that has been done till date.