[Pharo-project] Popularity of Smalltalk in Software Industry

Igor Stasenko siguctua at gmail.com
Fri May 6 20:06:39 EDT 2011

On 6 May 2011 23:45, Stefan Marr <pharo at stefan-marr.de> wrote:
> On 06 May 2011, at 19:08, Igor Stasenko wrote:
>> I think the main reason why RoarVM does not exists for Pharo is
>> because there was no discussion and planning beforehead, how we could
>> cooperate.
>> Where the discussion, how we could introduce new execution models, and
>> gradually (means step by step) migrate to new VM?
> Igor, I remember some discussion from the Smalltalk school, two important points:
>  1. it is not a new execution model, but you do not have your old scheduling guarantees anymore.
>  2. "all it takes" is to make the important libraries thread-safe
> There is nothing fundamental in the RoarVM that is changing the language semantics of Smalltalk.
> It is just that for: `[do something] fork` you will have to assume that it is executed in parallel to other code.
only that?
Heh.. then we're 99% done. Except that this last 1% is still could
take years to complete :)

>> Take into account there there is virtually no knowledge outside of
>> your team, what has to be changed in order to make Pharo run on
>> RoarVM.
>> So what did you expected? That people drop everything which already
>> works well for them and hastily migrate to new platform?
> No, of course not. I never expected anyone to jump onto a research platform, and it is also not really about
> adopting our C++ code, but about trying to integrate the ideas into the standard VM with Cog.
> Talking with Eliot basically resulted in the insight that there is no major problem that would prevent the adoption of parallel execution in the CogVM. They only thing we became aware of that might be interesting are the PICs. And there he had a nice paper reference with a perfectly good solution...
>> How about CogVM? Should we stop developing it? Or we should start
>> supporting both? And can we do that without too much pain? Give us the
>> idea.
> It is all about adopting the ideas, and I could collaboration on that, but I can't do that work.
> The only problem I see is that there does not seem to be a business case for a CogVM with parallel Smalltalk Process execution.

I can tell you more: there is no business cases for VM(s) which can do
manycore :)
At least, to my perception, there is not much pressure from people
(even on mainstream languages) to leverage this technology.
I thought it is very close to come into our houses, but no.. it stuck
somewhere on marketplace, buying a better clothes.

Implementing VM which enabling massive parallelism is just a
beginning. Then obviously you need do to a lot at language side
to leverage that, in order to really say "yes, our system(s) are aware
of multicore and can scale almost linearly in future".

Now, given that squeak's code a hugely non-thread-safe, imagine how
many iterations in redesign it would take to make it thread-safe
first, and then make it run in parallel with rest of the stuff.

>> But then i wouldn't come
>> to pharo list to say
>> that i don't give a shit about pharo.
> Igor, the fact that the community did not show active interest in the RoarVM is much older than my bold statement.
> And, please understand my statement in the context of me not giving a damn about any particular language.
> Seriously, I can stand those 'ah but my language is so much nicer' discussions. And this here is just a variation of it.
> Languages are tools, and they are useful as long as they fit the problem.
The problem is that VM dictates , what problems you can solve with
your language and what not.
Squeak/Pharo is an excellent example of this.

>> I appreciate the engineering effort what you have did. But its a top
>> of the iceberg. Migrating existing system to another platform is very
>> complex task,
> Actually, for the RoarVM it is not. It is a lot of work, but it is not complex. It is tedious, but it can be done in small well defined steps. Perfect small projects for interested students. I already convinced two guys to apply for the Google Summer of Code. But well, that never happened...
> So, I do what I can, and actually more.
> But the community only responds to me when I say that I hate Smalltalk.
> Strange, isn't it?

Why? Its natural. Meet a fans of <FOO> and say that <FOO> suck. What
reaction you will get?

Concerning why people not reacting to other things - i think that
being able to run on tilera chips is too far perspective
for those who just want to host their web-page  which served by
seaside, or generate some data analyzis or other boring
domestic business modelling.

Apparently, if you want your fruits to be picked up, they have to hang
very low. Somewhere at the level of stomach. Not higher.
And rocket science you doing , for most of people is at the level of
stratosphere :)

Once, for Squeak VM, i made an implementation to move scheduling away
from VM into language.
It was fully working, and you were free to change scheduling logic
without touching VM anymore.
What you think how many people reacted to that? How many of them would
like to pursue this further?

> Best regards
> Stefan
> --
> Stefan Marr
> Software Languages Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> http://soft.vub.ac.be/~smarr
> Phone: +32 2 629 2974
> Fax:   +32 2 629 3525

Best regards,
Igor Stasenko AKA sig.

More information about the Pharo-dev mailing list