It is true that there are many things in there. New tools have to be finished before the old ones can be removed (there was a time where refactorings were not in Calypso).
But for a real project, one is settling for a version and a toolset. I am not really keen to migrate Pharo projects from one version to another and some deprecations seems rather gratuitous sometimes. The world also moves forward and it shows in the image. I think that Iceberg has swallowed a lot of bandwidth and as a result other elements are in need of more love. Pharo7 is unreleased yet. Some say something is great by version 10. 3 versions to go. I consider Pharo 7 as a great piece of kit but unusable for my current work. There are many new things to learn in there. When is too much too much? Also, simplifications are breaking things in unexpected ways (like the #atEnd thing). I am glad 6.1 gets backports and new releases for sure. Phil On Fri, Apr 13, 2018, 07:53 Benoit St-Jean via Pharo-users < pharo-users@lists.pharo.org> wrote: > Hello guys, > > Just a quick word to get some things straight because, quite frankly, I > really don't know where we're heading. > > When Pharo started, the goal was to depart from Squeak and do a *major > clean up* of all the code, especially Morphic. The promise of a new, clean > & lean Smalltalk attracted a lot of people. And then... > > I'm looking at the Pharo 7.0 image right now and I just don't get where > we're heading. Every Pharo release gets bigger, and bigger, and bigger. I > don't mind the environment getting bigger if it adds functionalities or new > tools but that's not quite the case here. LOTS of stuff is just duplicated. > > Do we really need 2 code completion classes (NECController, NOCController) > ? Do we really need 2 system browsers (Nautilus, Calypso)? Do we really > need 2 compilers (OpalCompiler, Compiler) ? Do we really need 8 delay > schedulers (DelayMicrosecondScheduler, DelayMillisecondScheduler, > DelayNullScheduler, DelayExperimentalSpinScheduler, DelaySpinScheduler, > DelayTicklessScheduler, DelayExperimentalCourageousScheduler, > DelayExperimentalSemaphoreScheduler) ? Do we really need 2 inspectors > (GTInspector, EyeInspector) ? Do we really need 2 workspaces > (GTPlayground, Workspace) ? Et cetera. Et cetera. Et cetera. I could go > on, and on, and on... > > Pharo 5.1 had 5885 classes. Pharo 6.1 had 6481 classes. Pharo 7.0 alpha > has 7612 classes. Can you see a trend? > > Pharo 5.1 had 416 preference settings. Pharo 6.1 had 494 preference > settings. Pharo 7.0 alpha has 662 preference settings. Can you see a trend? > > Pharo 5.1 had a 27.44 MB image. Pharo 6.1 had a 35.18 MB image. Pharo 7.0 > alpha has a 47.97 MB image. Can you see a trend? > > Add to that the fact that Pharo is a nightmare when you want to port > code. Just with the 7.0 release, 61 classes will be deprecated (and lots > more to come if you search for the string "deprecated" into the code, most > of the time hidden in the comments of the > soon-to-be-deprecated-in-Pharo-8-I-guess classes). > > You have code that deals with sockets, should you use the old Socket > classes or convert everything to Zodiac? And why do we keep both > "frameworks" in the image ? Pharo hasn't been backward compatible with > "old socket classes" a looooooong time ago anyway! > > You have code that deals with dependencies, should you use the old > dependents mechanism or convert everything to announcements? > > UI speaking, what framework should anyone use ? Athens? Something else? > > You have code that deals with streams, should you use the old stream > classes or convert everything to Zinc ? And why do we keep both > "frameworks" in the image ? Pharo hasn't been backward compatible with the > old stream classes a looooooong time ago anyway! > > So what's the plan? For instance, should I keep using the Nautilus > Browser or I should switch to the Calypso browser and get used to it > because Nautilus will be deprecated? Or should I just don't care because a > third system browser will be added in Pharo 8 just because "it's cool, > let's add this one too!" ? > > Couldn't we just decide on what's "official" and what's a goodie or an > external optional tool/package/framework the same way all other Smalltalks > do? If you say Calypso is the official & supported browser, fine! Then > just get Nautilus out of the image, create a nice loadable package for it > and if someone prefers Nautilus, they'll just have to load it into the > image, the same way VW has a gazillion optional tools/packages/frameworks > you can load from a parcel! > > Whenever I get asked a simple question by a newbie like "Oh, which system > browser should I use?", quite frankly, I don't know what to answer. Did we > include Calypso to deprecate Nautilus later? Is Calypso just a proof of > concept? Is it just an optional tool? What about all those delay > schedulers? > > "I loaded this code from SqueakSource and it just doesn't work". Should I > help the guy to fix it or just tell him to convert all the code to the > corresponding framework in Pharo? > > Perhaps a little bit of clarity and details about what's coming and what's > the plan would be beneficial to a lot of us. > > > ----------------- > BenoƮt St-Jean > Yahoo! Messenger: bstjean > Twitter: @BenLeChialeux > Pinterest: benoitstjean > Instagram: Chef_Benito > IRC: lamneth > Blogue: endormitoire.wordpress.com > "A standpoint is an intellectual horizon of radius zero". (A. Einstein) >