Stéphane , i found some amazing stuff for you in Squeak.
Look for senders of:
#isKindOf:orOf:
and if you not yet fully amazed , then look at senders of
#ownerThatIsA:
Amazing!
2009/6/29 Igor Stasenko siguctua@gmail.com:
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
- Not backward compatible
because, unfortunately, it is a main obstacle for moving forward. Or maybe not? Maybe we should start making amazing stuff right now?
I am doing amazing stuff with Squeak right now. I have been doing so for years.
Then we're putting different meaning in an 'amazing' word. I can do amazing stuff, but its often requires hacks, workarounds and other different gotchas, which i hate to put into my code. And after all of that, fairly, i can't call it amazing anymore. Can you?
Now that Pharo provides the non-backward compatible way, which is fine, I don't understand why the question arises for Squeak once again. Pharo is the solution, isn't it ? (and I mean it).
You may feel content about code, which rots there for years, and no-one even cares rewriting/optimizing/making it better. But i don't. I don't like sitting on the gas canister and hoping that next spark will not blow it up.
Stef
-- Best regards, Igor Stasenko AKA sig.
Igor Stasenko a écrit :
Stéphane , i found some amazing stuff for you in Squeak.
Look for senders of:
#isKindOf:orOf:
and if you not yet fully amazed , then look at senders of
#ownerThatIsA:
Amazing!
that's cool. how boring life would be with non-amazing software :)
now, seriously: I never said things should not be cleaned up. my view about backward compatibility and progress is quite balanced, to me. I'm sorry I can't make it convincing, and sorry to end up being considered as an extremist opposed to any change.
Stef
Hi Stéphane,
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
now, seriously: I never said things should not be cleaned up. my view about backward compatibility and progress is quite balanced, to me. I'm sorry I can't make it convincing, and sorry to end up being considered as an extremist opposed to any change.
before things get heated: I really don't think anyone seriously takes this view. :-) (I, for one, certainly don't.)
Best,
Michael
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
Igor Stasenko a écrit :
Stéphane , i found some amazing stuff for you in Squeak.
Look for senders of:
#isKindOf:orOf:
and if you not yet fully amazed , then look at senders of
#ownerThatIsA:
Amazing!
that's cool. how boring life would be with non-amazing software :)
now, seriously: I never said things should not be cleaned up. my view about backward compatibility and progress is quite balanced, to me. I'm sorry I can't make it convincing, and sorry to end up being considered as an extremist opposed to any change.
Be sure, i'm not an extremist as well. But sometimes we need a more bold words to convince people abandon their fears & jump in into a hot & fresh boiling soup :) Every surgeon knows, that in order to force the bones to accrete correctly, you have to break them again.
Stef
Be sure, i'm not an extremist as well. But sometimes we need a more bold words to convince people abandon their fears & jump in into a hot & fresh boiling soup :) Every surgeon knows, that in order to force the bones to accrete correctly, you have to break them again.
I'm not driven by fear.
Stef
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
Be sure, i'm not an extremist as well. But sometimes we need a more bold words to convince people abandon their fears & jump in into a hot & fresh boiling soup :) Every surgeon knows, that in order to force the bones to accrete correctly, you have to break them again.
I'm not driven by fear.
I know you not. Do not interpret my words literally :)
Stef
BTW you did not answer this question: now that Pharo has taken the non-backward compatibility road, why is the question again arising for Squeak ?
people have choice, now.
Stef
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
BTW you did not answer this question: now that Pharo has taken the non-backward compatibility road, why is the question again arising for Squeak ?
Simply because: " Every surgeon knows, that in order to force the bones to accrete correctly, you have to break them again. "
So, each time i thinking about potential changes in Squeak to improve it, guess what? It doesn't makes sense to do that w/o cardinal changes in some classes/protocols. Maybe it is my personal style/perception, who knows, maybe i'm too focused on cleaning stuff. But it will be last day of my life as programmer, if i start using #isKindOf:orOf: or similar stuff. Or start using stuff which using #isKindOf:orOf: .
people have choice, now.
Stef
Maybe it is my personal style/perception, who knows, maybe i'm too focused on cleaning stuff. But it will be last day of my life as programmer, if i start using #isKindOf:orOf: or similar stuff. Or start using stuff which using #isKindOf:orOf: .
I hereby grant you my permission to kill #isKindOf:orOf: and all of its friends and family.
Stef
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
Maybe it is my personal style/perception, who knows, maybe i'm too focused on cleaning stuff. But it will be last day of my life as programmer, if i start using #isKindOf:orOf: or similar stuff. Or start using stuff which using #isKindOf:orOf: .
I hereby grant you my permission to kill #isKindOf:orOf: and all of its friends and family.
Wellcome ...
http://lists.gforge.inria.fr/pipermail/pharo-project/2008-November/003603.ht... http://lists.gforge.inria.fr/pipermail/pharo-project/2009-January/004623.htm...
to Pharo!
Muhahaha :))))
Stef
On 29.06.2009, at 10:11, Igor Stasenko wrote:
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
Maybe it is my personal style/perception, who knows, maybe i'm too focused on cleaning stuff. But it will be last day of my life as programmer, if i start using #isKindOf:orOf: or similar stuff. Or start using stuff which using #isKindOf:orOf: .
I hereby grant you my permission to kill #isKindOf:orOf: and all of its friends and family.
Wellcome ...
http://lists.gforge.inria.fr/pipermail/pharo-project/2008-November/003603.ht... http://lists.gforge.inria.fr/pipermail/pharo-project/2009-January/004623.htm...
to Pharo!
Muhahaha :))))
I don't think that is what Stéphane meant.
"Refactoring is making changes to a body of code in order to improve its internal structure, without changing its external behavior." -- M. Fowler
Refactoring is Good. We should do more of it in Squeak. Replace use of #isKindOf:orOf: with a more sensible design. Yay!
Ripping out stuff breaking features for a million users is not. Now Pharo does not have millions of users to care about yet, they are making a new system with a different focus. Great for them. But this does not really apply to Squeak.
- Bert -
Ripping out stuff breaking features for a million users is not. Now Pharo does not have millions of users to care about yet, they are making a new system with a different focus. Great for them. But this does not really apply to Squeak.
right. BTW I can see Pharo having exactly the same debate in a couple of years ahead, especially if it tries to keep both its research-oriented and professionnal-status aims at the same time. it will have its own backward compatibility to maintain after a while; at the moment it's all new and bright and pink... we all know how it goes.
Stef
On Jun 29, 2009, at 3:10 AM, Stéphane Rollandin wrote:
now, seriously: I never said things should not be cleaned up. my view about backward compatibility and progress is quite balanced, to me. I'm sorry I can't make it convincing, and sorry to end up being considered as an extremist opposed to any change.
Stef
I applaud your efforts - all of you - on the creation side.
I abandoned my Python base this last year because I got tired of the language changing. This system was the result of 10 years of part- time development. I like most of the changes to the language over the years, especially as they firmed up the OO aspects (names spaces, etc.), I just simply got tired of rewriting my code every time a new version came out and I wanted to utilize the features. And sometimes that was because some 3rd party library wasn't being ported to the new version and I was forced to adopt a new library. (Sure, I am being a little dramatic, as not every change was so radical as to require rewrites.)
I had some interest in C++ in the mid-1980's... but I did not like that the language definition kept changing (in that era). Fortunately I discovered smalltalk and objective-c around that time. Although, because of the lack of stable (multi-platform) support for objective- C, my shop ended up rolling our own dynamic messaging system (change- notification manager, and all the bells and whistles) in straight-up C... because we knew we would always be able to compile C.
For people to get serious about building large apps in Pharo -- and the following may not be one's goal, depending on who we are talking about -- it MUST have a stable interface (set of methods) to some core classes. Ideally, the core environment should have the minimal interface that is guaranteed not to change. The implementation can be whatever fulfills the behavioral requirements best at the time; the end user (a programmer) does not care, so long as a given interface provides a predictable behavior across versions.
Is this a good time to talk about packages and namespaces? As a user (programmer), it would be nice to be able to specify which extensions (or behavioral overrides) to the core classes to enable. Ideally these extension sets/definitions could co-exist in the same image... but that is NOT required to provide the capability. It seems that a such capabilities would allow one to clean up the core, without abandoning existing interfaces; and hence, without completely breaking legacy code, e.g. to have #isKindOf:orOf: perhaps you need to import, or load the package KitchenSink. It *seems* that such capabilities could help bridge any future gaps between Squeak & Pharo, for example.
Of course, having these capabilities is one thing, and going through and scrubbing the code is another. Which, aside from the effort, still requires a committee to decide what is core (and to be permanently supported) and what is not.
-- back to broad adoption issues...
Speed/performance is also important in order to make Pharo appeal to a broader audience. Xupery might solve the problem. (I assume the C code generated has been highly optimized -- does any person "in the know" believe there is an opportunity for improving the C code?)
--
[Did I write something like this last week? I think i did, and then deleted it -- if this is a repeat, my apologies.]
Pharo is great. And for my development, I simply do not perform the updates very often, because I do not want to risk entering a debugging cycle on things that currently work. But the momentum is exciting and is part of the attraction!
With appreciation, Cam
Igor Stasenko wrote:
Stéphane , i found some amazing stuff for you in Squeak.
Look for senders of:
#isKindOf:orOf:
and if you not yet fully amazed , then look at senders of
#ownerThatIsA:
Amazing!
It would be useful if you stopped being so polemic. You are not making any point that I can see.
Cheers, - Andreas
2009/6/29 Igor Stasenko siguctua@gmail.com:
2009/6/29 Stéphane Rollandin lecteur@zogotounga.net:
- Not backward compatible
because, unfortunately, it is a main obstacle for moving forward. Or maybe not? Maybe we should start making amazing stuff right now?
I am doing amazing stuff with Squeak right now. I have been doing so for years.
Then we're putting different meaning in an 'amazing' word. I can do amazing stuff, but its often requires hacks, workarounds and other different gotchas, which i hate to put into my code. And after all of that, fairly, i can't call it amazing anymore. Can you?
Now that Pharo provides the non-backward compatible way, which is fine, I don't understand why the question arises for Squeak once again. Pharo is the solution, isn't it ? (and I mean it).
You may feel content about code, which rots there for years, and no-one even cares rewriting/optimizing/making it better. But i don't. I don't like sitting on the gas canister and hoping that next spark will not blow it up.
Stef
-- Best regards, Igor Stasenko AKA sig.
squeak-dev@lists.squeakfoundation.org