I can't resist adding my pennyworth to this discussion. The ST vision was to empower "children of all ages" to master their own programs. This gives me an imperative discriminator for all my work: Am I making the programs more readable? If not, don't do it.

I have been programming Smalltalk since 1978 starting with ST76, ST78, ST80, and VisualWorks. VW evolved steadily into greater complexity, thus moving away from the goal. Squeak emerged as a new beginning, but I am much afraid that I again see a steady movement away from the goal towards increasing complexity. I regret it, because I believe the original goal is well worth pursuing. (I'll soon be transferring to Pharo, hoping I'll find what I'm looking for there).

Example: The first thing I have always done when moving to a new ST dialect is to modify SystemWindow. The system default has been to open a new window with default size and more or less random position. My personal preference is to retain control and open it in /Rectangle fromUser/. This has always been very easy to achieve with a small modification of a SystemWindow class method. I am now in the process of moving from Squeak 3.10 to 4.5. I have spent several unsuccessful hours trying to add my fix. I find a new layer of runtime Spec code between me and the SystemWindow. I fail to see how this can make the code easier to master. I think I have read somewhere that this automatically generated code is not even intended for human consumption.

This seems to me to be a great pity and an opportunity lost. Much of the Morphic complexity may be essential because it is caused by its great power and flexibility, but user/programmers need to be protected from this complexity. Not by hiding Morphic, but by helping the user/programmer create code for it. Wouldn't it be great if something like Spec were an IDE that generated exemplary Morphic code? Leverage implies rigidity, so there would be different Specs for different purposes. One for property sheets, one for tables, etc. I currently need to create a property sheet but am not looking forward to the Morphic chore. I know that the resulting code should be simple, but I also know that it will take me a very long time to find it. Wouldn't it be nice if I could create my property sheet through a simple Spect tool. Afterwards, I could read the generated Morphic code and say: Aha! So that's how I should have done it.

Just a dream.
--Trygve

On 20.12.2014 14:08, Esteban Lorenzano wrote:
On 20 Dec 2014, at 13:44, Sean P. DeNigris <s...@clipperadams.com> wrote:

kilon.alios wrote
even if continue to use Spec I will stiil have to rely on Morphic
since custom GUIs is really important for me.
Yes, that's why they can not be compared:
Morphic = make and understand any UI
Spec = make common business UIs easily (on top of a general framework like
Morphic)
but that’s not completely true because in that case Morphic should be just the 
“graphic atoms” while spec should provide a set of widgets (made with those 
atoms), when what actually happens is that Morphic is everything: the atoms, 
the widgets, layers ever those widgets and even theming, etc.  So… is not 
correctly designed. Or better said: it has evolved in a way that now needs a 
massive reengineering to make it right.
And Spec, instead being a set of widgets with a declarative way to compose 
them, is yet another layer on top of other layers.

cheers,
Esteban

Reply via email to