On Thu, Feb 5, 2015 at 2:30 AM, Stephen Travis Pope < stephen@heaveneverywhere.com> wrote:
Hello PharoDev,
Hi Stephen,
I have a largish project (Siren) that I have developed in ST80/VisualWorks (since 1984) and ported to Squeak in the past.
I'm allows looking for a cleaner free ST80 implementation to host the project.
I would love if Siren is ported to Pharo ;-)
Looking at Pharo, it appears to me to be suffering the same bloat issues as Squeak.
I have a few questions:
Why don't you all use a 6-paned browser (called the package browser in Squeak) and control the introduction of top-level meta-categories? The top-level (packages or meta-catgories) should be a list of 20 or fewer topics such as Magnitudes, Collections, Graphics, Text, Compiler, Tools, etc. and each of these should have 20 or fewer categories within it. I ported the package browser to Squeak and reorganized their system once, but people continued to add top-level categories to make finding their code easier. I tried to add the facility to the Pharo browser a year or so ago, and gave up because I couldn't figure how out how to subclass and refine the existing browser framework (and the fact that it seems to be under construction).
There is no such tools in Pharo, but you can use the filter to see only the package you want. You may have a look to the AltBrowser of Thierry Goubier : http://thierrygoubier.github.io/AltBrowser/ There is a hierarchical view like the one you want. Normally you can load directement AltBrowser from Pharo 3.0/4.0: launch the configuration browser and select AltBrowser.
Why do you still use the (terrible, IMHO) Squeak graphics and UI packages (Morphic, Balloon, etc)? It appears that new mostly-redundant systems are still being added to replace these, right? Can't someone reimplement the VisualWorks "Wrapper" UI framework (or something like it) on top of OpenGL contexts as in VW? It's help up pretty well after over 25 years. (David Leibs and I toasted it just last December in Australia.)
If you want to build interface, you don't have to use Morphic, etc ... You can use Spec : http://spec.st/
How does a newbie learn what all the new packages are for? Glamour, Ring, AsmJit, Zinc, etc. are neat names, but if they're not part of higher-level packages it makes navigating the system (and even figuring out what they're for) pretty difficult.
Glamour is part of MOOSE image : http://www.moosetechnology.org/ This is a DSL to build browser You may have a look to the ongoing books. There is some documentation about all these framework: https://ci.inria.fr/pharo-contribution/view/Books/
Are there any benchmarks of the current VMs compared to VisualWorks? The last time I used Squeak (a few years ago) it was still pretty slow. I have a real-time event scheduler in Siren that I use to schedule MIDI, so I can run "drum roll" tests to see how the VM performs.
Pharo and Squeak use basically the same VM.
When you use Squeak, this was the stack VM or the newer one called Cog ? There will be a new VM called Spur with even more performances during the year.
How does Pharo handle user primitives or foreign function calls? Is anyone maintaining the old SWIG implementation of Smalltalk? I used it quite a bit to have Smalltalk code create and manage C++ signal processing graphs in the past. SWIG is still going strong, and it's embarrassing that there's no mention at all of Smalltalk on the SWIG pages.
There is many FFI engines at the moment. This problem was discussed during last PharoDays and there will be an action to have one unified FFI.
I'm not trying to start a fight, and I really did like the initial Pharo mission statement of making a tighter, cleaner open-source ST80 implementation. Is that dream still what motivates the community? If yes, where are the minimalists hiding?
There are still there, but it takes a lot of time to clean the implementation. One new statement of Pharo is to reinvent the UI also. There are some ongoing experiments with the GT-Tools: http://gt.moosetechnology.org/ Regards, -- Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/