Whither Squeak?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
82 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

Re: Whither Squeak?

Juan Vuletich
Hello Alan,

That would be great. Thanks for your encouragement! The attention my
experiment is getting will help me find time to make it advance.

Cheers,
Juan Vuletich
----- Original Message -----
From: "Alan Kay" <[hidden email]>
To: "The general-purpose Squeak developers list"
<[hidden email]>; "The general-purpose Squeak
developers list" <[hidden email]>
Sent: Tuesday, May 23, 2006 4:49 PM
Subject: Re: Whither Squeak?


>A good exercise (and very useful) would be just to build a new (and much
>better) Etoys in your new Morphic. There is nothing sacred in the current
>version of Etoys.
>
> Cheers,
>
> Alan
>
> ----------
>
> At 04:36 AM 5/23/2006, Juan Vuletich wrote:
>>Hi Daniel,
>>
>>I used MudPie for splitting Morphic. As I said in another message, I
>>failed at making Etoys and MorphicExtras easy to unload and load back.
>>This is because for fixing the bad dependencies without needing two
>>versions of many core methods (i.e. methods not in the package we are
>>removing). Doing this carefully is way too much for me (and for anybody, I
>>guess). Squeak is too big!
>>
>>My experience with MudPie was excellent. It is great for spotting those
>>dependencies. It works great, and when I needed some help, or new
>>features, Daniel helped me a lot, and implemented many of my suggestions.
>>Thanks, Daniel! And I can say: MudPie does work in 3.9.
>>
>>The problem was not lack of tools like MudPie. I could think of a tool
>>that could automate the generation of some of the code needed for removing
>>dependencies. But I don't think that would be a good solution. The only
>>way to clean code is by understanding it. So, to me the problem is: too
>>much work, too little time.
>>
>>Cheers,
>>Juan Vuletich
>>
>>----- Original Message ----- From: "Daniel Vainsencher"
>><[hidden email]>
>>To: "The general-purpose Squeak developers list"
>><[hidden email]>
>>Sent: Saturday, May 20, 2006 7:42 AM
>>Subject: Re: Whither Squeak?
>>
>>
>>>Hi Ralph
>>>
>>>Improving design:
>>>------------------------------
>>>One of the problems is that Squeak did much of its growth without any
>>>explicit package system. As a side effect, these systems usually enforce
>>>a-cyclic dependencies. Cyclic dependencies (considering just
>>>compilation-time-obvious dependencies, like a method in one class
>>>refering to a parent) are rampant in Squeak (see references to Morph),
>>>making it difficult to decompose.
>>>
>>>I wrote some code to aid finding, reducing and keeping down the incidence
>>>of such dependencies, called MudPie[1] (available from SqueakMap, I don't
>>>guarantee it works 3.9, but will if there's interest). DanI wrote some
>>>other modularization aid code. Some people have looked at these efforts,
>>>for example Juan, and tried to use them - I'll let them speak about their
>>>usefulness and/or problems. I would call neither tools, since they didn't
>>>include a real UI and such, which is sufficient cause for them to never
>>>have become widely used.
>>>
>>>Package system:
>>>--------------------------
>>>I believe that the management of the code of Squeak in tool supported
>>>packages is a critical component of any solution - this is the only way
>>>to keep the boundaries up to date. So the existance of MC exists makes
>>>this task somewhat feasible, but there have been various problems with
>>>its use to manage the whole image.
>>>
>>>- Performance (loading updates to the image using MC is much slower than
>>>loading changesets).
>>>- System changes (like introducing Traits) require going through various
>>>intermediate stages, but MC itself only model merging the code in order
>>>to reach the final stage to be loaded.
>>>- Workflow:
>>>-- Support for cherry picking is very basic in current MC (which MC2
>>>should improve).
>>>-- MC is quite workflow agnostic, but maintaining Squeak does require
>>>some workflow (people write fixes, other people merge them), and
>>>maintaining it as a set of packages requires even more of it
>>>(coordination of entry of package changes into the official release).
>>>Right now we use a combination of SqueakSource, Mantis, and email, glued
>>>together by (what seems to me like) lots of overhead.
>>>
>>>
>>>Daniel Vainsencher
>>>[1] listed in
>>>http://www.informatik.uni-trier.de/~ley/db/journals/cl/cl30.html
>>>>On 5/19/06, Cees De Groot <[hidden email]> wrote:
>>>>>  the tools have
>>>>>performance problems when trying to manage the whole image.
>>>>
>>>>Can you be specific?  What tools?  Can you give stories of how tools
>>>>failed you?
>>>>
>>>>>On a more philosophical stance, Squeak has grown organically. And
>>>>>anything organic tends to get fuzzy, maybe even almost fractal,
>>>>>borders between the various parts. Try separating a leaf from its
>>>>>stem, on the cell level, for starters...
>>>>
>>>>Squeak is a bit more extreme than others, but not a lot.  As Fred
>>>>Brooks said, all successful large systems started as successful small
>>>>systems.  Organic growth is typical, not atypical.  Refactoring is a
>>>>lot of hard work and Squeak doesn't have people being paid to do this
>>>>kind of work.  But I find it hard to believe that Squeak is worse than
>>>>Word, or Gnu EMACS, or any other large system that has been around for
>>>>a long time.  The difference is that Microsoft pays people a lot of
>>>>money to modularize Word.  It goes though periods of organic growth,
>>>>and then periods of modularization as they try to reuse code across
>>>>projects or within Word.  Most software does this.
>>>>
>>>>This is why I think modularizing Squeak is an interesting project,
>>>>because we can learn lessons from it that will apply to all software.
>>>>So, we need to write about what we are doing, the problems we
>>>>discover, and the lessons we learn.
>>>>
>>>>Squeak hasn't needed to be modular enough for people to do the work to
>>>>make it so.  Now it does.  (Well, it probably has for several years,
>>>>so "now" means "the last few years".)
>>>>
>>>>-Ralph Johnson
>>>
>>>
>>>
>>>
>>>
>>>--
>>>No virus found in this incoming message.
>>>Checked by AVG Free Edition.
>>>Version: 7.1.392 / Virus Database: 268.6.1/344 - Release Date: 5/19/2006
>>>
>>
>
>
>
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.6.1/344 - Release Date: 5/19/2006
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Etoys: The Good, the Bad, and the Ugly (was Re: Whither Squeak?)

Serge Stinckwich-4
In reply to this post by Markus Gälli-3
Markus Gaelli a écrit :

>
> On May 23, 2006, at 9:49 PM, Alan Kay wrote:
>
>> A good exercise (and very useful) would be just to build a new (and
>> much better) Etoys in your new Morphic. There is nothing sacred in the
>> current version of Etoys.
>
> Hi,
>
> having some fun Etoys experience myself (http://www.emergent.de/etoys.html)
> I compiled a list (should I say Set ;-))
>  "Etoys: The good, the bad and the ugly"  - (to be criticized,
> prioritized and extended of course)
>
> Good:
> - Forces one to unify GUI + Model, which often does makes sense (think
> naked objects)
> - Allows visual programming using tiles
> - Comes with a rich set of toys
> - Is prototype based (good for exploring)
> - types variables by examples
> - holders/playfields are very powerful (iteration, inclusion...)
> - Generates Smalltalk Code in the background
> - Nice concept of halos
> - Connectors...
> - Quite transparent parallelism
> - Is translated to many languages
> - Net Morphs are coool
> - Nebraska (if it works) is nice too
> - Recorded sounds can be used as tiles
> - scripts allow parameters (though I seldom needed this)
> - Hardware Support (forgot the name, but this japanese people converting
> external measurements into sounds, which is in turn translated into
> sound...)
> - Is Used!
> - Comes with some simple sensors (overlaps, color sees...)
> - Constraints of Etoys allow some creativity
> - Kedama
>
> Bad:
> - Not easy for end user to extend with smalltalk code (e.g. some
> frustrated lisp programmer could not add midi to Etoys)
> - Limited set of events (will be better with Etoys2 ak Tweak)
> - Traces of turtles are pixels not objects (want to create some vector
> graphic with turtles...)
> - No notion of matrices ak 2D Fields
> - projects only storable as binaries (would be cool if commands would be
> logged en passant while creating a project...)
> - Squeak Plugin not widespread
> - some properties are not available (why can't I treat every player as a
> holder?)
> - Cannot extend with scripts which deliver booleans, always have to make
> a variable for that (maybe ok though)
> - Tiles create code, but code does not create tiles
> - Not yet available for 3d (croquet programming with Etoys would rock)
> - No bracketing of arithmetic expressions
> - preceding rules of Smalltalk and not of high school mathematics
> - Some tiles don't accept input (eg random...)
> - No debugger for etoys (difficult, but maybe fruitful)
> - "Genetive Programming" (first script any object, then say, that e.g.
> this script actually should affect the player at cursor...)
> - Connectors too much hidden
> - Strange organization of method categories (eg. misc...)
> - siblings can't be broken, copies can't be "siblinged"
> - No tasks, riddles with possible solutions online
> - no physics engine
> - Tweak, ak Etoys2 seems still to be slow
> - Projects in Projects are not publishable
> - Cells in Matrices should know about their neighbors
> - No use of midi
> - maybe Kedama could be integrated better
>
> Ugly:
>
> - mangling of EToys code everywhere in Squeak (though I strongly favor
> further inclusion of "the best etoys currently available" in the kitchen
> sink image


Good list Markus !

I like the point about using constraints to enhance creativity.



--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
http://purl.org/net/SergeStinckwich                       oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##






12345