On 2 May 2011 00:48, Markus Fritsche <fritsche.markus@googlemail.com> wrote:
Hi,
2011/4/27 Mariano Martinez Peck <marianopeck@gmail.com>:
And as Marcus said, most of the times (sometimes we had some problems) we have a deprecation process where we (usually) say which should be used instead.
From a a-little-bit-more-than-user perspective I am looking at
SmalltalkImage>>#hasBindingThatBeginsWith: aString    self deprecated: 'Use Smalltalk globals'.    ^globals hasBindingThatBeginsWith: aString
Well, with a bit of analysis, I would be able to figure out, that the author might have intended that I should search the SystemDictionary myself. I feel like an additional comment would have been helpful.
Same with the other problem I had with ServiceRegistry - it is gone and it is not easy to find out what that was supposed to do. Next step is to compare squeak and the Pharo releases to find out what happened to it (the issue tracker does not easily yield results for this, but maybe I searched in the wrong way).
I know there is no easy fix for this, as "fast deprecation" was what made Pharo manageable compared to other image-based smalltalk dialects (not to mention anything specific ;)) but there is a lot of interesting code on squeaksource that naturally breaks - for those interested in that code, it would be helpful to give a bit more advice on "porting" and "the path of deprecation".
An advice is simple: 1. try loading the code using most recent image, try running it. 2. fix errors & bugs you found 3. Repeat from 1. This is what package maintainers should usually do all the time. And there is no magic: you have to get your hands dirty and make things work (again). Now, if nobody doing it for years, its not a Pharo failure that some code turned to be broken. I like that pharoers are not afraid to break things (of course if they breaking them for good ;). And besides.. you can always use years old image and happily load all code in it and it will work there. So, you are free to choose either: - stay with old image version where all dusty code working - running your code on most recent Pharo version and using its new features :) -- Best regards, Igor Stasenko AKA sig.