Pharo has a yearly release cycle that brings each time interesting changes and does small steps to prepare the future. Pharo 6 was release in June 2017 and we are already preparing Pharo 7.
In this talk, I will give an overview of current evolution of Pharo, where we are going and
how we are working to construct a sustainable environment and an ever-growing community.
Pharo architect since 2012
Owned a company to develop in
Pharo back in 2008
Java senior architect for 7 years (and
15 years overall Java experience)
Web, microprocessors, etc., etc., etc.
ASM and lots of languages no longer
exist or have been long-time
24 years (!) programming experience
(yes… I’m becoming old)
Is all about build infrastructure
Small steps that will prepare the next small step that will
prepare the next… there is no small change!
Sometimes is like ﬁxing your car while in movement, but
Stable version: Pharo 6.1
In 12 months, over 1400 closed issues by more than 80
- Smooth git integration: Iceberg
- New changelog model: Epicea
- 64bit VM (preview) for linux and macOS (thanks to Eliot Miranda
and the vm-dev crew)
- IDE improvements: improved inspector, debugger, quality
assistance, etc., etc., etc.
Bootstrap for REAL
Pharo 7.0a starts from nothing :)
There is an EMPTY Image
Creates a bootstrapped kernel
Loads the compiler!
Loads the rest
New tool suite to handle modern VCS (Git for now) in Pharo
Central to the development of projects
The key and ﬁrst enhancements:
- Cherry picking
- Multiple directories support
- Better new development process support
New ﬁle format (ﬁle-per-class), extensible and portable: Tonel
Basis for Remote Browsing
Developed by D. Kudriashov for TelePharo (PharmIDE)
Thanks A. Plantec for giving us the name
Make sure that the system does not use the old streams
but the FileStream and ZincDecorator
Split Stream package
Refactoring 2 is an improved version of Refactorings
developed by Gustavos Santos
Should used to replace the existing one
Clap new command line library
Real headless (Thanks to Ronie Salgado) :)
Remove old text editor
Remove Komitter: Iceberg already supports cherrypicking
Remove system categorizer: old system categorizer is not
… and more for the future
SISTA adaptive recompilation
VM: Threaded FFI, Event driven VM, Embeddable VM,
New Android VM
More than 2k participants last year and more than 2k participants this year too!
Profs Stephan Ducasse, Luc Fabresse and Damien Cassout
In french with subtitles on english (spanish subtitles are almost done)
A vibrant community
Discord: ~250 users, a place where experienced and new
programmers talk everyday.
pharo-users and pharo-dev: more than 1k users.
but most important is the constant process of discussion,
ﬁx, repeat we have.
How to maintain all that?
A question about sustainability
Income means engineers
Until 2017, the consortium paid the salary of one
engineer: Esteban Lorenzano (that’s me).
Also, the consortium invested money in speciﬁc
tasks (Glorp, Iceberg, OSSubprocess, etc.)
Starting on 2018, the consortium will pay a second
engineer: Clement Bera.
Pharo will stay free!
No negative impact: just a better Pharo
Companies participate to the consortium
Individuals participate to the association
Pharo is yours!
You can get an impact, join the fun.