On Wed, Jul 14, 2010 at 1:13 PM, Runar Jordahl <runar.jordahl@gmail.com>wrote:
I am looking at Pharo to evaluate whether it can be used for a mid-size commercial project. The system will use Seaside. I have looked at Pharo 1.0, 1.1 and 1.2.
I am impressed by the work done so far. Pharo looks and feels a lot better than Squeak, and a lot of enhancements have been done since the project started. There are however a few issues which hold us back from using Pharo, listed (in decreasing importance) below:
1 - Package Management
From what I have seen so far, the concept of âpackages and categoriesâ is confusing. We are used to VisualAge and VisualWorks, which clearly shows the structure of packages in the browsers. In Pharo we cannot find browsers which give us the same overview. We are uncertain how packages are made and how they show up in Monticello. At one point we thought category == package, but that seems not to be correct. We note that method extensions are possible, but we also struggle to understand all aspects of them.
I notice that a âPackage management systemâ is in work, so hopefully this area will improve.
2 - Dependency Management between Packages Since we are unable to organize our code in packages, controlling and verifying dependencies between them is hard. But from what I understand, there are not many tools for controlling that packages do not break dependency rules.
For 1 and 2, check Metacello: http://code.google.com/p/metacello/ It is done, working well, and achieves those points. We also wrote a draft of a Metacello chapter for Pharo By Example 2. I attach it in case you want to read it.
3 - Name Space Support I understand name spaces will not be supported any soon. We have a project with thousands of classes, and name space support would be nice to have.
There are some implementations done, but noone is working out of the box (and maybe in no case) in Pharo. One is Namespaces in SqueakSource, and the other one I know is SecureSqueak. However, from my point of view, I think namespaces is something I can live without. I mean, I rally really want to have namespaces in Pharo, but I don't it shouldn't be a stopper. I saw big projects done without using it. On the other hand, there is a GSoC project working on that: http://gsoc2010.esug.org/projects/namespaces
4 - Break Point Support It would be better to have break points, than having to insert code like âself haltâ into the code.
yes, I would like to have that also. I think gaucho put that? I am not sure...but in such it would be cool to integrate it.
Is there any reason to believe Pharo will improve to meet our requirements? Did I misunderstand some aspects of Pharo, or are there tools which can solve what we see as shortcomings?
Kind regards Runar Jordahl
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users