SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Pharo 2.0: an exciting
milestone

S. Ducasse and M. Denker
http://www.pharo.org
Thanks SCG, T. Girba and you
Sensus HighOctane
It feels like...
Pharo

Pure object language
Great community of active doers
Powerful
Elegant and fun to program
Living system under your fingers
VM running on MacOSX, linux, Windows

Compiler, Core classes (stream, collections, unicode)

IDE (editor, inspector, debugger, code versioning,...)

UI frameworks (widgets, theme)

FFI

Graphics (soon opengl)

Hyper fast object serializer

Network, HTTP
Web frameworks: seaside, iliad, HTTP2

XML, HTML scraping, Zodiac (HTTPS)

Graphics frameworks: Roassal, Mondrian, EyeSee

Tool builder: Glamour, MetaTools: Moose

Database: DBXTalk, Mongo, Riak, CouchDB

Proxy, Logging

Units (Aconcagua, Units)

Parser: Petit Parser, SmaCC

Mathematical ...
A powerful engine
	 	 	 	 	 	 	 	 to invent our future
Our goal...
Create an ecosystem
where business/innovation
       can bloom
We want that **you** can make money with
Pharo. We want to be able to invent
solutions to existing problems.



We want a powerful innovative dynamic
language where we can build our future.
Some Pharo’s success
stories
Seaside.st, SmalltalkHub,
Yesplan.be, netstyle.ch,
Pier, DrGeo, VBridge,
Cmsbox.ch, objectFusion,
T3 Easy from beta9.be,
moosetechnology.org, pinesoft.co.uk,
Airflowing, synectique, miriamTech, 2denker...
We want more success
stories!
Pharo 2.0 -
Apr 2013
(593 updates)
A massive amount of improvements
Since may 2008

Pharo 2.0 - Apr 2013 (593 updates)
Pharo 1.4 - Apr 2012 (860 updates)
Pharo 1.3 (700 updates)
Pharo 1.2 - mar 2011 (500 updates)
Pharo 1.1 - jul 2010 (410 updates)
Pharo 1.0 - oct 2009 (470 updates)
2.0: UI
 Spec: a new way to build UI (chapter under way)
 Widget enhancements. Revamp progress bar
 Layout improvements/cleanups.
 Keybindings
 New icons (famfam). "Growl" style notifications.
 Rectangle intersection improvements.
2.0: Developer tools
 Nautilus Browser: groups, hierarchy, icon navigation
 Critics Browser
 Interactive navigation (cmd+click on class/selector)
 Spotlight (shift+enter)
 Diff tools enhancements
 Unify/clean Smartcharacters and completion
 Shout themes
 Andreas’s Profiler
2.0: Compiler


RB AST
Error Node
the foundation for the AST interpreter in 3.0
Networking


New version of Zinc
Zodiac SSL
2.0: System
SystemAnnouncer (first class events no symbol)
RPackage (just plain real object)
Manifest (Package meta-data)
Extensible Command-line
NativeBoost
Ring Meta Model
2.0: System (2)
 Fuel instead of ‘smart’ ref streams
 FreeType fonts better handling (resources)
 Session-aware code
 Metacello
 FileSystem
 DateAndTime refactoring (UTC internally)
2.0: VM
Latests cog builds
Branding
SSLPlugin
FilePlugin enhancements
SocketPlugin fixes
Included libraries: freetype2, cairo
2.0: Cleanups


Removal of FileDirectory
Removal of ReferenceStream and bros
2.0: Infrastructure

 ZeroConf script (chapter)
 Continuous integration for everything
   pharo/core
   pharo/contributions (ask if you need)
 SmalltalkHub
Vision Document around 2.0
         https://gforge.inria.fr/frs/download.php/30434/
         PharoVision.pdf
                                      4.4 UI Canvas for Zoomable Interface   4.10 Building and Reusing UI Logic
3.1 Towards a small kernel [we have   [Waiting for TextModel and 3.0]        [First cut in 2.0 UIPainter for 3.0]
it now we should think about
migration]                            4.5 Bootstrap of the Core [Done        4.11 New Network Layer [Nothing]
                                      should be integrated in 3.0]
3.2 Towards a verified package                                                4.12 Serializers [Done]
catalog [On the way]                  4.6 Fully parametrized compiler tool
                                      chain [Start with Opal in 3.0]         4.13 SystemChangeNotifier
4.1  A Robust and Extensible System                                          replacement [Done]
Events [Beta and should be in 3.0]    4.7 Packages as real objects [in 2.0
                                      and will improve in 3.0]               4.14 Cleaning Morphic [To be
4.2 Rewrite of Filesystem/Streams
                                                                             continued in 3.0]
[DONE for Files]
                                      4.8 Package Meta-Data [Done]
4.3 Announcements and Ephemerons                                             5.2 VMs identification and regression
[Annoucements Done. More Enh for      4.9 Less Model Clutter and             testing [On the way]
3.0]                                  Duplication [Started in 2.0 will be
                                      accentuated in 3.0]                    5.3 One Unified FFI framework
                                                                             [before June]
We want to improve the
complete system!
Not just a nice library on top
of ...
Of course not everything is
perfect
Retrospective analysis to
make progress
But we believe in non linear
growth
Community Ongoing Work
Better widgets, UI Builder (A. Plantec, G. Chambers, B. van Ryseghem)

Better browsers (B. van Ryseghem, C. Bruni)

Proxy (M. Martinez-Peck)

New compiler (J. Ressia/M. Denker/JB Arnaud/)

Vectorial canvas (I. Stasenko)

Better FFI (I. Stasenko, E. Lorenzano)

Bootstrap (G. Polito/S. Ducasse/N. Bouraqadi/L. Fabresse)

Package distribution infrastructure (D. Henrichs)

PDF generation (O. Auverlot, G. Larcheveque)

Network (Zinc, Zodiac S. van Caekenberghe)

Remote Smalltalk (N. Papoulias, N. Bouraqadi)
New Process

To dynamise and stabilize a long cycle
Chunked per month
Retrospective analysis
Continue to have a Summer release and an alpha
Glimpse at 3.0
OPAL for real
Athens
Integration process using metacello!
UIPainter
Remove PackageInfo for real
Validated packages
Distributions: towards a
certified catalog

 I want to go to Mars with just a DVD,
 and still be able to load the projects I want,
 and get the right ones loaded.
Package certification

Packages should be more self contained
Tests
LintRules
Meta data
Run and automatically certified
Configs




                    Automated       Distribution
      Configs
                    Validation

                                        Configs
DistributionInbox

                                 BrokenDistribution
Process
You use Metacello!
You publish in your repo!
When you want you can release code to a distribution
All the code then is recursively copied to the
distribution space
All the tests and quality rules are checked
People use your code but with a certain level of
confidence :)
Con
                 figs



               13Distrib
     Con
     figs       13Distrib
                                         Con
                Broken                   figs
  13Distrib
                 Con
   Inbox         figs                   14Distrib
                              Con
                              figs      14Distrib
                                        Broken
                           14Distrib
                                         Con
                            Inbox        figs


                                                                 Con
                                                                 figs


   ConfigOf                                                     15Distrib
   MyProject                                          Con
                                                      figs      15Distrib
                                                                Broken
     MyCore                                        15Distrib
     MyUtils                                        Inbox        Con
     MyTests                                                     figs



MyProject
Core and ...
Core + Specifications
             produces Specific
   loads               Images


       Certified
        Certified
      Packages
       Packages




                                 Core                    New Core
                                        Changes
                                Spec                   New Spec

                                   Certified packages         New Certified packages
Consortium & Association


How to sustain Pharo?
How to structure the community?
Let us talk about it tomorrow :)
@@Consortium Web Site@@
Pharo books

Pharo by example
 translated to french, merci!
 translated to spanish, gracias!
 japanese, german started
New books are coming

Deep into Pharo
Pharo for the Entreprise
  If you want to contribute...
A glimpse at VM
We thank all the contributors, we know
who you are :)
Thanks SCG & T. Girba for this cool
conference
Inria and RMoD for their continuous
support

Weitere ähnliche Inhalte

Andere mochten auch

Business Diagram V2
Business Diagram V2Business Diagram V2
Business Diagram V2dankirk
 
Dynamically Composing Collection Operations through Collection Promises
Dynamically Composing Collection Operations through Collection PromisesDynamically Composing Collection Operations through Collection Promises
Dynamically Composing Collection Operations through Collection PromisesMarcus Denker
 
Reflection in Pharo5
Reflection in Pharo5Reflection in Pharo5
Reflection in Pharo5Marcus Denker
 
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond SmalltakReflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond SmalltakMarcus Denker
 

Andere mochten auch (6)

Business Diagram V2
Business Diagram V2Business Diagram V2
Business Diagram V2
 
Pharo ESUG
Pharo ESUGPharo ESUG
Pharo ESUG
 
Variables in Pharo5
Variables in Pharo5Variables in Pharo5
Variables in Pharo5
 
Dynamically Composing Collection Operations through Collection Promises
Dynamically Composing Collection Operations through Collection PromisesDynamically Composing Collection Operations through Collection Promises
Dynamically Composing Collection Operations through Collection Promises
 
Reflection in Pharo5
Reflection in Pharo5Reflection in Pharo5
Reflection in Pharo5
 
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond SmalltakReflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
 

Ähnlich wie Pharo 2.0: An Exciting Milestone

2013 lecture-01-introduction
2013 lecture-01-introduction2013 lecture-01-introduction
2013 lecture-01-introductionPharo
 
2013 pharo conference
2013 pharo conference2013 pharo conference
2013 pharo conferencePharo
 
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.Pharo
 
TYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CITYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CIderdanne
 
Internazionalizza le tue applicazioni
Internazionalizza le tue applicazioniInternazionalizza le tue applicazioni
Internazionalizza le tue applicazioniQT-day
 
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...Ambassador Labs
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
 
Crossing the border with Qt: the i18n system
Crossing the border with Qt: the i18n systemCrossing the border with Qt: the i18n system
Crossing the border with Qt: the i18n systemDeveler S.r.l.
 
2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is YoursPharo
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .netMarco Parenzan
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next GenerationTravis Thieman
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoKlaraOrban
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microserviceGiulio De Donato
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...IndicThreads
 
Localization (l10n) - The Process
Localization (l10n) - The ProcessLocalization (l10n) - The Process
Localization (l10n) - The ProcessSundeep Anand
 

Ähnlich wie Pharo 2.0: An Exciting Milestone (20)

2013 lecture-01-introduction
2013 lecture-01-introduction2013 lecture-01-introduction
2013 lecture-01-introduction
 
2013 pharo conference
2013 pharo conference2013 pharo conference
2013 pharo conference
 
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
 
TYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CITYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CI
 
Internazionalizza le tue applicazioni
Internazionalizza le tue applicazioniInternazionalizza le tue applicazioni
Internazionalizza le tue applicazioni
 
2to3
2to32to3
2to3
 
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
OOPSLA Talk on Preon
OOPSLA Talk on PreonOOPSLA Talk on Preon
OOPSLA Talk on Preon
 
Srgoc java
Srgoc javaSrgoc java
Srgoc java
 
Crossing the border with Qt: the i18n system
Crossing the border with Qt: the i18n systemCrossing the border with Qt: the i18n system
Crossing the border with Qt: the i18n system
 
2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in Motoko
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...
 
kishore_Nokia
kishore_Nokiakishore_Nokia
kishore_Nokia
 
Localization (l10n) - The Process
Localization (l10n) - The ProcessLocalization (l10n) - The Process
Localization (l10n) - The Process
 
Mini .net conf 2020
Mini .net conf 2020Mini .net conf 2020
Mini .net conf 2020
 

Mehr von Marcus Denker

ConstantBlocks in Pharo11
ConstantBlocks in Pharo11ConstantBlocks in Pharo11
ConstantBlocks in Pharo11Marcus Denker
 
First Class Variables as AST Annotations
First Class Variables as AST AnnotationsFirst Class Variables as AST Annotations
First Class Variables as AST AnnotationsMarcus Denker
 
Supporting Pharo / Getting Pharo Support
Supporting Pharo / Getting Pharo SupportSupporting Pharo / Getting Pharo Support
Supporting Pharo / Getting Pharo SupportMarcus Denker
 
Lecture: "Advanced Reflection: MetaLinks"
Lecture: "Advanced Reflection: MetaLinks"Lecture: "Advanced Reflection: MetaLinks"
Lecture: "Advanced Reflection: MetaLinks"Marcus Denker
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerMarcus Denker
 
Lecture. Advanced Reflection: MetaLinks
Lecture. Advanced Reflection: MetaLinksLecture. Advanced Reflection: MetaLinks
Lecture. Advanced Reflection: MetaLinksMarcus Denker
 
Improving code completion for Pharo
Improving code completion for PharoImproving code completion for Pharo
Improving code completion for PharoMarcus Denker
 
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinksVUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinksMarcus Denker
 
Lecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinksLecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinksMarcus Denker
 
Open-Source: An Infinite Game
Open-Source: An Infinite GameOpen-Source: An Infinite Game
Open-Source: An Infinite GameMarcus Denker
 
PharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to PharoPharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to PharoMarcus Denker
 
Feedback Loops in Practice
Feedback Loops in PracticeFeedback Loops in Practice
Feedback Loops in PracticeMarcus Denker
 

Mehr von Marcus Denker (20)

Soil And Pharo
Soil And PharoSoil And Pharo
Soil And Pharo
 
ConstantBlocks in Pharo11
ConstantBlocks in Pharo11ConstantBlocks in Pharo11
ConstantBlocks in Pharo11
 
Demo: Improved DoIt
Demo: Improved DoItDemo: Improved DoIt
Demo: Improved DoIt
 
First Class Variables as AST Annotations
First Class Variables as AST AnnotationsFirst Class Variables as AST Annotations
First Class Variables as AST Annotations
 
Supporting Pharo / Getting Pharo Support
Supporting Pharo / Getting Pharo SupportSupporting Pharo / Getting Pharo Support
Supporting Pharo / Getting Pharo Support
 
Lecture: "Advanced Reflection: MetaLinks"
Lecture: "Advanced Reflection: MetaLinks"Lecture: "Advanced Reflection: MetaLinks"
Lecture: "Advanced Reflection: MetaLinks"
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Variables in Pharo
Variables in PharoVariables in Pharo
Variables in Pharo
 
Lecture. Advanced Reflection: MetaLinks
Lecture. Advanced Reflection: MetaLinksLecture. Advanced Reflection: MetaLinks
Lecture. Advanced Reflection: MetaLinks
 
Improving code completion for Pharo
Improving code completion for PharoImproving code completion for Pharo
Improving code completion for Pharo
 
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinksVUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
VUB Brussels Lecture 2019: Advanced Reflection: MetaLinks
 
Slot Composition
Slot CompositionSlot Composition
Slot Composition
 
Lecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinksLecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinks
 
PHARO IOT
PHARO IOTPHARO IOT
PHARO IOT
 
Open-Source: An Infinite Game
Open-Source: An Infinite GameOpen-Source: An Infinite Game
Open-Source: An Infinite Game
 
Lecture: MetaLinks
Lecture: MetaLinksLecture: MetaLinks
Lecture: MetaLinks
 
PharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to PharoPharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to Pharo
 
Feedback Loops in Practice
Feedback Loops in PracticeFeedback Loops in Practice
Feedback Loops in Practice
 
Pharo6 - ESUG17
Pharo6 - ESUG17Pharo6 - ESUG17
Pharo6 - ESUG17
 
Pharo6
Pharo6Pharo6
Pharo6
 

Pharo 2.0: An Exciting Milestone

  • 1. Pharo 2.0: an exciting milestone S. Ducasse and M. Denker http://www.pharo.org
  • 2. Thanks SCG, T. Girba and you
  • 5. Pharo Pure object language Great community of active doers Powerful Elegant and fun to program Living system under your fingers
  • 6. VM running on MacOSX, linux, Windows Compiler, Core classes (stream, collections, unicode) IDE (editor, inspector, debugger, code versioning,...) UI frameworks (widgets, theme) FFI Graphics (soon opengl) Hyper fast object serializer Network, HTTP
  • 7. Web frameworks: seaside, iliad, HTTP2 XML, HTML scraping, Zodiac (HTTPS) Graphics frameworks: Roassal, Mondrian, EyeSee Tool builder: Glamour, MetaTools: Moose Database: DBXTalk, Mongo, Riak, CouchDB Proxy, Logging Units (Aconcagua, Units) Parser: Petit Parser, SmaCC Mathematical ...
  • 8. A powerful engine to invent our future
  • 10. Create an ecosystem where business/innovation can bloom
  • 11. We want that **you** can make money with Pharo. We want to be able to invent solutions to existing problems. We want a powerful innovative dynamic language where we can build our future.
  • 12. Some Pharo’s success stories Seaside.st, SmalltalkHub, Yesplan.be, netstyle.ch, Pier, DrGeo, VBridge, Cmsbox.ch, objectFusion, T3 Easy from beta9.be, moosetechnology.org, pinesoft.co.uk, Airflowing, synectique, miriamTech, 2denker...
  • 13. We want more success stories!
  • 14. Pharo 2.0 - Apr 2013 (593 updates) A massive amount of improvements
  • 15. Since may 2008 Pharo 2.0 - Apr 2013 (593 updates) Pharo 1.4 - Apr 2012 (860 updates) Pharo 1.3 (700 updates) Pharo 1.2 - mar 2011 (500 updates) Pharo 1.1 - jul 2010 (410 updates) Pharo 1.0 - oct 2009 (470 updates)
  • 16. 2.0: UI Spec: a new way to build UI (chapter under way) Widget enhancements. Revamp progress bar Layout improvements/cleanups. Keybindings New icons (famfam). "Growl" style notifications. Rectangle intersection improvements.
  • 17. 2.0: Developer tools Nautilus Browser: groups, hierarchy, icon navigation Critics Browser Interactive navigation (cmd+click on class/selector) Spotlight (shift+enter) Diff tools enhancements Unify/clean Smartcharacters and completion Shout themes Andreas’s Profiler
  • 18. 2.0: Compiler RB AST Error Node the foundation for the AST interpreter in 3.0
  • 19. Networking New version of Zinc Zodiac SSL
  • 20. 2.0: System SystemAnnouncer (first class events no symbol) RPackage (just plain real object) Manifest (Package meta-data) Extensible Command-line NativeBoost Ring Meta Model
  • 21. 2.0: System (2) Fuel instead of ‘smart’ ref streams FreeType fonts better handling (resources) Session-aware code Metacello FileSystem DateAndTime refactoring (UTC internally)
  • 22. 2.0: VM Latests cog builds Branding SSLPlugin FilePlugin enhancements SocketPlugin fixes Included libraries: freetype2, cairo
  • 23. 2.0: Cleanups Removal of FileDirectory Removal of ReferenceStream and bros
  • 24. 2.0: Infrastructure ZeroConf script (chapter) Continuous integration for everything pharo/core pharo/contributions (ask if you need) SmalltalkHub
  • 25. Vision Document around 2.0 https://gforge.inria.fr/frs/download.php/30434/ PharoVision.pdf 4.4 UI Canvas for Zoomable Interface 4.10 Building and Reusing UI Logic 3.1 Towards a small kernel [we have [Waiting for TextModel and 3.0] [First cut in 2.0 UIPainter for 3.0] it now we should think about migration] 4.5 Bootstrap of the Core [Done 4.11 New Network Layer [Nothing] should be integrated in 3.0] 3.2 Towards a verified package 4.12 Serializers [Done] catalog [On the way] 4.6 Fully parametrized compiler tool chain [Start with Opal in 3.0] 4.13 SystemChangeNotifier 4.1  A Robust and Extensible System replacement [Done] Events [Beta and should be in 3.0] 4.7 Packages as real objects [in 2.0 and will improve in 3.0] 4.14 Cleaning Morphic [To be 4.2 Rewrite of Filesystem/Streams continued in 3.0] [DONE for Files] 4.8 Package Meta-Data [Done] 4.3 Announcements and Ephemerons   5.2 VMs identification and regression [Annoucements Done. More Enh for 4.9 Less Model Clutter and testing [On the way] 3.0] Duplication [Started in 2.0 will be accentuated in 3.0] 5.3 One Unified FFI framework [before June]
  • 26. We want to improve the complete system!
  • 27. Not just a nice library on top of ...
  • 28. Of course not everything is perfect
  • 30. But we believe in non linear growth
  • 31. Community Ongoing Work Better widgets, UI Builder (A. Plantec, G. Chambers, B. van Ryseghem) Better browsers (B. van Ryseghem, C. Bruni) Proxy (M. Martinez-Peck) New compiler (J. Ressia/M. Denker/JB Arnaud/) Vectorial canvas (I. Stasenko) Better FFI (I. Stasenko, E. Lorenzano) Bootstrap (G. Polito/S. Ducasse/N. Bouraqadi/L. Fabresse) Package distribution infrastructure (D. Henrichs) PDF generation (O. Auverlot, G. Larcheveque) Network (Zinc, Zodiac S. van Caekenberghe) Remote Smalltalk (N. Papoulias, N. Bouraqadi)
  • 32. New Process To dynamise and stabilize a long cycle Chunked per month Retrospective analysis Continue to have a Summer release and an alpha
  • 33. Glimpse at 3.0 OPAL for real Athens Integration process using metacello! UIPainter Remove PackageInfo for real Validated packages
  • 34.
  • 35. Distributions: towards a certified catalog I want to go to Mars with just a DVD, and still be able to load the projects I want, and get the right ones loaded.
  • 36. Package certification Packages should be more self contained Tests LintRules Meta data Run and automatically certified
  • 37. Configs Automated Distribution Configs Validation Configs DistributionInbox BrokenDistribution
  • 38. Process You use Metacello! You publish in your repo! When you want you can release code to a distribution All the code then is recursively copied to the distribution space All the tests and quality rules are checked People use your code but with a certain level of confidence :)
  • 39. Con figs 13Distrib Con figs 13Distrib Con Broken figs 13Distrib Con Inbox figs 14Distrib Con figs 14Distrib Broken 14Distrib Con Inbox figs Con figs ConfigOf 15Distrib MyProject Con figs 15Distrib Broken MyCore 15Distrib MyUtils Inbox Con MyTests figs MyProject
  • 40. Core and ... Core + Specifications produces Specific loads Images Certified Certified Packages Packages Core New Core Changes Spec New Spec Certified packages New Certified packages
  • 41. Consortium & Association How to sustain Pharo? How to structure the community? Let us talk about it tomorrow :)
  • 43. Pharo books Pharo by example translated to french, merci! translated to spanish, gracias! japanese, german started
  • 44. New books are coming Deep into Pharo Pharo for the Entreprise If you want to contribute... A glimpse at VM
  • 45.
  • 46. We thank all the contributors, we know who you are :) Thanks SCG & T. Girba for this cool conference Inria and RMoD for their continuous support