
Pharo: pure object-oriented programming language - based2
http://pharo.org/
======
JadeNB
Just a tiny bit of background, since I thought to myself "Pharo—where have I
seen that name before?"

This is an implementation of Smalltalk. I thought that it was the new name for
Squeak ([http://squeak.org](http://squeak.org)), but apparently it's rather a
fork:
[https://en.wikipedia.org/wiki/Pharo#History](https://en.wikipedia.org/wiki/Pharo#History)
.

~~~
masukomi
It's basically Squeak with a UI for adults.

And for those still unsure, NO Pharo is NOT a language. Smalltalk is the
language, Pharo is the particular implementation of the language, but
smalltalk is much more than just a language, it's an entire environment within
which to create.

------
analognoise
There is a MOOC for Pharo right now: [https://www.fun-
mooc.fr/courses/inria/41010/session01/about](https://www.fun-
mooc.fr/courses/inria/41010/session01/about)

Videos in French with English subtitles.

I am trying to learn it; I'm looking for good resources to make a GUI, if
anyone knows of one please drop me a line!

------
phantom_oracle
Is SmallTalk/Pharo more concise/readable compared to Python?

The website shows 0 examples of actual code that one can read through.

~~~
atemerev
No. But it is immensely enlightening. Spend 2-3 days learning the basics and
your programming life will never be the same.

~~~
spdionis
Your comment sounds like pure marketing. Give us at least some arguments
please.

~~~
atemerev
— The app you develop and the IDE is a single persistent image. On deployment,
you can strip away the IDE part.

— This means: no source files (code is stored as OO dataset), no need to save
/ recompile / etc.

— No keywords. All control flow is modeled as methods. Like: (a > b) ifTrue:
doSomething else: doSomethingElse.

— Everything is dynamic and hackable. Want to redefine the meaning of true and
false? Want to change inheritance hierarchy at runtime? Want to write self-
modifying code? Be my guest. For everything, source code is accessible and
modifiable. At runtime (there is no compile time).

And much more.

