If you are either a beginner or an expert in object-oriented programming
you will love this MOOC because it will change the way you program with objects.
I am Stéphane Ducasse, with Luc Fabresse and Damien Cassou,
we will present this MOOC about Pharo.
What is Pharo?
Pharo is a dynamic and pure language that will offer you
a unique development experience in which you will be
in constant interaction with live objects.
Pharo is a language and an open source environment in the tradition of Smalltalk.
It is fun to use, elegant and very powerful.
Why do I say that Pharo is elegant?
In fact, it is very simple: its full syntax, and I insist
on “full”, can be written on a postcard and its object-oriented
model written in 4 lines. Moreover, Pharo and its environment are
written in Pharo itself exclusively with objects and messages.
All these points make Pharo very easy to learn and
once you have understood the syntax, you will have access to
the whole Pharo world, hence it is written in Pharo itself.
That is why Pharo is used in about thirty
universities all over the world to teach object-oriented programing.
In this MOOC, you will discover that Pharo is fun.
In fact, when programing in Pharo, you are immersed in a world of
live objects. Each time the programer modifies
its code, the 3D animation changes and he can see immediately
the result of its program.
In Pharo, the programer modifies continuously objects with immediate feedback.
These objects can represent web applications, graphics in 2D,
in 3D, network, or even code itself.
You will see that in Pharo everything is object.
In this MOOC, you will discover that Pharo is also a powerful
language, used in companies.
And you can discover some success stories
on Pharo’s website.
In this MOOC, we will also present Pharo’s web stack.
and how this stack revolutionizes the way web applications
are designed. During this MOOC, you will deploy
a web application fully written in Pharo.
Beyond this, we will revisit fundamental principles
of programing by illustrating how Pharo uses them.
We will present some coding idioms and design patterns
to better design web applications.
Such concepts can be applied to any object-oriented language
beyond Pharo.
Moreover, you will have access to many resources such as
the book “Pharo by example” which is available on Pharo’s website.
For the most experienced of you, this MOOC will provide a new
vision of the fundamental principles of object-oriented programming
(i.e. late binding and polymorphism).
Through out this MOOC come and discover or rediscover object-oriented
programing in a different world, the world of Pharo…