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.
2. About me
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.
JavaScript, C++, ObjC, C#, Delphi,
ASM and lots of languages no longer
exist or have been long-time
forgotten
24 years (!) programming experience
(yes… I’m becoming old)
6. Pharo goals
… that **you** can make money with Pharo.
… to be able to invent solutions to existing
problems.
… a powerful innovative dynamic language
where we can build (y)our future.
7. Young yet mature
It stands in giants shoulders
in active development since 2007
the work of hundreds of contributors
9. 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 fixing your car while in movement, but
still exciting
10. Stable version: Pharo 6.1
In 12 months, over 1400 closed issues by more than 80
contributors.
Highlighted changes:
- 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.
12. Bootstrap for REAL
Pharo 7.0a starts from nothing :)
There is an EMPTY Image
Creates a bootstrapped kernel
Loads the compiler!
Loads Metacello!
Loads the rest
13. Iceberg
New tool suite to handle modern VCS (Git for now) in Pharo
Central to the development of projects
The key and first enhancements:
- Cherry picking
- Multiple directories support
- Better new development process support
New file format (file-per-class), extensible and portable: Tonel
14.
15. Calypso browser
Basis for Remote Browsing
Fully extensible
Developed by D. Kudriashov for TelePharo (PharmIDE)
Thanks A. Plantec for giving us the name
16. Refactor Streams
Make sure that the system does not use the old streams
but the FileStream and ZincDecorator
Split Stream package
17. Refactoring 2
Refactoring 2 is an improved version of Refactorings
developed by Gustavos Santos
Should used to replace the existing one
19. Cleaning
Nautilus retirement
Remove old text editor
Remove Komitter: Iceberg already supports cherrypicking
Remove system categorizer: old system categorizer is not
used anymore
Old compiler
Old inspector
20. … and more for the future
Bloc/Brick
SISTA adaptive recompilation
VM: Threaded FFI, Event driven VM, Embeddable VM,
New Android VM
…
23. 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)
25. 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,
fix, repeat we have.
30. Income means engineers
Until 2017, the consortium paid the salary of one
engineer: Esteban Lorenzano (that’s me).
Also, the consortium invested money in specific
tasks (Glorp, Iceberg, OSSubprocess, etc.)
Starting on 2018, the consortium will pay a second
engineer: Clement Bera.
31. Consortium FAQ
Pharo will stay free!
No negative impact: just a better Pharo
Companies participate to the consortium
Individuals participate to the association