[Pharo-dev] a Pharo talk from a ruby conference

Jimmie Houchin jlhouchin at gmail.com
Wed Apr 30 11:43:52 EDT 2014

On 04/28/2014 11:12 AM, Marcus Denker wrote:
> … more a Smalltalk one using Pharo:
> MountainWest RubyConf 2014
> Noel Rappin: "But Really, You Should Learn Smalltalk”
> Smalltalk has mystique. We talk about it more than we use it. It seems like it should be so similar to Ruby. It has similar Object-Oriented structures, it even has blocks. But everything is so slightly different, from the programming environment, to the 1-based arrays, to the simple syntax. Using Smalltalk will make you look at familiar constructs with new eyes. We’ll show you how to get started on Smalltalk, and walk through some sample code. Live coding may be involved. You’ll never look at objects the same way again.
> 	http://www.confreaks.com/videos/3284-mwrc-but-really-you-should-learn-smalltalk

In this thread and many others there is this debate as to whether Pharo 
is a Smalltalk or is Smalltalk Inspired.

I find the Smalltalk Inspired arguments to be unpersuasive. To be 
Smalltalk Inspired is to say that you are not a Smalltalk. It is to say 
that Pharo is not Smalltalk but inspired by it.

I find that reasoning patently false.

First of all everything in Pharo begins from a Smalltalk image. It comes 
from Squeak Smalltalk which comes from Apple Smalltalk. etc.

Pharo has an isA relationship with Smalltalk, not an isInspiredBy 
relationship. It may change and add features, but as has been stated 
before, Smalltalk isn't a static idea or artifact. It has always been a 
dynamic live environment in which to change itself into something it 
believed to be better. By removing features and by growing them.

Smalltalk (an instance of SmalltalkImage), SmalltalkImage, 
SmalltalkImageTest, SmalltalkEditingState are all part of the Pharo 
Smalltalk image.

The Pharo image is a Smalltalk image. It says so inside the image itself.

Where are we hosting are source code?  Would that be SmalltalkHub?
Lets see something.

Okay, Pharo might be doing things that would break compatibility with 
other Smalltalks. And that causes some people pain and grief. However 
that does not make Pharo not a Smalltalk. Was Smalltalk 76 constrained 
by backward compatibility with Smalltalk 72? Or Smalltalk 80 with either 
Smalltalk 76 or 72?  No!

Is it a requirement of Pharo to be constrained by other Smalltalk 
implementations in order to still be a Smalltalk. No!

And then there is the argument of the outside worlds perception of 
Smalltalk. Since when does the perception of the outside world change 
whether or not Pharo is a Smalltalk? If the outside world changed their 
mind and decided Smalltalk is wonderful, does Pharo then all of the 
sudden become a Smalltalk? Ugh!

We are who we are. Our roots are our roots. Pharo should be happy and 
proud to be a Smalltalk. A Smalltalk that is continuing the heritage of 
innovation. A Smalltalk that is continuing the heritage of inventing the 

We have decided to be marketing driven. Marketing is important. But 
marketing should determine who we are. And we should engage in 
disingenuous marketing practice trying to hide our roots or who we are.

Why do we things distancing ourselves from Smalltalk advantages us? Just 
because there are lots of uneducated people who have the wrong idea 
about Smalltalk. Clojure embraced its Lisp heritage and is thriving. 
Lisp has every bit as much baggage.

This talk which inspired this thread called Pharo as Smalltalk. He said, 
Pharo Smalltalk throughout the presentation. So in the mind of the 
presenter and now in the mind of the audience at the conference and of 
the video, Pharo is a Smalltalk. So now are we to go about re-educating 
all these people that Pharo is not a Smalltalk but is rather Smalltalk 

We don't require the outside world's permission. We don't need their 
approval. We would like to have a reasonable and sufficient number of 
them to catch the Pharo Smalltalk vision and become a part of the 
family. Do we really desire everybody. No. Do we desire those people who 
are so closed minded that the mention of Smalltalk closes their mind 
because of their ignorance. I don't think so.

Smalltalk is different. Pharo is Smalltalk and is different. There will 
be those who don't like it because of the baggage they bring, not the 
baggage we bring. And that is okay. All of us think different. People 
need to embrace what empowers them and quit complaining about what 
empowers somebody else. We need to embrace empowering people who 
understand Smalltalk not the people who don't get it for whatever 
reason. Let those people go and be empowered somewhere else. We and they 
will both be better off.

Feel free to shred and destroy my arguments. I am proud to use 
Smalltalk. And currently Pharo is the Smalltalk I am choosing to use. 
Currently I am studying C. A C library is required for my project and in 
order to use Pharo and use this library, I need sufficient C skills.

My opinion unapologetically.

And if the powers that be who are in charge of Pharo decide that 
Smalltalk (in name) is baggage and Pharo is not Smalltalk. And that 
marketing Pharo as Smalltalk is bad. Then please be honest and change 
all references in the image of Smalltalk to Pharo. Also change 
SmalltalkHub to PharoHub or SmalltalkInspiredHub.

If if not, be sincere and embrace Pharo Smalltalk.

Long live Smalltalk.


More information about the Pharo-dev mailing list