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

Jimmie Houchin jlhouchin at gmail.com
Wed Apr 30 14:07:17 EDT 2014

In the Smalltalk heritage. Pharo comes from Smalltalk 80.

But we don't want to be stuck in 1980. We want Smalltalk 2014.
Smalltalk 80 was modern for 1980. They didn't want to be stuck in 1976. ...

And Smalltalk isn't unique to this. Is C11 not a C because it is not 
K&R, or C89, C90 or C99?
Is Python 3.x not Python because it is not fully compatible with Python 
2.x which is dominant?

Pharo wants to be a modern Smalltalk able to empower people in this era 
to do things that we do in 2014. We need appropriate modularity in the 
image. We need the image to be clean. We need to learn the lessons we as 
Smalltalker's have learned in the last 24 years and apply them to Pharo 
Smalltalk. And I believe that is much of what Pharo is attempting to do.

Noel in his talk said that Smalltalk doesn't play well with others. And 
with Pharo it still isn't as easy as in other languages like Python, 
Ruby, Lua, etc. But with NativeBoost we have a tool which enables us to 
do much. And NativeBoost isn't finished. I believe when NativeBoost is 
fully mature and the vm/image has sufficiently changed to enable us. We 
will have one of the best plays with others well stories.

I know in the app I am writing, NativeBoost's current condition 
struggled with my library. It often crashed. This library has to deal 
with a C Thread. Which is why I am spending my current time studying C.

Whether or not the Smalltalk Inspired crowd likes it, the moment some 
else declares that Pharo is a Smalltalk the Smalltalk Inspired marketing 
is tanked. The cat is out of the bag.

The Reddit thread demonstrates this. People went to the new website. 
They read the current marketing and were confused. What is this Pharo 
thing. And in the thread it comes out that Pharo is a Smalltalk. Lets 
make that clear up front. Then lets define what it means to be Pharo 

Here is an unfortunate quote from that thread.

emaringolo 1 point an hour ago
Pharo is aimed to do serious/business development, and it's been 
reshaping itself since its conception (several years ago when it forked 
from Squeak).
It doesn't want to have any backward or "historic" compatibility with 
other Smalltalks.
You can see its changelogs and the roadmap for future versions to see 
how it is different, and how it will be different.

This makes it sound like Pharo wants remove compatibility simply for the 
sake of not being a Smalltalk. As opposed to what I believe Esteban 
meant. And yes I understand that English is not his native language, and 
there are many for whom it is, who still use it poorly. What I believe 
he meant, is that Pharo will not be constrained by backward 
compatibility. If a change or feature that is of value to Pharo 
Smalltalk. That feature will be done even if it means breaking backward 
compatibility with other Smalltalk 80 based Smalltalks. We are moving 
forward. But this does not invalidate Pharo being a Smalltalk. As has 
been stated before, breaking changes happened in Smalltalk 76 and 80.

Smalltalk has a wonderful heritage. It is not without its issues. 
However the good of Smalltalk is enormous. Take a look at this chart
Smalltalk is a big influence in the history of programming. This is 
something worth being a part of. Be proud of it.

Pharo needs to define what one vision of a modern Smalltalk is. Let us 
educate people of what our vision for Pharo Smalltalk is. And guess what 
folks its 2014. Before long it wont be. And before long the vision of 
Pharo 2014 will no longer be any more modern than Smalltalk 80. But 
neither Smalltalk 80 nor Pharo 3.0 constrain what it means to be 
Smalltalk. Smalltalk inspires vision and inspires people to do things 
which change the present and the future. Lets build on that heritage and 
take it forward. What does a modern Smalltalk snapshot 2014 mean. Lets 
educate and communicate. Others (non-Smalltalkers) don't get to define 
what Smalltalk is. We do.

Let us learn from them what they think Smalltalk is. Where they are 
wrong, educate them. Where they are right and we have an issue. Let's 
learn a lesson and improve our Smalltalk.

Computer science/art is young. This is a journey. Lets make it a good one.


On 04/30/2014 11:12 AM, phil at highoctane.be wrote:
> Pharo := Smalltalk ++
> On Wed, Apr 30, 2014 at 5:43 PM, Jimmie Houchin <jlhouchin at gmail.com 
> <mailto:jlhouchin at gmail.com>> wrote:
>     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.
>     http://www.smalltalkhub.com/#!/~Pharo
>     <http://www.smalltalkhub.com/#%21/%7EPharo>
>     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 future.
>     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 Inspired?
>     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.
>     Jimmie

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20140430/bf73ced0/attachment-0002.html>

More information about the Pharo-dev mailing list