[Pharo-users] Thanks for Pharo

Jimmie Houchin jlhouchin at gmail.com
Fri Oct 16 18:14:54 EDT 2015

Sometimes conversations revolve around perceived deficiencies in Pharo. 
What Pharo is missing. Or what Pharo doesn't do as well as my previous 
language, my favorite language, my other language, etc... These 
conversations are necessary to understand where Pharo is and to provide 
understanding on where Pharo needs some work.

However, not enough gets said sometimes for all the goodness Pharo 
already provides and thanks to all of those who have contributed over 
the years to Smalltalk/Pharo.

I know sometimes we get stuck in the minutiae and lose the big picture.

I just want to say thanks to all that have contributed to Pharo in big 
and small way. Thank you.

A special thanks to Stef, Marcus and company who have been working hard 
on this all the way back when it was still Squeak. Who had a vision for 
a clean, empowering, business ready, vision fulfilling Smalltalk 
inspired tool we call Pharo. Thanks.

And a thanks to Eliot and all who contribute on the VM side of things. 
Enabling us to have a nicely performing and stable vm to run the Pharo 

My apologies for not naming everyone who deserves thanks. I intend no 
offense to anyone not named, but also deserving. Your names are included 
in all the contributor documentation. Thanks.

And while I am being thankful, which is a good habit for all of us to be 
in. Being thankful not only improves the spirits of those being thanked. 
But those of us who are grateful are the biggest beneficiaries.

I want to take time to appreciate some things in Pharo that make us 
appreciate having a tool like Pharo and which distinguishes itself from 
other languages and environments. I think these things either 
distinguish themselves either in the relative uniqueness or in quality 
of their implementation. They are not necessarily distinguishing from 
other Smalltalks but from other non-Smalltalk languages.

Superior persistent live object environment.
This is the game changer and affects and enables all other benefits.
"""I'm not complaining. I know that there is a good chance that we break
the system when improving it. I have no problem with that and I prefer a 
living system with some bugs
for a while than a dead system with no bug"""  Stef - Sept. 7, 2015

IDE, debugging and refactoring, all live, all the time.

Because of the truly persistent live environment, there is no concept of 
shutdown, restart. We only know hibernate and resume. This is to use OS 
terms. For me this is an amazing boost to productivity. I can at any 
time save my image. Even close my saved image and resume exactly where I 
stopped. At any time, on any supported  OS, on any machine. Powerful.

There truly is no edit, compile, run cycle similar to other languages, 
even dynamically typed languages with REPLs.
If I am not in Pharo, even if that language has an amazing notebook or 
repl available. It is nothing like coding in the live environment. The 
separation of editor and the compiler and/or application or VM makes 
development not as smooth and fluid. Even if I can enter and execute 
code in a notebook or repl to explore and learn in a version of a live 
environment. I still at some point have to leave my editing environment 
and write, edit and save my source code. And yes there are languages, 
editors, IDEs and tools that attempt to close the gap. But no, there 
still is a significant gap. The edited source code is the only thing 
that persists. Everything that gets executed in the repl or notebook is 
transient and will go away.

MIT, equivalent or better licensed ecosystem.

For me these are game changers. They set a standard by which I view any 
other programming experience. Thusly all other programming experience 
falls far short.

Whenever I (we) experience a present weakness in Pharo. Remember the above.
Not only does Pharo have these distinguishing factors. I do not know of 
any language or environment which even has a culture or worldview of 
programming which seeks to bring these features to their favored 
language or tools.

Every time I have to restart my computer I think, Smalltalk solved this 
decades ago. Ugh!!!
Where is my Pharo machine. :)

If you have any Pharo distinctives that you appreciate and would like to 
share. Reply and let us know.
What I mean by distinctive is something that Pharo (or Smalltalk) has 
that is either not in other languages or is in general significantly 
inferior. Especially those that other languages have no vision to ever 
have. It just isn't a part of who they are.

If we keep these things before us as we work through the tedious work of 
cleaning the image, repairing fail attempts at various things. Or 
anything that may be a frustration for the moment, but is temporary. 
Remember what we gain and are blessed with having, that we would lose 
any where else. Or at a minimum have a far inferior substitute. And look 
forward to what we will have as these things become complete. The future 
is ours. Let's enjoy the journey.

Just some thoughts in my head I wanted to let out.
This is reminder to me. If any of you are blessed and inspired, that is 
a plus.

Thanks and Shalom.


More information about the Pharo-users mailing list