SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Pharo: steadily improving
S. Ducasse and M. Denker
http://www.pharo-project.org
Pharo

MIT license
Mac, Linux, Android, iOS, Windows
Great community of active doers
Improving steadily
Many many many excellent libraries
Our goal...
Create an ecosystem
where business/innovation
       can bloom
We want **you** can make money with
Pharo.



inventing solutions to existing problems.
Create an ecosystem
where business/innovation
       can bloom
Powerful innovative dynamic language to

build   OUR/YOUR future.
New rethought language/system.
Create a system to enable
you to create!
Some Pharo’s success
stories
Seaside.st, SmalltalkHub,
Yesplan.be, netstyle.ch
Pier, DrGeo, VBridge,
Cmsbox.ch, objectFusion,
beta9.be: T3 Easy (Pharo server side)
Moose, pinesoft.co.uk
Airflowing, synectique, miriamTech, 2denker...
We want more success
stories!
A powerful engine
	 	 	 	 	 	 	 	 to invent our future
Since may 2008
Pharo 1.0 - oct 2009 (470 updates)
Pharo 1.1 - jul 2010 (410 updates)
Pharo 1.2 - mar 2011 (500 updates)
Pharo 1.3 (700 updates)
Pharo 1.4 - Apr 2012 (860 updates)
Pharo 2.0 alpha (759 updates)
Pharo 1.4

Lot lot improvements
More important:
  Summer maintenance release
  Fall maintenance release
Roadmap for 2.0


 Building the infrastructure for the next generation


 https://gforge.inria.fr/frs/download.php/30434/
 PharoVision.pdf
Glimpse at 2.0 alpha
core: 1.36 mb so far (hazelnuts: 120 KB)
(integration process using metacello! soon)
rewriting most tools with Spec
Nautilus: new browser
Filesystem (no more FileDirectory :)
new package implementation
new system announcement (no more
SystemChangeNotification)
(package manifest = package meta data soon)
Ongoing Community Work
Better widgets, UI Builder (A. Plantec, G. Chambers, B. van Ryseghem)

Key mapper (G. Polito)

Serializer (M. Dias, M. Martinez-Peck), Full Proxy (M. Martinez-Peck)

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

Vectorial canvas (I. Stasenko)

Better FFI (I. Stasenko, E. Lorenzano)

Package distribution infrastructure (D. Henrichs)

PDF generation (O. Auverlot)

Network: Zinc, Zodiac, WebSockets (S. van Caekenberghe)

Seamless: Remote Smalltalk (N. Papoulias and N. Bouraqadi)
Code Model (1.4)
Off-image browsing
Representing Smalltalk source code
Ring (V. Uquillaz Gomes/A. Kellens/S.Ducasse)
  Source code metamodel
  API compatible with Smalltalk objects
  in Pharo 1.4
Adding layers on top of it
Reusing tools
Next Steps


Database to store
Better source model
Server for queries
Athens Graphics (2.0)
 New Vector Graphics Canvas
 OO Design
 Layered Architecture
   Backends
     Cairo
     BitBlt
     CoreGraphics
Next Steps


New TextModel
Adapt Morphic
Clean all the canvases
Opal (2.0)
 a more flexible and
 simpler compiler
 Will be added in 2.0 next
 week!
 Hooks for DSL support
 Better API
 New generation of tools
Next Steps


Decompiler (was the last missing bit) is nearly finished
Throw away the old compiler
Then improving the API
Fuel: Fast Serialization (1.4)

 Done by M. Diaz, M. Martinez-Peck, (T. Bourgeois & S.
 Ducasse)
 Don’t use ImageSegment (removed in 1.4)
   Fuel is fast and even faster (!!)
   Much more flexible and easier to understand
Next Steps



Binary code loader: Tanker (Pharo 3.0)
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 (2.0|3.0)

 Packages should be more self contained
   Tests
   LintRules managed with false positives
   Meta data
 Run and automatically certified
Process
You use Metacello!
You publish in your repo!
When you want, push the code to a distribution project
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 :)
Native Boost (2.0)

 By I. Stasenko (mac, linux and windows 32bits)
 Generate machine code on the fly :)
 FFI
 Implement primitives
Next Steps


 Merge FFI and NB API
 Real documentation
 Cleaning load Alien, FFI, NativeBoost
New IDE Tools (2.0)


 Throw away StringHolder hierarchy
 Browser support refactoring, groups, plugins and a lot
 more :)
 by B. van Ryseghem
VM
Expand knowledge
Welcome newbies and idiots (like Stef)
Increase tests
Enable sharing: yes the code is in GIT
Release VM builders from stupid tasks
Traceability/Branding
VM builds



Anybody is now able to build a vm!
VM Infrastructure


 VM validation after ANY changes
 Automatic recompilation
 Automatic test regressions
Mini Bootstraped Image (3.0)

 Pavel’s Mini image
 4.2 mb for Seaside
 Guillermo and Benjamin’s Hazelnuts
 State: 1.36 mb for core+compiler
 Soon Hazelnut: 120 KB
Pharo Consortium

How to sustain Pharo?
How do we make sure that infrastructure continues to
improve?
How to structure the community?
Should we always rely on people free time?
Consortium Members
Managed by INRIA for now
Who: companies, institutions, user groups
Privileged access to the core development team
Influence priorities of the next development
Engineering support time
Job posts
Training/Conferences special prices
Your fears :)


 Pharo will stay free!
 No negative impact: just a better Pharo
 Better maintained system
Consortium Sponsor


You can also be a sponsor
    Normal
    Diamond
Tuitions

 Gold 4000
   4 days of engineering time + multiple job descriptions for job
   dashboard + diamond sponsor.

 Silver 2000
   two days of engineering time + one job description + diamond
   sponsor.

 Bronze 1000
   one day of engineering time + diamond sponsor.
When

Started discussions with INRIA two years ago
INRIA put money on the table 60 KEuros (Esteban)
More than 25 companies are interested
Available 3rd week of September
Pharo Users Association

Managed by the Pharo Association
Individuals
  Premium (99 Euros)
  Normal (40 Euros)
In the mid-term it will manage the consortium
Pharo books

Pharo by example
 translated to french, merci!
 translated to spanish, gracias!
 japanese, german started
New book soon: Deep into Pharo
The future is what we do!
Every single contribution is
important
You can get impact
Everybody can help
Reporting bugs
Confirming bugs
Writing tests
Writing examples
Writing comments
Simple contributing fixes
Deep discussion...
Open Pharo Sprints
May 2008 Bern
July 2009 Bern
October 2009 Lille
November 2009 Buenos Ares
March 2010 Bern
May 2010 Buenos Ares
June 2010 Bern
June 2010 Bruxelles
July 2010 London
September 2010 Barcelona
September 2010 Lille
January 2011 Lille
July 2011 Lille
October 2011 Bruxelles
February 2012 Bern
April 2012 Lille

Contenu connexe

Similaire à Pharo Update

IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
julien.ponge
 

Similaire à Pharo Update (20)

2011 Pharo Roadmap explained
2011 Pharo Roadmap explained2011 Pharo Roadmap explained
2011 Pharo Roadmap explained
 
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.
 
2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours
 
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
 
Research at RMOD
Research at RMODResearch at RMOD
Research at RMOD
 
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
 
Smalltalk and Business
Smalltalk and BusinessSmalltalk and Business
Smalltalk and Business
 
Fosdem 13: Pharo 2.0 update
Fosdem 13: Pharo 2.0 updateFosdem 13: Pharo 2.0 update
Fosdem 13: Pharo 2.0 update
 
Pharo Status
Pharo StatusPharo Status
Pharo Status
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
 
PharoDAYS 2015: Consortium Message: Get involved, you can get an impact by St...
PharoDAYS 2015: Consortium Message: Get involved, you can get an impact by St...PharoDAYS 2015: Consortium Message: Get involved, you can get an impact by St...
PharoDAYS 2015: Consortium Message: Get involved, you can get an impact by St...
 
Pharo3 at Fosdem
Pharo3 at FosdemPharo3 at Fosdem
Pharo3 at Fosdem
 
.NET, OSS & Mono
.NET, OSS & Mono.NET, OSS & Mono
.NET, OSS & Mono
 
Pharo3 at Fosdem
Pharo3 at FosdemPharo3 at Fosdem
Pharo3 at Fosdem
 
Get Involved, you can get an impact!
Get Involved, you can get an impact!Get Involved, you can get an impact!
Get Involved, you can get an impact!
 
OpenIO A3techlive in London - March 2016
OpenIO A3techlive in London - March 2016OpenIO A3techlive in London - March 2016
OpenIO A3techlive in London - March 2016
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Pharo: Objects at your Fingertips
Pharo: Objects at your FingertipsPharo: Objects at your Fingertips
Pharo: Objects at your Fingertips
 
OWASP WTE - Now in the Cloud!
OWASP WTE - Now in the Cloud!OWASP WTE - Now in the Cloud!
OWASP WTE - Now in the Cloud!
 

Plus de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

Plus de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Pharo Update

  • 1. Pharo: steadily improving S. Ducasse and M. Denker http://www.pharo-project.org
  • 2. Pharo MIT license Mac, Linux, Android, iOS, Windows Great community of active doers Improving steadily Many many many excellent libraries
  • 4. Create an ecosystem where business/innovation can bloom
  • 5. We want **you** can make money with Pharo. inventing solutions to existing problems.
  • 6. Create an ecosystem where business/innovation can bloom
  • 7. Powerful innovative dynamic language to build OUR/YOUR future. New rethought language/system.
  • 8. Create a system to enable you to create!
  • 9. Some Pharo’s success stories Seaside.st, SmalltalkHub, Yesplan.be, netstyle.ch Pier, DrGeo, VBridge, Cmsbox.ch, objectFusion, beta9.be: T3 Easy (Pharo server side) Moose, pinesoft.co.uk Airflowing, synectique, miriamTech, 2denker...
  • 10. We want more success stories!
  • 11. A powerful engine to invent our future
  • 12. Since may 2008 Pharo 1.0 - oct 2009 (470 updates) Pharo 1.1 - jul 2010 (410 updates) Pharo 1.2 - mar 2011 (500 updates) Pharo 1.3 (700 updates) Pharo 1.4 - Apr 2012 (860 updates) Pharo 2.0 alpha (759 updates)
  • 13. Pharo 1.4 Lot lot improvements More important: Summer maintenance release Fall maintenance release
  • 14. Roadmap for 2.0 Building the infrastructure for the next generation https://gforge.inria.fr/frs/download.php/30434/ PharoVision.pdf
  • 15. Glimpse at 2.0 alpha core: 1.36 mb so far (hazelnuts: 120 KB) (integration process using metacello! soon) rewriting most tools with Spec Nautilus: new browser Filesystem (no more FileDirectory :) new package implementation new system announcement (no more SystemChangeNotification) (package manifest = package meta data soon)
  • 16. Ongoing Community Work Better widgets, UI Builder (A. Plantec, G. Chambers, B. van Ryseghem) Key mapper (G. Polito) Serializer (M. Dias, M. Martinez-Peck), Full Proxy (M. Martinez-Peck) Opal New compiler (J. Ressia/M. Denker/JB Arnaud) Vectorial canvas (I. Stasenko) Better FFI (I. Stasenko, E. Lorenzano) Package distribution infrastructure (D. Henrichs) PDF generation (O. Auverlot) Network: Zinc, Zodiac, WebSockets (S. van Caekenberghe) Seamless: Remote Smalltalk (N. Papoulias and N. Bouraqadi)
  • 17. Code Model (1.4) Off-image browsing Representing Smalltalk source code Ring (V. Uquillaz Gomes/A. Kellens/S.Ducasse) Source code metamodel API compatible with Smalltalk objects in Pharo 1.4 Adding layers on top of it Reusing tools
  • 18. Next Steps Database to store Better source model Server for queries
  • 19. Athens Graphics (2.0) New Vector Graphics Canvas OO Design Layered Architecture Backends Cairo BitBlt CoreGraphics
  • 20. Next Steps New TextModel Adapt Morphic Clean all the canvases
  • 21. Opal (2.0) a more flexible and simpler compiler Will be added in 2.0 next week! Hooks for DSL support Better API New generation of tools
  • 22. Next Steps Decompiler (was the last missing bit) is nearly finished Throw away the old compiler Then improving the API
  • 23. Fuel: Fast Serialization (1.4) Done by M. Diaz, M. Martinez-Peck, (T. Bourgeois & S. Ducasse) Don’t use ImageSegment (removed in 1.4) Fuel is fast and even faster (!!) Much more flexible and easier to understand
  • 24. Next Steps Binary code loader: Tanker (Pharo 3.0)
  • 25. 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.
  • 26. Package certification (2.0|3.0) Packages should be more self contained Tests LintRules managed with false positives Meta data Run and automatically certified
  • 27. Process You use Metacello! You publish in your repo! When you want, push the code to a distribution project 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 :)
  • 28. Native Boost (2.0) By I. Stasenko (mac, linux and windows 32bits) Generate machine code on the fly :) FFI Implement primitives
  • 29. Next Steps Merge FFI and NB API Real documentation Cleaning load Alien, FFI, NativeBoost
  • 30. New IDE Tools (2.0) Throw away StringHolder hierarchy Browser support refactoring, groups, plugins and a lot more :) by B. van Ryseghem
  • 31. VM Expand knowledge Welcome newbies and idiots (like Stef) Increase tests Enable sharing: yes the code is in GIT Release VM builders from stupid tasks Traceability/Branding
  • 32. VM builds Anybody is now able to build a vm!
  • 33. VM Infrastructure VM validation after ANY changes Automatic recompilation Automatic test regressions
  • 34. Mini Bootstraped Image (3.0) Pavel’s Mini image 4.2 mb for Seaside Guillermo and Benjamin’s Hazelnuts State: 1.36 mb for core+compiler Soon Hazelnut: 120 KB
  • 35. Pharo Consortium How to sustain Pharo? How do we make sure that infrastructure continues to improve? How to structure the community? Should we always rely on people free time?
  • 36. Consortium Members Managed by INRIA for now Who: companies, institutions, user groups Privileged access to the core development team Influence priorities of the next development Engineering support time Job posts Training/Conferences special prices
  • 37. Your fears :) Pharo will stay free! No negative impact: just a better Pharo Better maintained system
  • 38. Consortium Sponsor You can also be a sponsor Normal Diamond
  • 39. Tuitions Gold 4000 4 days of engineering time + multiple job descriptions for job dashboard + diamond sponsor. Silver 2000 two days of engineering time + one job description + diamond sponsor. Bronze 1000 one day of engineering time + diamond sponsor.
  • 40. When Started discussions with INRIA two years ago INRIA put money on the table 60 KEuros (Esteban) More than 25 companies are interested Available 3rd week of September
  • 41. Pharo Users Association Managed by the Pharo Association Individuals Premium (99 Euros) Normal (40 Euros) In the mid-term it will manage the consortium
  • 42. Pharo books Pharo by example translated to french, merci! translated to spanish, gracias! japanese, german started New book soon: Deep into Pharo
  • 43. The future is what we do!
  • 45. You can get impact
  • 46. Everybody can help Reporting bugs Confirming bugs Writing tests Writing examples Writing comments Simple contributing fixes Deep discussion...
  • 47. Open Pharo Sprints May 2008 Bern July 2009 Bern October 2009 Lille November 2009 Buenos Ares March 2010 Bern May 2010 Buenos Ares June 2010 Bern June 2010 Bruxelles July 2010 London September 2010 Barcelona September 2010 Lille January 2011 Lille July 2011 Lille October 2011 Bruxelles February 2012 Bern April 2012 Lille