Your SlideShare is downloading. ×
2011 Pharo Roadmap explained
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

2011 Pharo Roadmap explained


Published on

Pharo is a new dynamically typed language. It is inspired from Smalltalk and it is …

Pharo is a new dynamically typed language. It is inspired from Smalltalk and it is
elegant, simple and powerful.

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. The Pharo RoadmapM. Denker and S. Ducasse
  • 2. Create an ecosystemwhere business/innovationcan bloom
  • 3. Some Pharo’s, netstyle.chPier, Content T3 Easy (Pharo server side)Moose: MBaggerAirflowing
  • 4. Be able to invent our future
  • 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. 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. RoadmapBuilding the infrastructure for the next generation
  • 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. Ring (V. Uquillaz Gomes/A. Kellens/S.Ducasse)Source code metamodelAPI compatible with Smalltalk objectsAdding layers on top of itPorting all the tools to use it!Reuse toolsCode Model Infrastructure
  • 10. Next StepsServer for queriesNew source code model
  • 11. Athens GraphicsNew CanvasVector Graphics APILayered ArchitectureBackend Cairo /OpenGL OpenVG....
  • 12. Next StepsOpenGL bindings using NativeBoostdone on WindowsStabilize APIAdapt Morphic
  • 13. OpalWe need a more flexibleand simpler compilerHooks for DSL supportBetter APINew generation of tools
  • 14. Next StepsDecompiler (was the last missing bit) is nearly finishedSoon added in 1.4Throw away the old compilerThen improving the API
  • 15. Fuel: Fast SerializationDone 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. Next StepsReplace existing serializersMigration pathBinary code loader
  • 17. Scripting Syntax: CoralWe want to write scripts in Pharo :)HeadlessREPLOS connexion (OSProcess for now)So we get Coral D. Pollet (and S. Ducasse)
  • 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. Distributions: towards acertified catalogI want to go to Mars with just a DVD,and still be able to load the projects I want,and without internet, please!
  • 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. VariaMaking sure that we will be able to use announcementsinstead of SystemChangeNotifierCleaning MorphicNew package infrastructure
  • 22. Package certificationPackages should be more self containedTestsLintRulesMeta dataRun and automatically certified
  • 23. Native BoostBy Igor Stasenko (mac, linux and windows 32bits)Generate machine code on the fly :)Implement primitivesFFI
  • 24. VMExpand knowledgeWelcome newbies and idiots (like Stef)Increase testsRelease VM builders from stupid tasksTraceability/Branding
  • 25. VM buildsAnybody is now able to build a vm!
  • 26. VM InfrastructureVM validation after ANY changesAutomatic recompilationAutomatic test regressions
  • 27. NautilusThrow away StringHolder hierarchy (Yes Browserinherits from StringHolder)Browser based on a modelNautilus by B. van Ryseghem
  • 28. Next StepsReimplementChangeSorterMC UIDebugger
  • 29. Mini ImagePavel’s Mini image4.2 mb for Seaside
  • 30. Future?Native boostGoogle native clientFull bootstrapMore secure system
  • 31. Pharo ConsortiumHow to sustain Pharo?How to structure the community?Should we always rely on people free time?
  • 32. ConsortiumYou can participate to the consortium: Pay a feeThe consortium will pay a full-time engineer to supportPharo tasks
  • 33. WhenStarted discussions with INRIA two years agoINRIA is ok to put money on the table (undernegotiation)More than 25 companies are interestedJoin!
  • 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. Pharo booksPharo by exampletranslated to french, merci!translated to spanish, gracias!japanese, german started
  • 36. New books are comingPharo by Example Volume Two (deep into Pharo)Pharo for the EntrepriseIf you want to contribute...A glimpse at VM
  • 37. Doing a Master with us :)Slim binaries (compressing AST as bytecodes)Virtual FilesystemFuel-ing the codeSource managerPeer to peer sourcesNativeBoost as a foundational engineBootstrap next steps
  • 38. ThanksAlexandre BergelCedric BelerTorsten BergmannMatthias BerthRalph BolandNoury BouraqadiBrian BrownGuillermo PolitoDamien CassouNicolas CellierGary ChambersMiguel CobaGabriel CotelliCarlos CrosettiCyrille DelaunaySimon DenierMarcus DenkerRamiro Diaz TrepatStephane DucasseMorales Durand HernanStephan EggermontLuc FabresseMatthew FulmerHilaire FernandesJulian FitzellTudor GirbaSean GlazierNorbert HartlDale HenrichsReinout HeeckEric HochmeisterKeith HodgesHenrik Sperre JohansenPavel KrivanekAdrian KuhnAdrian LienhardAndreas LeidigMariano Martinez PeckDave MasonJohn McIntoshJohnaton MeichtryEliot MirandaHernan Morales DurandPhilipp MarshallJannik LavalYann MonclairOscar NierstraszLaurent LaffontJoseph PelrineAlain PlantecDamien PolletLukas RenggliJorge RessiaMike RobertsRobert RothwellDavid RotlisbergerMichael RuegerBill SchwabNiko SchwarzIgor StasenkoFrancois StephanySerge StinckwichMathieu SuenLawrence TrutterAndrew Tweenmartin von loewisAndresValloudJuanVuletichSteven WirtsHernan Wilkinson