SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Pharo. One Year Later

M. Denker
http://www.pharo-project.org
Smalltalks 2010
             Smalltalks2010


 Text
Pharo?
Why do we not continuously improve

           what we use


             ????
Pharo

A flexible environment to support the
    innovation in/of Smalltalk.
Pharo

A robust environment to support doing
       business in Smalltalk.
And?
Since Last year

 535 Updates
 >1050 Issues closed
 5 Pharo Sprints
 1 “Deep into Smalltalk” School (Focus: VM)
Since Last year

 1.3 is released
 1.4 alpha started
 Jenkins server for testing release
 All VMs are automatically generated using Jenkins
Since Last year

 Hired Igor Stasenko Nov 2011


 Second Full Time Engineer in Feb 2012


 Pharo Consortium: Got OK from INRIA
Industry Success

Seaside.st
Yesplan.be, netstyle.ch, pinesoft.co.uk.....
Pier, DrGeo
Cmsbox.ch: Content Management
beta9.be: T3 Easy (Pharo server side)
Moose: www.moose-technology.org
Airflowing
Community Projects
Better widgets (A. Plantec, G. Chambers, B. van Ryseghem)

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

Key mapper (G. Polito)

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

New source code model: Ring (V. Uquillas Gomez, A. Kellens, S. Ducasse)

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

Zoomable interface (I. Stasenko)

Bootstrap (B. van Ryseghem/S. Ducasse)

Package distribution infrastructure (D. Henrichs)

Network (Zinc S. van Caekenberghe, Ocean N. Bouraqadi, L. Fabresse, J. Laval)

Remote Smalltalk (N. Papoulias and N. Bouraqadi)
It is Working!
Progress is
Accelerating
Feedback Loop
Roadmap
Code Model Infrastructure
Able to query all the versions
What were the senders of this method in version
13168?
What is the diff between the senders in the past and
the one now?
Support for merging
Distributed source code             (Veronica Uquillaz-Gomez)
Code Model Infrastructure
Ring (V. Uquillaz Gomes/A. Kellens/S.Ducasse)
  Source code metamodel
  API compatible with Smalltalk objects
Adding layers on top of it
Porting all the tools to use it!
Reuse tools
Next Steps


Server for queries
New source code model
Athens Graphics
New Canvas
 Vector Graphics API
 Layered Architecture
   Backend Cairo /
   OpenGL OpenVG....


 (Igor Stasenko)
Next Steps

OpenGL bindings using NativeBoost
    done on Windows
Stabilize API
Adapt Morphic
Opal
We need a more flexible
and simpler compiler
Hooks for DSL support
Better API
New generation of tools


(J. Ressia/M. Denker/JB Arnaud)
Next Steps


To be added in 1.5
Throw away the old compiler
Then improving the API
Fuel: Fast Serialization

 Don’t use ImageSegment (removed in 1.4)
   Fuel is faster (!!)
   Much more flexible and easier to understand


 Done by M. Diaz, M. Martinez-Peck, (T. Bourgeois & S.
 Ducasse)
Next Steps


Replace existing serializers
Migration path
Binary code loader
Scripting Syntax: Coral
 We want to write scripts in Pharo :)
   Headless
   REPL
   Good OS interface (OSProcess for now)
 So we get Coral
   (D. Pollet and S. Ducasse)
Browsers and Tools

Throw away StringHolder hierarchy (Yes Browser
inherits from StringHolder)
Browser based on a model
Nautilus by B. van Ryseghem
Glamour
Mini Image and Bootstrap

Pavel’s Mini image
  4.2 mb for Seaside
Work on declarative bootstrapped kernel
  Analyzed existing solutions
Pharo Consortium


How to sustain Pharo?
How to structure the community?
Can we always rely on peoples free time?
Consortium

You can participate to the consortium:
  Pay a fee (company)
  Individual (free)


The consortium will pay a full-time engineer to support
Pharo tasks
Consortium FAQ

Pharo will stay free!
No negative impact: just a better Pharo
Idea: Organizations should be able to pay
  Membership
  Morale License
When

Started discussions with INRIA two years ago
INRIA is ok to put money on the table
  1 Engineer for one Year
More than 25 companies are interested
Join!
Thanks
    Alexandre Bergel
                            Matthew Fulmer
                            Hilaire Fernandes
                                Julian Fitzell
                                                    Laurent Laffont
                                                    Joseph Pelrine
      Cedric Beler             Tudor Girba
                                                      Alain Plantec
   Torsten Bergmann            Sean Glazier
                                                    Damien Pollet
     Matthias Berth          Norbert Hartl
                                                     Lukas Renggli
      Ralph Boland            Dale Henrichs
                                                      Jorge Ressia
    Noury Bouraqadi          Reinout Heeck
                                                     Mike Roberts
      Brian Brown           Eric Hochmeister
                                                   Robert Rothwell
    Guillermo Polito           Keith Hodges
                                                  David Rotlisberger
    Damien Cassou        Henrik Sperre Johansen
                                                    Michael Rueger
     Nicolas Cellier         Pavel Krivanek
                                                       Bill Schwab
    Gary Chambers              Adrian Kuhn
                                                     Niko Schwarz
      Miguel Coba            Adrian Lienhard
                                                     Igor Stasenko
     Gabriel Cotelli         Andreas Leidig
                                                  Francois Stephany
    Carlos Crosetti      Mariano Martinez Peck
                                                   Serge Stinckwich
    Cyrille Delaunay           Dave Mason
                                                     Mathieu Suen
     Simon Denier             John McIntosh
                                                  Lawrence Trutter
     Marcus Denker         Johnaton Meichtry
                                                    Andrew Tween
   Ramiro Diaz Trepat          Eliot Miranda
                                                  martin von loewis
   Stephane Ducasse      Hernan Morales Durand
                                                    Andres Valloud
 Morales Durand Hernan       Philipp Marshall
                                                      Juan Vuletich
  Stephan Eggermont             Jannik Laval
                                                      Steven Wirts
      Luc Fabresse            Yann Monclair
                                                  Hernan Wilkinson
                            Oscar Nierstrasz

Contenu connexe

Similaire à Pharo. One Year Later

Businessmodelgeneration preview
Businessmodelgeneration previewBusinessmodelgeneration preview
Businessmodelgeneration preview
Alex Oliva
 
Business model generation
Business model generationBusiness model generation
Business model generation
Ricardo Vieira
 
Businessmodelgeneration preview
Businessmodelgeneration previewBusinessmodelgeneration preview
Businessmodelgeneration preview
Emprèn UPF
 
Businessmodelgeneration preview
Businessmodelgeneration previewBusinessmodelgeneration preview
Businessmodelgeneration preview
joanrasconnovoa
 
Business model generation
Business model generationBusiness model generation
Business model generation
Hanseong Kim
 
Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01
Gabriel Capuia
 
Businessmodelcanvas 100604022417 Phpapp01
Businessmodelcanvas 100604022417 Phpapp01Businessmodelcanvas 100604022417 Phpapp01
Businessmodelcanvas 100604022417 Phpapp01
Ian Kelly
 
Business Model Generation
Business Model GenerationBusiness Model Generation
Business Model Generation
Bridge2Food
 
Codestrong 2012 keynote nolan wright, appcelerator's cto
Codestrong 2012 keynote   nolan wright, appcelerator's ctoCodestrong 2012 keynote   nolan wright, appcelerator's cto
Codestrong 2012 keynote nolan wright, appcelerator's cto
Axway Appcelerator
 

Similaire à Pharo. One Year Later (20)

Businessmodelgeneration preview 71358
Businessmodelgeneration preview 71358Businessmodelgeneration preview 71358
Businessmodelgeneration preview 71358
 
Businessmodelgeneration preview
Businessmodelgeneration previewBusinessmodelgeneration preview
Businessmodelgeneration preview
 
Businessmodelgeneration Preview
Businessmodelgeneration PreviewBusinessmodelgeneration Preview
Businessmodelgeneration Preview
 
Business models
Business modelsBusiness models
Business models
 
Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01
 
Business model generation
Business model generationBusiness model generation
Business model generation
 
Businessmodelgeneration preview
Businessmodelgeneration previewBusinessmodelgeneration preview
Businessmodelgeneration preview
 
Businessmodelgeneration preview
Businessmodelgeneration previewBusinessmodelgeneration preview
Businessmodelgeneration preview
 
Business model generation
Business model generationBusiness model generation
Business model generation
 
Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01
 
Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01Businessmodelgenerationpreview 100125081253-phpapp01
Businessmodelgenerationpreview 100125081253-phpapp01
 
Ostenwalder Business Model Generation Preview
Ostenwalder Business Model Generation PreviewOstenwalder Business Model Generation Preview
Ostenwalder Business Model Generation Preview
 
Businessmodelcanvas 100604022417 Phpapp01
Businessmodelcanvas 100604022417 Phpapp01Businessmodelcanvas 100604022417 Phpapp01
Businessmodelcanvas 100604022417 Phpapp01
 
Osterwalders rammeverk
Osterwalders rammeverkOsterwalders rammeverk
Osterwalders rammeverk
 
Businessmodelgeneration Preview
Businessmodelgeneration PreviewBusinessmodelgeneration Preview
Businessmodelgeneration Preview
 
Business Model Generation
Business Model GenerationBusiness Model Generation
Business Model Generation
 
UK HealthCare IT Strategic Plan
UK HealthCare IT Strategic PlanUK HealthCare IT Strategic Plan
UK HealthCare IT Strategic Plan
 
State of the Word 2014
State of the Word 2014State of the Word 2014
State of the Word 2014
 
Codestrong 2012 keynote nolan wright, appcelerator's cto
Codestrong 2012 keynote   nolan wright, appcelerator's ctoCodestrong 2012 keynote   nolan wright, appcelerator's cto
Codestrong 2012 keynote nolan wright, appcelerator's cto
 
Bll 15 creatures of the waters
Bll 15   creatures of the watersBll 15   creatures of the waters
Bll 15 creatures of the waters
 

Plus de Marcus Denker

Plus de 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
 

Dernier

Dernier (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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 PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Pharo. One Year Later

  • 1. Pharo. One Year Later M. Denker http://www.pharo-project.org
  • 2. Smalltalks 2010 Smalltalks2010 Text
  • 3. Pharo? Why do we not continuously improve what we use ????
  • 4. Pharo A flexible environment to support the innovation in/of Smalltalk.
  • 5. Pharo A robust environment to support doing business in Smalltalk.
  • 7. Since Last year 535 Updates >1050 Issues closed 5 Pharo Sprints 1 “Deep into Smalltalk” School (Focus: VM)
  • 8. Since Last year 1.3 is released 1.4 alpha started Jenkins server for testing release All VMs are automatically generated using Jenkins
  • 9. Since Last year Hired Igor Stasenko Nov 2011 Second Full Time Engineer in Feb 2012 Pharo Consortium: Got OK from INRIA
  • 10. Industry Success Seaside.st Yesplan.be, netstyle.ch, pinesoft.co.uk..... Pier, DrGeo Cmsbox.ch: Content Management beta9.be: T3 Easy (Pharo server side) Moose: www.moose-technology.org Airflowing
  • 11. Community Projects Better widgets (A. Plantec, G. Chambers, B. van Ryseghem) Better browsers (B. van Ryseghem, C. Bruni) Key mapper (G. Polito) Serializer (M. Dias, M. Martinez-Peck), Full Proxy (M. Martinez-Peck) New source code model: Ring (V. Uquillas Gomez, A. Kellens, S. Ducasse) New compiler (J. Ressia/M. Denker/JB Arnaud) Zoomable interface (I. Stasenko) Bootstrap (B. van Ryseghem/S. Ducasse) Package distribution infrastructure (D. Henrichs) Network (Zinc S. van Caekenberghe, Ocean N. Bouraqadi, L. Fabresse, J. Laval) Remote Smalltalk (N. Papoulias and N. Bouraqadi)
  • 16. Code Model Infrastructure Able to query all the versions What were the senders of this method in version 13168? What is the diff between the senders in the past and the one now? Support for merging Distributed source code (Veronica Uquillaz-Gomez)
  • 17. Code Model Infrastructure Ring (V. Uquillaz Gomes/A. Kellens/S.Ducasse) Source code metamodel API compatible with Smalltalk objects Adding layers on top of it Porting all the tools to use it! Reuse tools
  • 18. Next Steps Server for queries New source code model
  • 19. Athens Graphics New Canvas Vector Graphics API Layered Architecture Backend Cairo / OpenGL OpenVG.... (Igor Stasenko)
  • 20. Next Steps OpenGL bindings using NativeBoost done on Windows Stabilize API Adapt Morphic
  • 21. Opal We need a more flexible and simpler compiler Hooks for DSL support Better API New generation of tools (J. Ressia/M. Denker/JB Arnaud)
  • 22. Next Steps To be added in 1.5 Throw away the old compiler Then improving the API
  • 23. Fuel: Fast Serialization Don’t use ImageSegment (removed in 1.4) Fuel is faster (!!) Much more flexible and easier to understand Done by M. Diaz, M. Martinez-Peck, (T. Bourgeois & S. Ducasse)
  • 24. Next Steps Replace existing serializers Migration path Binary code loader
  • 25. Scripting Syntax: Coral We want to write scripts in Pharo :) Headless REPL Good OS interface (OSProcess for now) So we get Coral (D. Pollet and S. Ducasse)
  • 26. Browsers and Tools Throw away StringHolder hierarchy (Yes Browser inherits from StringHolder) Browser based on a model Nautilus by B. van Ryseghem Glamour
  • 27. Mini Image and Bootstrap Pavel’s Mini image 4.2 mb for Seaside Work on declarative bootstrapped kernel Analyzed existing solutions
  • 28. Pharo Consortium How to sustain Pharo? How to structure the community? Can we always rely on peoples free time?
  • 29. Consortium You can participate to the consortium: Pay a fee (company) Individual (free) The consortium will pay a full-time engineer to support Pharo tasks
  • 30. Consortium FAQ Pharo will stay free! No negative impact: just a better Pharo Idea: Organizations should be able to pay Membership Morale License
  • 31. When Started discussions with INRIA two years ago INRIA is ok to put money on the table 1 Engineer for one Year More than 25 companies are interested Join!
  • 32. Thanks Alexandre Bergel Matthew Fulmer Hilaire Fernandes Julian Fitzell Laurent Laffont Joseph Pelrine Cedric Beler Tudor Girba Alain Plantec Torsten Bergmann Sean Glazier Damien Pollet Matthias Berth Norbert Hartl Lukas Renggli Ralph Boland Dale Henrichs Jorge Ressia Noury Bouraqadi Reinout Heeck Mike Roberts Brian Brown Eric Hochmeister Robert Rothwell Guillermo Polito Keith Hodges David Rotlisberger Damien Cassou Henrik Sperre Johansen Michael Rueger Nicolas Cellier Pavel Krivanek Bill Schwab Gary Chambers Adrian Kuhn Niko Schwarz Miguel Coba Adrian Lienhard Igor Stasenko Gabriel Cotelli Andreas Leidig Francois Stephany Carlos Crosetti Mariano Martinez Peck Serge Stinckwich Cyrille Delaunay Dave Mason Mathieu Suen Simon Denier John McIntosh Lawrence Trutter Marcus Denker Johnaton Meichtry Andrew Tween Ramiro Diaz Trepat Eliot Miranda martin von loewis Stephane Ducasse Hernan Morales Durand Andres Valloud Morales Durand Hernan Philipp Marshall Juan Vuletich Stephan Eggermont Jannik Laval Steven Wirts Luc Fabresse Yann Monclair Hernan Wilkinson Oscar Nierstrasz