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.

2013 lecture-01-introduction


Published on

An introduction of Pharo.
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

2013 lecture-01-introduction

  1. 1. Pharo:A malleable and powerfulplatformS. Ducasse and M. Denker
  2. 2. What is it?Language + EnvironmentSimple LanguageObject-Oriented, Dynamic, ReflectiveExplore + Change running systemsThe Ultimate Live ProgrammingEnvironment!
  3. 3. PharoMIT licensePure object languageGreat community of active doersPowerfulElegant and fun to programLiving system under your fingersMac, Linux, Android, iOS, Windows
  4. 4. Compiler, Core classes (stream, collections, unicode,...)IDE (editor, inspector, debugger, code versioning,...)UI frameworks (widgets, theme)FFIGraphics (soon opengl)Hyper fast object serializerNetwork, HTTP
  5. 5. Web frameworks: Seaside, iliad, HTTP2Parsers: XML, HTML, JSONGraphics frameworks: Roassal, Mondrian, EyeSeeTool builders: Glamour, MooseDatabases: DBXTalk, Mongo, Riak, CouchDBParser generators: Petit Parser, SmaCCInfrastructure: Proxy, LoggingUnits: Aconcagua, Units...
  6. 6. 240 000 downloads on the Inria gforge40-50 active commiters> 600 mailing-list members180 license agreements50 association members10 industrial consortium membersaround 300 external projectsPharo in numbers
  7. 7. SqueakSource: old Forge3672 users3459 projects158 987 packages
  8. 8. A powerful engine to invent our future
  9. 9. Our goal...
  10. 10. Create an ecosystemwhere business/innovationcan bloom
  11. 11. We want that **you** can makemoney with Pharo. We want to inventsolutions to actual problems.We want a powerful innovativedynamic language where we can buildour future.
  12. 12. Some Pharo’s, SmalltalkHub,,,Pier, DrGeo, VBridge,,,T3 Easy from,,,Airflowing, synectique, miriamTech, 2denker...
  13. 13. Continuous API Testingkeep your services under control 24/7Norbert Hartl
  14. 14. WEBDRUCK.CHWeb-To-Print Solution• Design and createindividual printedmatter• eShop with creditcard payment• High quality PDFoutput with PrintingProcess integration• Thousands of ordersfor seven Swissprinting companies
  15. 15. NTed: disaster scenariorecovery
  16. 16. iBizLog - http://www.ibizlog.comA product by SmallworksTuesday, May 15, 12
  17. 17. Pinesoft MBagger
  18. 18. We want more successstories!
  19. 19. Daily ActiveDevelopmentA massive amount of improvements
  20. 20. Since may 2008Pharo 2.0 - Apr 2013 (1657 closed cases)Pharo 1.4 - Apr 2012 (988 closed cases)Pharo 1.3 (736 closed cases)Pharo 1.2 - mar 2011 (691 closed cases)Pharo 1.1 - jul 2010 (918 closed cases)Pharo 1.0 - oct 2009 (307 closed cases)Very HighActivity
  21. 21. 2.0 StatisticsStarted April 20121657 issue tracker entriessince start: 7663420 open, all have seen activity in 2012593 incremental updatesVery HighActivity
  22. 22. 2.0: OverviewUI:New UI Builder, Widget enhancements. Layout improvements.Shout ThemesKeybindings. New icons. "Growl" style notifications. Rectangleintersection improvements.ToolsBrowser: new default browser, critics browserSpotlight (shift+enter), unify Smartcharacters and completionCompiler enhancement: new AST + ErrorNodeImproved HTTP and SSLSystemVery HighActivity
  23. 23. Vision Document around 2.0 Towards a small kernel [we haveit now we should think aboutmigration]3.2 Towards a verified packagecatalog [On the way]4.1  A Robust and Extensible SystemEvents [Beta and should be in 3.0]4.2 Rewrite of Filesystem/Streams[DONE for Files]4.3 Announcements and Ephemerons [Annoucements Done. More Enh for3.0]4.4 UI Canvas for Zoomable Interface[Waiting for TextModel and 3.0]4.5 Bootstrap of the Core [Doneshould be integrated in 3.0]4.6 Fully parametrized compiler toolchain [Start with Opal in 3.0]4.7 Packages as real objects [in 2.0and will improve in 3.0]4.8 Package Meta-Data [Done]4.9 Less Model Clutter andDuplication [Started in 2.0 will beaccentuated in 3.0]4.10 Building and Reusing UI Logic[First cut in 2.0 UIPainter for 3.0]4.11 New Network Layer [Nothing]4.12 Serializers [Done]4.13 SystemChangeNotifierreplacement [Done]4.14 Cleaning Morphic [To becontinued in 3.0]5.2 VMs identification and regressiontesting [On the way]5.3 One Unified FFI framework[before June]
  24. 24. We want to improve thecomplete system!
  25. 25. Not just a nice library on topof ...
  26. 26. Of course not everything isperfect
  27. 27. But we believe in non lineargrowth
  28. 28. We are a cool community
  29. 29. www.10pines.comwww.2denker.dewww.agilitic.comwww.airflowing.comwww.anymorphic.comwww.ardish
  30. 30. University of Bueno AiresUniversity of Bern scg.unibe.chUniversity of Brussels des Mines www.ensm-douai.frUniversité de Savoie www.imus.univ-savoie.frIvan Franko National University of UkraineCzech Technical UniversityUniversity of Life Sciences in PragueNorthen Michigan University www.nmu.eduUniversity Catholic of Argentina of Santiago www.uchile.clUniversitat Policnica de Catalunya www.upc.eduLectures
  31. 31. Lafhis (University of Bueno Aires )Software Composition Group ( (Ecole des mines (Inria)Ummisco (IRD)Reveal (University of Lugano)Lysic (University of Bretagne Occidentale)Pleiad (University of Santiago)CEA-ListResearch Groups
  32. 32. New Dev ProcessTo galvanize and stabilize a long cycleChunked per monthRetrospective analysisContinue to have a Summer release and an alpha
  33. 33. 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/C. Bera/)Vectorial canvas (I. Stasenko)Better FFI (I. Stasenko, E. Lorenzano)Bootstrap (G. Polito/S. Ducasse/N. Bouraqadi/L. Fabresse)PDF generation (O. Auverlot, G. Larcheveque)Network (WebSocket, Oauth, Zinc, Zodiac S. van Caekenberghe)
  34. 34. Glimpse at 3.0OPAL visitor and IR compilation chainAthens (vector graphics)Integration processNew widgetsUIPainterValidated packages
  35. 35. Distributions: towards acertified catalogI 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.
  36. 36. AutomatedValidationConfigsDistributionInboxConfigsDistributionConfigsBrokenDistribution
  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. MyProjectConfigOfMyProjectMyCoreMyUtilsMyTestsConfigs13DistribInbox13Distrib13DistribBrokenConfigsConfigsConfigs14DistribInbox14Distrib14DistribBrokenConfigsConfigsConfigs15DistribInbox15Distrib15DistribBrokenConfigsConfigs
  39. 39. + SpecificationsCoreCertifiedPackagesSpecificImagesCertifiedPackagesloadsproducesCoreSpecCertified packagesChangesNew CoreNew SpecNew Certified packages
  40. 40. Consortium & AssociationHow to sustain Pharo?How to structure the community?Let us talk about it tomorrow :)
  41. 41. Pharo Consortium@@ Web site @@
  42. 42. Consortium MembersManaged by Inria for nowWho: companies, institutions, user groupsPrivileged access to the core development teamInfluence priorities of the next developmentEngineering support timeJob postsTraining/Conferences special prices
  43. 43. Pharo User Association
  44. 44. Pharo User AssociationManaged by the Pharo AssociationIndividualsPremium (99 Euros)Normal (40 Euros)Join and participate what we do!
  45. 45. Pharo booksPharo by exampletranslated to french, merci!translated to spanish, gracias!translated to japanese, ありがとう!german started
  46. 46. New books are comingDeep into PharoPharo for the EntrepriseIf you want to contribute...A glimpse at VM
  47. 47. The future is what we do!
  48. 48. Every single contribution isimportant
  49. 49. Everybody can helpReporting bugsConfirming bugsWriting testsWriting examplesWriting commentsSimple contributing fixesDiscussion, feedback
  50. 50. Open Pharo SprintsMay 2008 BernJuly 2009 BernOctober 2009 LilleNovember 2009 Buenos AiresMarch 2010 BernMay 2010 Buenos AiresJune 2010 BernJune 2010 BruxellesJuly 2010 LondonSeptember 2010 BarcelonaSeptember 2010 LilleJanuary 2011 LilleJuly 2011 LilleOctober 2011 BruxellesFebruary 2012 BernOctober 2012 BernApril 2012 LilleAugust 2012 GhentOctober 2012 Perto MadrynJanuary 2013 SantiagoFebruary 2013 LilleApril 2013 Lille
  51. 51.
  52. 52. Creating good energy,software quality,learning and having funhttp://pharo.orgJoin Us