Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pharo Roadmap


Published on

Published in: Technology

Pharo Roadmap

  1. 1. The Pharo RoadmapM. Denker and S. Ducasse
  2. 2. Create an ecosystemwhere business/innovation can bloom
  3. 3. Some Pharo’s, netstyle.chPier, Content T3 Easy (Pharo server side)Moose: MBaggerAirflowing
  4. 4. Be able to invent our future
  5. 5. Done so far1.3 is released (a lot, a lot, and a lot of improvements :)1.4 alpha startedJenkins server for everythingAll VMs are automatically generated using Jenkins
  6. 6. Community Ongoing WorkBetter 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)
  7. 7. RoadmapBuilding the infrastructure for the next generation
  8. 8. Code Model InfrastructureAble to query all the versionsWhat were the senders of this method in version13168?What is the diff between the senders in the past andthe one now?Support for mergingDistributed source code
  9. 9. Code Model InfrastructureRing (V. Uquillaz Gomes/A. Kellens/S.Ducasse) Source code metamodel API compatible with Smalltalk objectsAdding layers on top of itPorting all the tools to use it!Reuse tools
  10. 10. Next StepsServer for queriesNew source code model
  11. 11. Athens GraphicsNew Canvas Vector Graphics API Layered Architecture Backend Cairo / OpenGL OpenVG....
  12. 12. Next StepsOpenGL bindings using NativeBoost done on WindowsStabilize APIAdapt Morphic
  13. 13. OpalWe need a more flexibleand simpler compilerHooks for DSL supportBetter APINew generation of tools
  14. 14. Next StepsDecompiler (was the last missing bit) is nearly finishedSoon added in 1.4Throw away the old compilerThen improving the API
  15. 15. Fuel: Fast Serialization Done by M. Diaz, M. Martinez-Peck, (T. Bourgeois & S. Ducasse) Don’t use ImageSegment (removed in 1.4) Fuel is faster (!!) Much more flexible and easier to understand
  16. 16. Next StepsReplace existing serializersMigration pathBinary code loader
  17. 17. Scripting Syntax: Coral We want to write scripts in Pharo :) Headless REPL OS connexion (OSProcess for now) So we get Coral D. Pollet (and S. Ducasse)
  18. 18. [ Console puts: Before the command. ][ "Lets define a command" | command | Console puts: duuuuhhh. command := (CLICommandParser named: dostuff) aliases: #(dostuff.coral); description: This command does a lot of stuff. Ireally mean a lot..]
  19. 19. Distributions: towards acertified catalog I want to go to Mars with just a DVD, and still be able to load the projects I want, and without internet, please!
  20. 20. ProcessYou use Metacello!You publish in your repo!When you want you can release code to a distributionAll the code then is recursively copied to thedistribution spaceAll the tests and quality rules are checkedPeople use your code but with a certain level ofconfidence :)
  21. 21. Varia Making sure that we will be able to use announcements instead of SystemChangeNotifier Cleaning Morphic New package infrastructure
  22. 22. Package certificationPackages should be more self containedTestsLintRulesMeta dataRun and automatically certified
  23. 23. Native BoostBy Igor Stasenko (mac, linux and windows 32bits)Generate machine code on the fly :)Implement primitivesFFI
  24. 24. VMExpand knowledgeWelcome newbies and idiots (like Stef)Increase testsRelease VM builders from stupid tasksTraceability/Branding
  25. 25. VM buildsAnybody is now able to build a vm!
  26. 26. VM Infrastructure VM validation after ANY changes Automatic recompilation Automatic test regressions
  27. 27. Nautilus Throw away StringHolder hierarchy (Yes Browser inherits from StringHolder) Browser based on a model Nautilus by B. van Ryseghem
  28. 28. Next StepsReimplement ChangeSorter MC UI Debugger
  29. 29. Mini ImagePavel’s Mini image4.2 mb for Seaside
  30. 30. Future?Native boostGoogle native clientFull bootstrapMore secure system
  31. 31. Pharo ConsortiumHow to sustain Pharo?How to structure the community?Should we always rely on people free time?
  32. 32. ConsortiumYou can participate to the consortium: Pay a feeThe consortium will pay a full-time engineer to supportPharo tasks
  33. 33. WhenStarted discussions with INRIA two years agoINRIA is ok to put money on the table (undernegotiation)More than 25 companies are interestedJoin!
  34. 34. Consortium FAQPharo will stay free!No negative impact: just a better PharoPeople and organization should be able to pay too:a.k.a. Morale License
  35. 35. Pharo booksPharo by example translated to french, merci! translated to spanish, gracias! japanese, german started
  36. 36. New books are comingPharo by Example Volume Two (deep into Pharo)Pharo for the Entreprise If you want to contribute...A glimpse at VM
  37. 37. Doing a Master with us :) Slim binaries (compressing AST as bytecodes) Virtual Filesystem Fuel-ing the code Source manager Peer to peer sources NativeBoost as a foundational engine Bootstrap next steps
  38. 38. 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