"I'm probably not contributing anything of value to this conversation... :-)
IMHO, most people who settle on Smalltalk aren't "not experienced with other
language".

Pierce"

No idea where you have drawn that conclusion maybe it was true in the past
or outside Pharo but Pharo is mostly used for web apps and that means you
have to know both HTML5/CSS and Javascript and SQL for databases. Sticking
to a single language is rarely a good idea mainly because even though
languages are meant to be used for everything they have to a degree
specific areas that they excel which makes them ideal choices for those
situations.

"As Guile explained it, it is a matter of responsibility to include a
package in the Pharo image.  The more packages in the base Pharo image
the more complicated is the release process for the Pharo team, and more
stress, etc."

I think that's an overgeneralisation and a really lousy excuses. If
conflicts occur between versions then its not the library that needs to be
blamed but Pharo itself. Backward compatibility is a necessary evil in the
end. When Pharo started indeed it went through a period of flux with many
deep redesigns etc of course those things are a headache for those that
maintain packages inside or outside the Pharo official distribution.

Those braking enhancements were necessary to establish a healthy and stable
code base and very much welcomed.

However  the honeymoon period has ended and Pharo cannot afford to brake
compatibility anymore since more and more people are using it and none of
us will be happy if we have to rewrite our software from scratch to
accommodate new redesigns of Pharo code base in each version.

An example is Python, Python 3 did brake backward compatibility with
 Python 2, because its creator Guido felt it was time for a deep redesign
and most people agreed with him. But even though users approved the new
improvements the cost for Python was massive . Python 3 was released in
2008 , 8 years later and still Python 2 is by far the most popular choice
for python coders. It even been a reason not to use Python at all because
of the brake between version 2 and 3.

https://blogs.msdn.microsoft.com/pythonengineering/2016/03/08/python-3-is-winning/

So after 8 years , at last , Python 3 has catch up with Python 2 , mainly
because all new projects chose python 3 and all old ones stick with Python
2. 8 years is how many years Pharo has been around.

This has led the creator of Python to even claim that he regrets making
Python 3 non backward compatible with Python and please note Python 3 comes
with a special tool that can convert Python 2 code to Python 3
automagically. Still because the tool was far from perfect people chose to
stick with Python 2.

So for a stable environment that retains backward compatibility the cost of
maintenance of individual packages should be zero to close to zero.

Saying that my experience with my own code base shown me that in real life
scenarios the maintenance is very little since after version 4 , Pharo has
not done any radical change.

In any case if Pharo is a pain to maintain , even only under the condition
that a ton of packages added to it, we must wonder as a community whether
this is the direction we want to go. Pharo will inevitably grow in
popularity which will make its usage in big software more likely if
maintenance cost is high it defeats the purpose of using Smalltalk in the
first place.

Reply via email to