[squeak-dev] Squeaksource, Squeak and Pharo..

Angel "Java" Lopez ajlopez at ajlopez.com
Thu Dec 20 20:45:56 UTC 2012


Hi!

I'm a totally newbie to Smalltalk.. but I could add something to this
thread.

Usually, in the rest of technologies (Java, .NET, Ruby, Python,
Node.js/Javascript...) there are two orthogonal problems/solutions:

- Write the source (for different Smalltalks, maintenance, updates, fixes..
)
- Publish packages

IMO, the "keep the source" is really shining, using GitHub (ok, there are
others, BitBucket with Mercurial, etc...). You can have branches (I imagine
MyTool with branches Pharo, Squeak, VisualWorks, etc...), and versioning
(with tags, a branch could have tags: v1.1, v1.2, etc.. whatever). And you
can fork any project/branch into your GitHub account, make the changes, and
make a pull request to the original author, so he/she could add the changes.
GitHub has a simple Issues system, that many programmers around the world
are using everyday. You can see the changes of the sources, see the history,
learn online viewing the code, etc... Smalltalk system is too opaque
compared with GitHub and alikes.

Publish packages: Ruby and Node.js HAVE a single WINNER in the package
management. Ruby have gems, and Node.js have NPM. Having ONLY one package
manager (publish the package, download the package, download the package
with version X, download the package and the package has a descriptions of
the other packages to download and install, steps post download, etc....)
helped Ruby, Node.js to have a simple and powerful package ecosystem. In
.NET, the same is happening with NuGet. In Java, maybe Maven played that
role (but it is more ambitious, it took responsabilities beyond package
management).

Having only one source was a great improvement. Usually, we tend to think:
"only one package manager? No, we want diversity...". As it was pointed in
this list, Ruby Gems born under other name, and then, after its adoption by
the community, it was "promoted" to the official package manager.

Angel "Java" Lopez
@ajlopez
Github:ajlopez


-----Original Message-----
From: squeak-dev-bounces at lists.squeakfoundation.org
[mailto:squeak-dev-bounces at lists.squeakfoundation.org] On Behalf Of Ron
Teitelbaum
Sent: Thursday, December 20, 2012 5:29 PM
To: 'The general-purpose Squeak developers list'; 'Benoit St-Jean'
Subject: RE: [squeak-dev] Squeaksource, Squeak and Pharo..

Hi All,

Does anyone have a practical solution for this problem?  What would be
needed to make it so that I can write my package for different versions of
Squeak and Pharo?

I don't know enough about the pieces involved but here is a question (I've
been a bit out of the loop).  If Squeak supported MetaCello and
PackageInstaller would that make it easier for the Squeak Community to write
code that is compatible with both systems? 

If I wanted to port my code to Pharo using Monticello how would I do that
now?  I use Monticello Configurations and loved them.  Is it as easy as
making an installer category and publishing a Monticello Configuration file?
What do people do now (if anything)?

I remember publishing some stuff on SqueakMap but don't remember how it
worked now, not sure what's wrong with it either since IIRC it supports
multiple versions.  I think that the process to figure out how to publish
was a barrier to entry (but don't quote me on that).  

I'm not taking sides just asking questions.

All the best,

Ron Teitelbaum
Head Of Engineering
3d Immersive Collaboration Consulting
ron at 3dicc.com
Follow Me On Twitter: @RonTeitelbaum
www.3dicc.com 









More information about the Squeak-dev mailing list