Pharo 2.0: An Exciting Milestone


Published on

Talk held by Stephane Duc

  • 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

No notes for slide

Pharo 2.0: An Exciting Milestone

  1. 1. Pharo 2.0: an excitingmilestoneS. Ducasse and M. Denker
  2. 2. Thanks SCG, T. Girba and you
  3. 3. Sensus HighOctane
  4. 4. It feels like...
  5. 5. PharoPure object languageGreat community of active doersPowerfulElegant and fun to programLiving system under your fingers
  6. 6. VM running on MacOSX, linux, WindowsCompiler, Core classes (stream, collections, unicode)IDE (editor, inspector, debugger, code versioning,...)UI frameworks (widgets, theme)FFIGraphics (soon opengl)Hyper fast object serializerNetwork, HTTP
  7. 7. Web frameworks: seaside, iliad, HTTP2XML, HTML scraping, Zodiac (HTTPS)Graphics frameworks: Roassal, Mondrian, EyeSeeTool builder: Glamour, MetaTools: MooseDatabase: DBXTalk, Mongo, Riak, CouchDBProxy, LoggingUnits (Aconcagua, Units)Parser: Petit Parser, SmaCCMathematical ...
  8. 8. A powerful engine to invent our future
  9. 9. Our goal...
  10. 10. Create an ecosystemwhere business/innovation can bloom
  11. 11. We want that **you** can make money withPharo. We want to be able to inventsolutions to existing problems.We want a powerful innovative dynamiclanguage where we can build our future.
  12. 12. Some Pharo’s, SmalltalkHub,,,Pier, DrGeo, VBridge,, objectFusion,T3 Easy from,,,Airflowing, synectique, miriamTech, 2denker...
  13. 13. We want more successstories!
  14. 14. Pharo 2.0 -Apr 2013(593 updates)A massive amount of improvements
  15. 15. Since may 2008Pharo 2.0 - Apr 2013 (593 updates)Pharo 1.4 - Apr 2012 (860 updates)Pharo 1.3 (700 updates)Pharo 1.2 - mar 2011 (500 updates)Pharo 1.1 - jul 2010 (410 updates)Pharo 1.0 - oct 2009 (470 updates)
  16. 16. 2.0: UI Spec: a new way to build UI (chapter under way) Widget enhancements. Revamp progress bar Layout improvements/cleanups. Keybindings New icons (famfam). "Growl" style notifications. Rectangle intersection improvements.
  17. 17. 2.0: Developer tools Nautilus Browser: groups, hierarchy, icon navigation Critics Browser Interactive navigation (cmd+click on class/selector) Spotlight (shift+enter) Diff tools enhancements Unify/clean Smartcharacters and completion Shout themes Andreas’s Profiler
  18. 18. 2.0: CompilerRB ASTError Nodethe foundation for the AST interpreter in 3.0
  19. 19. NetworkingNew version of ZincZodiac SSL
  20. 20. 2.0: SystemSystemAnnouncer (first class events no symbol)RPackage (just plain real object)Manifest (Package meta-data)Extensible Command-lineNativeBoostRing Meta Model
  21. 21. 2.0: System (2) Fuel instead of ‘smart’ ref streams FreeType fonts better handling (resources) Session-aware code Metacello FileSystem DateAndTime refactoring (UTC internally)
  22. 22. 2.0: VMLatests cog buildsBrandingSSLPluginFilePlugin enhancementsSocketPlugin fixesIncluded libraries: freetype2, cairo
  23. 23. 2.0: CleanupsRemoval of FileDirectoryRemoval of ReferenceStream and bros
  24. 24. 2.0: Infrastructure ZeroConf script (chapter) Continuous integration for everything pharo/core pharo/contributions (ask if you need) SmalltalkHub
  25. 25. Vision Document around 2.0 PharoVision.pdf 4.4 UI Canvas for Zoomable Interface 4.10 Building and Reusing UI Logic3.1 Towards a small kernel [we have [Waiting for TextModel and 3.0] [First cut in 2.0 UIPainter for 3.0]it now we should think aboutmigration] 4.5 Bootstrap of the Core [Done 4.11 New Network Layer [Nothing] should be integrated in 3.0]3.2 Towards a verified package 4.12 Serializers [Done]catalog [On the way] 4.6 Fully parametrized compiler tool chain [Start with Opal in 3.0] 4.13 SystemChangeNotifier4.1  A Robust and Extensible System replacement [Done]Events [Beta and should be in 3.0] 4.7 Packages as real objects [in 2.0 and will improve in 3.0] 4.14 Cleaning Morphic [To be4.2 Rewrite of Filesystem/Streams continued in 3.0][DONE for Files] 4.8 Package Meta-Data [Done]4.3 Announcements and Ephemerons   5.2 VMs identification and regression[Annoucements Done. More Enh for 4.9 Less Model Clutter and testing [On the way]3.0] Duplication [Started in 2.0 will be accentuated in 3.0] 5.3 One Unified FFI framework [before June]
  26. 26. We want to improve thecomplete system!
  27. 27. Not just a nice library on topof ...
  28. 28. Of course not everything isperfect
  29. 29. Retrospective analysis tomake progress
  30. 30. But we believe in non lineargrowth
  31. 31. Community Ongoing WorkBetter widgets, UI Builder (A. Plantec, G. Chambers, B. van Ryseghem)Better browsers (B. van Ryseghem, C. Bruni)Proxy (M. Martinez-Peck)New compiler (J. Ressia/M. Denker/JB Arnaud/)Vectorial canvas (I. Stasenko)Better FFI (I. Stasenko, E. Lorenzano)Bootstrap (G. Polito/S. Ducasse/N. Bouraqadi/L. Fabresse)Package distribution infrastructure (D. Henrichs)PDF generation (O. Auverlot, G. Larcheveque)Network (Zinc, Zodiac S. van Caekenberghe)Remote Smalltalk (N. Papoulias, N. Bouraqadi)
  32. 32. New ProcessTo dynamise and stabilize a long cycleChunked per monthRetrospective analysisContinue to have a Summer release and an alpha
  33. 33. Glimpse at 3.0OPAL for realAthensIntegration process using metacello!UIPainterRemove PackageInfo for realValidated packages
  34. 34. 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 get the right ones loaded.
  35. 35. Package certificationPackages should be more self containedTestsLintRulesMeta dataRun and automatically certified
  36. 36. Configs Automated Distribution Configs Validation ConfigsDistributionInbox BrokenDistribution
  37. 37. 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 :)
  38. 38. Con figs 13Distrib Con figs 13Distrib Con Broken figs 13Distrib Con Inbox figs 14Distrib Con figs 14Distrib Broken 14Distrib Con Inbox figs Con figs ConfigOf 15Distrib MyProject Con figs 15Distrib Broken MyCore 15Distrib MyUtils Inbox Con MyTests figsMyProject
  39. 39. Core and ...Core + Specifications produces Specific loads Images Certified Certified Packages Packages Core New Core Changes Spec New Spec Certified packages New Certified packages
  40. 40. Consortium & AssociationHow to sustain Pharo?How to structure the community?Let us talk about it tomorrow :)
  41. 41. @@Consortium Web Site@@
  42. 42. Pharo booksPharo by example translated to french, merci! translated to spanish, gracias! japanese, german started
  43. 43. New books are comingDeep into PharoPharo for the Entreprise If you want to contribute...A glimpse at VM
  44. 44. We thank all the contributors, we knowwho you are :)Thanks SCG & T. Girba for this coolconferenceInria and RMoD for their continuoussupport