Hi steven
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.
Good. I would love to see Siren in Pharo and I'm ready to help.
Looking at Pharo, it appears to me to be suffering the same bloat
issues as
Squeak.
Well if you say that it is that you are just looking at the tip of iceberg.
This is not for fun that we are massively working on cleaning
dependencies and removing
wrong code or rewriting it. In the coming months we will work on putting
in place our bootstrapping kernel.
There are no Smalltalk able to do that right now. Bootstrapping means a
lot in term of quality.
But we have some work to get there and we are busy with our real work
(publishing papers).
BTW: When I come to friend place I do not start to piss on the door,
usually I try to understand
the tradition of the place and get more information before judging.
I will take your remarks with a bit of salt and reply to you as a
welcome message. :)
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?
Because you have tags and you can filter packages.
Now the new browser is not the final answer.
You could imagine also that your browser is empty at first and only
contain your projects and that you can add incrementally the class and
packages of interest. Now we did not have the cycle to experiment with
that and hope other people will try.
We should do another pass on cleaning simplifying nautilus.
Thetop-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
It is just a view on the world. Why would I be interested in Magnitudes.
I have no idea what it is and I do not care.
But we are working on it. We should restart. First we needed to throw
away the old Browser code.
The default browser is not the end of the road just the current result
of our learning.
We are working on packages meta data and projects but it takes time.
Iported 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).
We should do a pass on it. Now to me the sith pane is not the right way
to me.
Did you see that there are tags inside packages.
BTW Pharo packages are real objects not string comparisons and it took
us time to make this changes.
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?
Give me 5 Million $ and you will see. Pharo will not look like it is.
We are not Alan Kay to raise money.
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.)
We have Spec which is a Wrapper frmeworks but there are plenty of space
for improvements.
And we are WORKING on OUR FREE time on making Athens (vector graphics
API supporting different back ends)
fully rendering the system. In fact nicolai hess is pushing this massive
effort.
How many engineers were working for free in VisualWorks?
How many people were paid? So far we got three engineers working in
Pharo for 3 years.
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.
We know. We started to add meta data to package and based on that we
want to display the package description.
But days here are only 24 hours.
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.
check Cog VM.
Now there is Spur a new memory manager coming along and it will speed
things.
Read the blog of clement bera or eliot miranda.
Then clement is working on Sista an image level inliner and optimizer
and it will bring really new perspective.
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.
Ronie Saldago did a SWIG package.
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.
We are doing it. This is just that you do not see it.
Each commit produces before integration a 3mb image shrunk automatically.
Is that dream still what motivates the community?
More than ever.
We have a now a dependency analyser browser developed by a student
we regularly addressed worng dependency.
If just takes time and concentration.
If yes, where are the minimalists hiding?
We have 11k images fully bootstrap (doing just 2+4 ).
Now modular does not means that it has to be minimal.
We got a 60 k image that only does beep without a compiler... so not
really useful.
We are working on it systematically.
Now we should
- not confuse ui concerns and the system
- code quality is not something that can be displayed
- when we use a class from a large package we import all the
classes of that packages so
merging packages is the wrong approach.
- modularity without maps does not work and we should keep maps of
working package sets
coherent when a change happen.
Stef
Stephen Pope
HeavenEverywhere Media and FASTLabInc.com <http://FASTLabInc.com>
Santa Barbara, CA USA
--
Stephen Travis Pope Santa Barbara, California, USA
http://HeavenEverywhere.com <http://HeavenEverywhere.com/>