On 2 May 2011 00:48, Markus Fritsche <[email protected]> wrote: > Hi, > > 2011/4/27 Mariano Martinez Peck <[email protected]>: >> 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.
