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.

2011 Pharo Roadmap explained

382 views

Published on

Pharo is a new dynamically typed language. It is inspired from Smalltalk and it is
elegant, simple and powerful. http://www.pharo.org

Published in: Technology
  • Be the first to comment

  • Be the first to like this

2011 Pharo Roadmap explained

  1. 1. The Pharo RoadmapM. Denker and S. Ducassehttp://www.pharo-project.org
  2. 2. Create an ecosystemwhere business/innovationcan bloom
  3. 3. Some Pharo’s successstoriesSeaside.stYesplan.be, netstyle.chPier, DrGeoCmsbox.ch: Content Managementbeta9.be: T3 Easy (Pharo server side)Moose: www.moose-technology.orgpinesoft.co.uk: 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. 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. 10. Next StepsServer for queriesNew source code model
  11. 11. Athens GraphicsNew CanvasVector Graphics APILayered ArchitectureBackend Cairo /OpenGL OpenVG....
  12. 12. Next StepsOpenGL bindings using NativeBoostdone 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 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. 16. Next StepsReplace existing serializersMigration pathBinary code loader
  17. 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. 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 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. 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. VariaMaking sure that we will be able to use announcementsinstead of SystemChangeNotifierCleaning MorphicNew 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 InfrastructureVM validation after ANY changesAutomatic recompilationAutomatic test regressions
  27. 27. NautilusThrow away StringHolder hierarchy (Yes Browserinherits from StringHolder)Browser based on a modelNautilus by B. van Ryseghem
  28. 28. Next StepsReimplementChangeSorterMC UIDebugger
  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 exampletranslated 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 EntrepriseIf you want to contribute...A glimpse at VM
  37. 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. 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

×