Proposal for a Squeak migration meeting

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
161 messages Options
1 ... 456789
Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Andreas.Raab
Lex Spoon wrote:
> Hilaire is only asking what the status and expectations about a usable
> Tweak are.  It took a lot of asking, and apparently the answer is that
> you have to go back and convert a 3.8 image to a Tweak one.  This is
> different from Morphic, where Morphic was initially available in
> Squeak right beside MVC.

But what is your point, exactly? That Tweak is to blame for changes in
3.9 that render 3.9 incompatible with 3.8 to such an extent that Tweak
doesn't work out of the box? Contrary to which other 3.8 based
environments (iSqueak, Croquet, TinLizzie) run Tweak just fine.

And for the records, the reason why Morphic was initially available in
Squeak right beside MVC was because the people who worked on it (SqC)
had control over BOTH. Unfortunately, the same cannot be said about
Tweak and 3.9 so unless your point is that you're screwed when you don't
have control over parts that you depend on (to which I wholeheartedly
agree), then I don't get the point you're trying to make.

Cheers,
   - Andreas


Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

stéphane ducasse-2
No problem we are the bad guys to blame....

Stef (the random refactorer)

> Lex Spoon wrote:
>> Hilaire is only asking what the status and expectations about a  
>> usable
>> Tweak are.  It took a lot of asking, and apparently the answer is  
>> that
>> you have to go back and convert a 3.8 image to a Tweak one.  This is
>> different from Morphic, where Morphic was initially available in
>> Squeak right beside MVC.
>
> But what is your point, exactly? That Tweak is to blame for changes  
> in 3.9 that render 3.9 incompatible with 3.8 to such an extent that  
> Tweak doesn't work out of the box? Contrary to which other 3.8  
> based environments (iSqueak, Croquet, TinLizzie) run Tweak just fine.
>
> And for the records, the reason why Morphic was initially available  
> in Squeak right beside MVC was because the people who worked on it  
> (SqC) had control over BOTH. Unfortunately, the same cannot be said  
> about Tweak and 3.9 so unless your point is that you're screwed  
> when you don't have control over parts that you depend on (to which  
> I wholeheartedly agree), then I don't get the point you're trying  
> to make.
>
> Cheers,
>   - Andreas
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Klaus D. Witzel
In reply to this post by Lex Spoon
On Mon, 10 Jul 2006 10:05:48 +0200, Lex Spoon <[hidden email]> wrote:

> tim Rowledge <[hidden email]> writes:
>> On 7-Jul-06, at 6:48 AM, Bert Freudenberg wrote:
>>
>> [snip]
>> >
>> > Hilaire, it would be nice if you read what I write. I never said or
>> > implied that.
>>
>> It certainly would; putting words into other people's mouths is
>> neither polite nor hygenic.
>
> Hilaire is only asking what the status and expectations about a usable
> Tweak are.

Thank you Lex, that was overdue! All that Hilaire wants is confidence on  
which GUI will be available for the next to come project and/or customer.  
Not a bad question to ask a community.

> It took a lot of asking, and apparently the answer is that
> you have to go back and convert a 3.8 image to a Tweak one.  This is
> different from Morphic, where Morphic was initially available in
> Squeak right beside MVC.
>
>
> -Lex

/Klaus


Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Bert Freudenberg-3
Am 10.07.2006 um 13:32 schrieb Klaus D. Witzel:

> On Mon, 10 Jul 2006 10:05:48 +0200, Lex Spoon <[hidden email]>  
> wrote:
>> Hilaire is only asking what the status and expectations about a  
>> usable
>> Tweak are.
>
> Thank you Lex, that was overdue! All that Hilaire wants is  
> confidence on which GUI will be available for the next to come  
> project and/or customer. Not a bad question to ask a community.

Agreed, but it's not one with a simple yes/no answer like Hilaire  
demanded, either.

A very simplistic answer would be - yes, sure it will be available,  
because it is available now, it's MIT licensed, you can take the code  
and do anything with it that you like.

Is that a satisfying answer? I don't think so, but that's all you  
gonna get if you demand simple answers.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Hilaire Fernandes-5
Bert Freudenberg a écrit :

> Am 10.07.2006 um 13:32 schrieb Klaus D. Witzel:
>
>> On Mon, 10 Jul 2006 10:05:48 +0200, Lex Spoon <[hidden email]>  wrote:
>>
>>> Hilaire is only asking what the status and expectations about a  usable
>>> Tweak are.
>>
>>
>> Thank you Lex, that was overdue! All that Hilaire wants is  confidence
>> on which GUI will be available for the next to come  project and/or
>> customer. Not a bad question to ask a community.
>
>
> Agreed, but it's not one with a simple yes/no answer like Hilaire  
> demanded, either.

It is.
Indeed, I was asking about the community commitment to Squeak.org
regarding Tweak. And the answer was clear. And I am not objecting
Andreas, how I could, it is free software world.
Other projects have more commitment to Squeak.org, for example Seaside
is doing so, therefore using Seaside is something with a relitively
highter level of thrust than using Tweak. Again, this is just the way
free software seems to work. Project with higher visibility attract more
users and developpers, and in turn get even more 'thrustable'.
Again I am not blaming but just pointing how free software project
evolve, and yes it is not always rewarding for the authors, but some
subtle mutual benefice is always possible.

Hilaire

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Andreas.Raab
In reply to this post by stéphane ducasse-2
stéphane ducasse wrote:
> No problem we are the bad guys to blame....
>
> Stef (the random refactorer)

Honestly, Stef, if it isn't random then what is the strategy for these
changes? Looking at the past Squeak versions, starting from 3.6 every
version was just incompatible enough with previous versions such that it
would break any serious user of the metaclass hierarchy (like Tweak). I
think you will agree that it can't continue that way, that at some point
we need to get back to what can be called a *stable* metaclass kernel
with reliable APIs and when exactly will that point be reached?

Cheers,
   - Andreas


>
>> Lex Spoon wrote:
>>> Hilaire is only asking what the status and expectations about a usable
>>> Tweak are.  It took a lot of asking, and apparently the answer is that
>>> you have to go back and convert a 3.8 image to a Tweak one.  This is
>>> different from Morphic, where Morphic was initially available in
>>> Squeak right beside MVC.
>>
>> But what is your point, exactly? That Tweak is to blame for changes in
>> 3.9 that render 3.9 incompatible with 3.8 to such an extent that Tweak
>> doesn't work out of the box? Contrary to which other 3.8 based
>> environments (iSqueak, Croquet, TinLizzie) run Tweak just fine.
>>
>> And for the records, the reason why Morphic was initially available in
>> Squeak right beside MVC was because the people who worked on it (SqC)
>> had control over BOTH. Unfortunately, the same cannot be said about
>> Tweak and 3.9 so unless your point is that you're screwed when you
>> don't have control over parts that you depend on (to which I
>> wholeheartedly agree), then I don't get the point you're trying to make.
>>
>> Cheers,
>>   - Andreas
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Damien Cassou-3
Hi Andreas,

> Honestly, Stef, if it isn't random then what is the strategy for these
> changes? Looking at the past Squeak versions, starting from 3.6 every
> version was just incompatible enough with previous versions such that it
> would break any serious user of the metaclass hierarchy (like Tweak). I
> think you will agree that it can't continue that way, that at some point
> we need to get back to what can be called a *stable* metaclass kernel
> with reliable APIs and when exactly will that point be reached?

my vision of squeak is a live organism and I don't think a stable API
could fit such a system. I agree with you that one should be able to
rely on a common factor and work on top of this. On a certain point of
view this is already done with the most common classes/hierarchies and
their methods (you can count on #do: and #collect: for the collections,
and on #superclass for Behavior). But squeak is not in a position of
stabilization. Its community is to small. Currently, I think it is
better to push things and make things go ahead even if it breaks
compatibility.

Reply | Threaded
Open this post in threaded view
|

Re: Re: Tweak mainstream in Squeak

Lukas Renggli
In reply to this post by Andreas.Raab
> Honestly, Stef, if it isn't random then what is the strategy for these
> changes? Looking at the past Squeak versions, starting from 3.6 every
> version was just incompatible enough with previous versions such that it
> would break any serious user of the metaclass hierarchy (like Tweak). I
> think you will agree that it can't continue that way, that at some point
> we need to get back to what can be called a *stable* metaclass kernel
> with reliable APIs and when exactly will that point be reached?

To improve software, it is required to break backward compatibility.
Nobody is forcing you to move to a new version.

If updates to the base-framework don't enhance anything in the
development process of your software, it is unnecessary to update. If
I were you, I would stick with 3.6. Still waters run deep.

I have some legacy Seaside applications in ancient 3.6 images that run
just fine. They rarely change. They simply run fine. I won't port them
to 3.9 and a recent version of Seaside. These applications don't
require anything more as it is available in 3.6. However, for new
applications I take 3.9, I love
Shout/eCompletion/OmniBrowser/Traits/Pragmas/ToolBuilder/... I like to
keep up-to-date as long as it improves my productivity.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Julian Fitzell
Lukas Renggli wrote:
 >> Honestly, Stef, if it isn't random then what is the strategy for these
 >> changes? Looking at the past Squeak versions, starting from 3.6 every
 >> version was just incompatible enough with previous versions such that it
 >> would break any serious user of the metaclass hierarchy (like Tweak). I
 >> think you will agree that it can't continue that way, that at some point
 >> we need to get back to what can be called a *stable* metaclass kernel
 >> with reliable APIs and when exactly will that point be reached?
 >
 >
 > To improve software, it is required to break backward compatibility.
 > Nobody is forcing you to move to a new version.
 >
 > If updates to the base-framework don't enhance anything in the
 > development process of your software, it is unnecessary to update. If
 > I were you, I would stick with 3.6. Still waters run deep.
 >
 > I have some legacy Seaside applications in ancient 3.6 images that run
 > just fine. They rarely change. They simply run fine. I won't port them
 > to 3.9 and a recent version of Seaside. These applications don't
 > require anything more as it is available in 3.6. However, for new
 > applications I take 3.9, I love
 > Shout/eCompletion/OmniBrowser/Traits/Pragmas/ToolBuilder/... I like to
 > keep up-to-date as long as it improves my productivity.

It's not quite that simple...

To improve software, it MAY be required to break backward compatibility.
  But it should always be a conscious decision to do so.

In my opinion, in Squeak, it is an even bigger issue: although my
software may not require the new features of 3.9, I dread the thought of
having to go back and work in a 3.6 image.  Not only do I lose many of
the development environment features I like, it's DIFFERENT.  Having to
re-learn the intricacies and bugs of a new environment every time I need
to fix a bug in my stable software just because someone decided to
"improve software" is not efficient.

I'm not saying don't break compatibility, I'm just saying be aware every
time that you are doing it.  And the thought that there be a relatively
stable API for a core set of classes that doesn't change without some
forethought is perfectly reasonable, in my opinion.  At least then, when
compatibility is broken, detailed instructions could be provided on how
to update your software in each case.

Julian



Reply | Threaded
Open this post in threaded view
|

backwards compatibility (was Re: Tweak mainstream in Squeak)

Avi  Bryant
In reply to this post by Lukas Renggli

On Jul 10, 2006, at 12:42 PM, Lukas Renggli wrote:

>> Honestly, Stef, if it isn't random then what is the strategy for  
>> these
>> changes? Looking at the past Squeak versions, starting from 3.6 every
>> version was just incompatible enough with previous versions such  
>> that it
>> would break any serious user of the metaclass hierarchy (like  
>> Tweak). I
>> think you will agree that it can't continue that way, that at some  
>> point
>> we need to get back to what can be called a *stable* metaclass kernel
>> with reliable APIs and when exactly will that point be reached?
>
> To improve software, it is required to break backward compatibility.
> Nobody is forcing you to move to a new version.

True.  Though if few enough people are moving to new versions as they  
come out, it's not a very good sign.

Just as a data point: everything we do at Smallthought is based on a  
stripped 3.7 image.  Every few months I download a 3.9 image and play  
with it for about 15 minutes, but the reality is that what happens in  
3.9 simply doesn't affect us.  If we're an exceptional case, it's  
probably not a big deal, but if it turns out that lots of others are  
doing the same thing, it would be worrying.

Avi

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Colin Putney
In reply to this post by Julian Fitzell

On Jul 10, 2006, at 4:22 PM, Julian Fitzell wrote:

> I'm not saying don't break compatibility, I'm just saying be aware  
> every time that you are doing it.  And the thought that there be a  
> relatively stable API for a core set of classes that doesn't change  
> without some forethought is perfectly reasonable, in my opinion.  
> At least then, when compatibility is broken, detailed instructions  
> could be provided on how to update your software in each case.

Here, here. I'll add an example of the kind of incompatibility that  
I, at least, am frustrated by.

I try to keep OmniBrowser compatible with Squeak 3.6 and later. Prior  
to 3.9, you can fetch a menu icon for delete operations by sending  
#deleteIcon to the class MenuIcons. In 3.9 you have to send  
#smallDeleteIcon. As far as I can tell, the change is completely  
gratuitous. The icon is small, yes, but there's no corresponding  
#largeDeleteIcon.  #deleteIcon was just removed, it wasn't changed to  
call through to #smallDeleteIcon or even deprecated.

Apparently, I have to jump through some hoops to make menus work in  
Squeak 3.9 because somebody wanted to make the selectors more  
consistent. I'm all for progress, but this kind of thing is just  
irritating.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Andreas.Raab
In reply to this post by Lukas Renggli
Lukas Renggli wrote:
> To improve software, it is required to break backward compatibility.
> Nobody is forcing you to move to a new version.

For starters, let's get our basic assumptions right: This discussion
isn't about people who do *not* want to move to new versions. It's about
people who *do* want and what expectations they can have. Otherwise I'd
agree with your statement.

> If updates to the base-framework don't enhance anything in the
> development process of your software, it is unnecessary to update. If
> I were you, I would stick with 3.6. Still waters run deep.

Well, if you were me, you would *want* to update. But you would have
noticed that things got so inconsistently broken at the metaclass level
that unless there are major pay-offs, it simply isn't worth the effort.
That's what happened from 3.6 to 3.7. In 3.8 there was a major payoff -
the m17n integration. That's why I then spent the time needed. For 3.9,
from a Tweak POV there isn't that much interesting in there, so rather
than going through the painful porting exercise yet again I'll probably
spend my time on bootstrapping a stable (3.8-based) metaclass kernel
which can be used in parallel to the 3.9 kernel. Which is not
particularly nice but in the absence of any inclination towards stable
APIs the only alternative that I can see.

> I have some legacy Seaside applications in ancient 3.6 images that run
> just fine. They rarely change. They simply run fine. I won't port them
> to 3.9 and a recent version of Seaside. These applications don't
> require anything more as it is available in 3.6. However, for new
> applications I take 3.9, I love
> Shout/eCompletion/OmniBrowser/Traits/Pragmas/ToolBuilder/... I like to
> keep up-to-date as long as it improves my productivity.

You're totally missing my point. Let's take one example from your list:
ToolBuilder. Let's say you've got some work that uses it, would you
really expect that in each new Squeak version you have to spend major
effort to port your code to the latest ToolBuilder version? Or wouldn't
you rather expect that there is a stable API that can be used and that
may be extended over time, or even broken, but if it's broken that you
may get some notice about it beforehand? Or, in particular when the
changes get really fundamental, that instead of modifying ToolBuilder
in-place you get the offer to use either ToolBuilder (working the way it
always did) and whatever the brand-new framework of the day is?

I'm curious but is my position in this discussion really so outrageous?

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Wolfgang Eder
In reply to this post by Colin Putney
Colin Putney wrote:

>
> On Jul 10, 2006, at 4:22 PM, Julian Fitzell wrote:
>
>> I'm not saying don't break compatibility, I'm just saying be aware
>> every time that you are doing it.  And the thought that there be a
>> relatively stable API for a core set of classes that doesn't change
>> without some forethought is perfectly reasonable, in my opinion.  At
>> least then, when compatibility is broken, detailed instructions could
>> be provided on how to update your software in each case.
>
> Here, here. I'll add an example of the kind of incompatibility that I,
> at least, am frustrated by.
>
> I try to keep OmniBrowser compatible with Squeak 3.6 and later. Prior to
> 3.9, you can fetch a menu icon for delete operations by sending
> #deleteIcon to the class MenuIcons. In 3.9 you have to send
> #smallDeleteIcon. As far as I can tell, the change is completely
> gratuitous. The icon is small, yes, but there's no corresponding
> #largeDeleteIcon.  #deleteIcon was just removed, it wasn't changed to
> call through to #smallDeleteIcon or even deprecated.
>
> Apparently, I have to jump through some hoops to make menus work in
> Squeak 3.9 because somebody wanted to make the selectors more
> consistent. I'm all for progress, but this kind of thing is just
> irritating.
>
> Colin

Hi,
this example demonstrates the main reason why I think
the "full" image is so important:
If, at the point of this refactoring (or renaming, whatever),
the author had your OmniBrowser loaded, it would have been
no big deal to just make the required changes.
Using the RB, you get most of these changes *for free*.

It's so much less work this way, compared to trying to find
out what has changed, exactly, between newer versions.
Cheers
Wolfgang

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Brad Fuller
In reply to this post by Andreas.Raab
Andreas Raab wrote:

> Lukas Renggli wrote:
>> To improve software, it is required to break backward compatibility.
>> Nobody is forcing you to move to a new version.
>
> For starters, let's get our basic assumptions right: This discussion
> isn't about people who do *not* want to move to new versions. It's
> about people who *do* want and what expectations they can have.
> Otherwise I'd agree with your statement.
>
>> If updates to the base-framework don't enhance anything in the
>> development process of your software, it is unnecessary to update. If
>> I were you, I would stick with 3.6. Still waters run deep.
>
> Well, if you were me, you would *want* to update. But you would have
> noticed that things got so inconsistently broken at the metaclass
> level that unless there are major pay-offs, it simply isn't worth the
> effort. That's what happened from 3.6 to 3.7. In 3.8 there was a major
> payoff - the m17n integration. That's why I then spent the time
> needed. For 3.9, from a Tweak POV there isn't that much interesting in
> there, so rather than going through the painful porting exercise yet
> again I'll probably spend my time on bootstrapping a stable
> (3.8-based) metaclass kernel which can be used in parallel to the 3.9
> kernel. Which is not particularly nice but in the absence of any
> inclination towards stable APIs the only alternative that I can see.
>
>> I have some legacy Seaside applications in ancient 3.6 images that run
>> just fine. They rarely change. They simply run fine. I won't port them
>> to 3.9 and a recent version of Seaside. These applications don't
>> require anything more as it is available in 3.6. However, for new
>> applications I take 3.9, I love
>> Shout/eCompletion/OmniBrowser/Traits/Pragmas/ToolBuilder/... I like to
>> keep up-to-date as long as it improves my productivity.
>
> You're totally missing my point. Let's take one example from your
> list: ToolBuilder. Let's say you've got some work that uses it, would
> you really expect that in each new Squeak version you have to spend
> major effort to port your code to the latest ToolBuilder version? Or
> wouldn't you rather expect that there is a stable API that can be used
> and that may be extended over time, or even broken, but if it's broken
> that you may get some notice about it beforehand? Or, in particular
> when the changes get really fundamental, that instead of modifying
> ToolBuilder in-place you get the offer to use either ToolBuilder
> (working the way it always did) and whatever the brand-new framework
> of the day is?
>
> I'm curious but is my position in this discussion really so outrageous?
it sounds right to me. I would want to update to the newest just for bug
fixes alone. And, I wouldn't want any surprises. If something is broken,
it should be easy to state that somewhere so people can have a look
before upgrading.

brad

Reply | Threaded
Open this post in threaded view
|

backwards compatibility (was Re: Tweak mainstream in Squeak)

Göran Krampe
In reply to this post by Avi Bryant
Hi!

Avi Bryant <[hidden email]> wrote:
> On Jul 10, 2006, at 12:42 PM, Lukas Renggli wrote:
> > To improve software, it is required to break backward compatibility.
> > Nobody is forcing you to move to a new version.
>
> True.  Though if few enough people are moving to new versions as they  
> come out, it's not a very good sign.

Indeed, indeed. As I often say "remember the 3.3 branch". Noone moved
in, because it was an uncomfortable image to move into, and thus it died
(at least that was an important part).
 
> Just as a data point: everything we do at Smallthought is based on a  
> stripped 3.7 image.  Every few months I download a 3.9 image and play  
> with it for about 15 minutes, but the reality is that what happens in  
> 3.9 simply doesn't affect us.  If we're an exceptional case, it's  
> probably not a big deal, but if it turns out that lots of others are  
> doing the same thing, it would be worrying.
>
> Avi

As a datapoint I work in 3.8. I will try to move to 3.9 when it seems
fruititious - but I probably will not work in it until Seaside, Magma
and a few other important pieces are stabilized in it.

My first job in that department would be to give KomHttpServer a 3.9
overhaul of course.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Colin Putney
In reply to this post by Wolfgang Eder

On Jul 10, 2006, at 7:06 PM, Wolfgang Eder wrote:

> Hi,
> this example demonstrates the main reason why I think
> the "full" image is so important:
> If, at the point of this refactoring (or renaming, whatever),
> the author had your OmniBrowser loaded, it would have been
> no big deal to just make the required changes.
> Using the RB, you get most of these changes *for free*.

Actually, I suspect that this is exactly what was done. OmniBrowser  
is part of the Full 3.9 image, and it appears to have been refactored  
along with everything else in the full image. The break in  
compatibility is still a problem, though, for two reasons:

First, that refactored version of OmniBrowser only works in Squeak  
3.9. It doesn't work in Squeak 3.6, 3.7 or 3.8. If all I cared about  
was compatibility with the latest release of Squeak, I wouldn't be  
complaining in the first place.

Second, it's just not feasible to have all the code in the Squeak  
world loaded into a single image. You can get a lot, I'm sure, but  
some packages conflict with other packages. If you rely on  
refactoring to mitigate API changes, you're going to break anything  
that isn't in your image when you make the change.

> It's so much less work this way, compared to trying to find
> out what has changed, exactly, between newer versions.

I love refactoring. But it's not a solution to this problem.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Göran Krampe
In reply to this post by Andreas.Raab
Andreas Raab <[hidden email]> wrote:
> I'm curious but is my position in this discussion really so outrageous?

No to me. :) I find it quite reasonable. I on the other hand do not know
the whys and whats about the changes made.

Can someone give us a quick summary on the changes in question and why
they were made? I assume it is Traits related? Or refactoring?

regards, Göran

PS. Hasn't been in 3.9 land for quite some time, but will try to make up
for that.

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

Alberto Berti
In reply to this post by Andreas.Raab
Andreas Raab wrote:

>
> You're totally missing my point. Let's take one example from your
> list: ToolBuilder. Let's say you've got some work that uses it, would
> you really expect that in each new Squeak version you have to spend
> major effort to port your code to the latest ToolBuilder version? Or
> wouldn't you rather expect that there is a stable API that can be used
> and that may be extended over time, or even broken, but if it's broken
> that you may get some notice about it beforehand? Or, in particular
> when the changes get really fundamental, that instead of modifying
> ToolBuilder in-place you get the offer to use either ToolBuilder
> (working the way it always did) and whatever the brand-new framework
> of the day is?
>
> I'm curious but is my position in this discussion really so outrageous?
not for me
I'm primarily a python developer which looks at squeak as a wonderful
platform where implement multimedia apps for children. Unfortunately,
it's difficult for me to understand what's new in each release and where
will go the development from there... No (or minor) release docs, no
code that comes from enhancements proposals (like PEPs) and that's
discussed before actual inclusion in the release. And with each release
you get the 90% of probability that if you try to filein a package or
code developed for the release before the one you are running it will
not run at all.
Python has it's own big problems too (the code and naming style of its
standard lib changes from module to module and big parts of that library
are function oriented rather than object oriented), but it cares
backward compatibility  a lot... Important enhancements that will be
enabled by default in the next stable version are available in the
actual release by importing them from a special "future" module as old
features considered "deprecated" are available in a number of releases
since then. I consider the fact that squeak is always a "moving target"
from an API  POV one of its major drawbacks and one of the reasons why
there is so little documentation about them, a fact that which i think
keeps possible developers interested in squeak away from it.

my two cents,

Alberto

Reply | Threaded
Open this post in threaded view
|

Re: backwards compatibility (was Re: Tweak mainstream in Squeak)

Philippe Marschall
In reply to this post by Göran Krampe
> As a datapoint I work in 3.8. I will try to move to 3.9 when it seems
> fruititious - but I probably will not work in it until Seaside, Magma
> and a few other important pieces are stabilized in it.
>
> My first job in that department would be to give KomHttpServer a 3.9
> overhaul of course.

Seaside and Kom work quite nicely in 3.9 today :)

Philippe

Reply | Threaded
Open this post in threaded view
|

Re: Tweak mainstream in Squeak

stéphane ducasse-2
In reply to this post by Andreas.Raab
Hi andreas

I will not state any related to our totally illness to do random  
refactorings
but can you tell me what is so deeply broken in the metaclass kernel?
I'm so idiot that I cannot even know it.

Stef


On 11 juil. 06, at 00:56, Andreas Raab wrote:

> Lukas Renggli wrote:
>> To improve software, it is required to break backward compatibility.
>> Nobody is forcing you to move to a new version.
>
> For starters, let's get our basic assumptions right: This  
> discussion isn't about people who do *not* want to move to new  
> versions. It's about people who *do* want and what expectations  
> they can have. Otherwise I'd agree with your statement.
>
>> If updates to the base-framework don't enhance anything in the
>> development process of your software, it is unnecessary to update. If
>> I were you, I would stick with 3.6. Still waters run deep.
>
> Well, if you were me, you would *want* to update. But you would  
> have noticed that things got so inconsistently broken at the  
> metaclass level that unless there are major pay-offs, it simply  
> isn't worth the effort. That's what happened from 3.6 to 3.7. In  
> 3.8 there was a major payoff - the m17n integration. That's why I  
> then spent the time needed. For 3.9, from a Tweak POV there isn't  
> that much interesting in there, so rather than going through the  
> painful porting exercise yet again I'll probably spend my time on  
> bootstrapping a stable (3.8-based) metaclass kernel which can be  
> used in parallel to the 3.9 kernel. Which is not particularly nice  
> but in the absence of any inclination towards stable APIs the only  
> alternative that I can see.
>
>> I have some legacy Seaside applications in ancient 3.6 images that  
>> run
>> just fine. They rarely change. They simply run fine. I won't port  
>> them
>> to 3.9 and a recent version of Seaside. These applications don't
>> require anything more as it is available in 3.6. However, for new
>> applications I take 3.9, I love
>> Shout/eCompletion/OmniBrowser/Traits/Pragmas/ToolBuilder/... I  
>> like to
>> keep up-to-date as long as it improves my productivity.
>
> You're totally missing my point. Let's take one example from your  
> list: ToolBuilder. Let's say you've got some work that uses it,  
> would you really expect that in each new Squeak version you have to  
> spend major effort to port your code to the latest ToolBuilder  
> version? Or wouldn't you rather expect that there is a stable API  
> that can be used and that may be extended over time, or even  
> broken, but if it's broken that you may get some notice about it  
> beforehand? Or, in particular when the changes get really  
> fundamental, that instead of modifying ToolBuilder in-place you get  
> the offer to use either ToolBuilder (working the way it always did)  
> and whatever the brand-new framework of the day is?
>
> I'm curious but is my position in this discussion really so  
> outrageous?
>
> Cheers,
>   - Andreas
>


1 ... 456789