T H E P H A R O E V O L U T I O N
E S T E B A N
L O R E N Z A N O
T H E P H A R O F I R E M A N
W H AT I S T H E P H A R O
V I S I O N ?
W H AT I S O U R P L A C E ?
• Modern applications demands different approaches.
• What are we good for?
W H AT A R E W E G O O D F O R ?
• Really. Why people should prefer us over “Hyped
language X”?
• Because we are good in dynamic contexts.
• And because we provide the best damn developing
experience in the world!
Y E A H , R I G H T
• We still dominate the “live environment” experience.
• … and the super-hot debugger
• … and the inspection/modifying tools (inspectors,
browsers, etc.)
• … and a long etc.
Y E A H , R I G H T ?
• Tools can be cool, but they are based in 1995 technology (who
was also based in 1981 technology)
• BitBlt… Really? Today? Then say goodbye to modern
visualisation tools.
• Editor is not good (“okish” for editing small methods)
• Mouse based UI
• No good CVS management (No, Monticello is not enough)
• … and a long etc.
A N D A N I D E F O R D O I N G W H AT ?
• Web?
• Desktop?
• Cloud?
• Mobile?
• All of them?
T H E A X I S O F D E AT H
Desktop Web
Mobile
Cloud
D E S K T O P V S . W E B
• A hyped new version of the eternal debate client-
server (Seems to be decreasing this days).
• We have good web solutions
• We need better desktop experience
M O B I L E V S . C L O U D
• Like quantum mechanics vs. relativism
• We need an “Unified Field Theory”
• We have certain advantages for both
T H E M A S T E R P L A N
• Small steps, because there is no useless contribution.
• “Random” changes saw from a distance reveals
perspective.
• Some times you need task forces oriented to a goal
(me, for example :P)
• Synergy!
D E S K T O P
• Athens: Vectorial graphics
• Bloc/Brick to replace Morphic (but still same
paradigm)
• OSWindow: Multiple windows system (yes, finally!)
• Touch events, gestures
• Lots of changes “behind the scenes”
D E S K T O P : M O D E R N T O O L S
• GTools (But also basic tools)
• Rubric editor
• Git tools
• Others:
• We want to integrate PetitParser (and recover Helvetia, maybe?)
• We want to integrate a clean version of Magritte
• We want to integrate also Pillar
I M A G E
• Bootstrap
• Modularisation
• Command-line improvements
• Coral
• More needed
• Custom images for different purposes
I M A G E C O N T R O L
• Slots
• Reflectivity
I M A G E R E I F I C AT I O N
We want to reify the concept of Image
Pharo new.
Pharo fork.
Pharo forkAt: ‘localhost:5555’.
pharo := Pharo fork.
pharo
do: [ … ]
whenFinish: [ :result | … ]
V I R T U A L M A C H I N E
• Spur 32bits (Soon™)
• Spur 64bits
• Sista adaptive recompiler
• ARM Spur
• Threaded VM
• Event driven VM
N O M A N I S A N I S L A N D
• FFI, NBFFI, Alien, uFFI
• Our strategy here:
• One layer to rule them all (now NB, tomorrow FFI
and finally, when finished, uFFI)
T H E E C O S Y S T E M
• Of course we cannot (and do not want) create an ecosystem by
ourselves. That’s in the hands of the community.
• But we can provide the tools to make it easy:
• CI (supported by INRIA)
• Catalog
• PharoCloud.com (is a community project, you need to check
it)
• And we clearly need to iterate over this :)
C O N C L U S I O N S
• Improve steady and constant
• Plan the next step with an eye farther
• Adapt and prevail :)
T H E P H A R O
E V O L U T I O N
E S T E B A N L O R E N Z A N O

The Pharo Evolution

  • 1.
    T H EP H A R O E V O L U T I O N
  • 2.
    E S TE B A N L O R E N Z A N O T H E P H A R O F I R E M A N
  • 3.
    W H ATI S T H E P H A R O V I S I O N ?
  • 15.
    W H ATI S O U R P L A C E ? • Modern applications demands different approaches. • What are we good for?
  • 16.
    W H ATA R E W E G O O D F O R ? • Really. Why people should prefer us over “Hyped language X”? • Because we are good in dynamic contexts. • And because we provide the best damn developing experience in the world!
  • 17.
    Y E AH , R I G H T • We still dominate the “live environment” experience. • … and the super-hot debugger • … and the inspection/modifying tools (inspectors, browsers, etc.) • … and a long etc.
  • 18.
    Y E AH , R I G H T ? • Tools can be cool, but they are based in 1995 technology (who was also based in 1981 technology) • BitBlt… Really? Today? Then say goodbye to modern visualisation tools. • Editor is not good (“okish” for editing small methods) • Mouse based UI • No good CVS management (No, Monticello is not enough) • … and a long etc.
  • 19.
    A N DA N I D E F O R D O I N G W H AT ? • Web? • Desktop? • Cloud? • Mobile? • All of them?
  • 20.
    T H EA X I S O F D E AT H Desktop Web Mobile Cloud
  • 21.
    D E SK T O P V S . W E B • A hyped new version of the eternal debate client- server (Seems to be decreasing this days). • We have good web solutions • We need better desktop experience
  • 22.
    M O BI L E V S . C L O U D • Like quantum mechanics vs. relativism • We need an “Unified Field Theory” • We have certain advantages for both
  • 23.
    T H EM A S T E R P L A N • Small steps, because there is no useless contribution. • “Random” changes saw from a distance reveals perspective. • Some times you need task forces oriented to a goal (me, for example :P) • Synergy!
  • 24.
    D E SK T O P • Athens: Vectorial graphics • Bloc/Brick to replace Morphic (but still same paradigm) • OSWindow: Multiple windows system (yes, finally!) • Touch events, gestures • Lots of changes “behind the scenes”
  • 25.
    D E SK T O P : M O D E R N T O O L S • GTools (But also basic tools) • Rubric editor • Git tools • Others: • We want to integrate PetitParser (and recover Helvetia, maybe?) • We want to integrate a clean version of Magritte • We want to integrate also Pillar
  • 26.
    I M AG E • Bootstrap • Modularisation • Command-line improvements • Coral • More needed • Custom images for different purposes
  • 27.
    I M AG E C O N T R O L • Slots • Reflectivity
  • 28.
    I M AG E R E I F I C AT I O N We want to reify the concept of Image Pharo new. Pharo fork. Pharo forkAt: ‘localhost:5555’. pharo := Pharo fork. pharo do: [ … ] whenFinish: [ :result | … ]
  • 29.
    V I RT U A L M A C H I N E • Spur 32bits (Soon™) • Spur 64bits • Sista adaptive recompiler • ARM Spur • Threaded VM • Event driven VM
  • 30.
    N O MA N I S A N I S L A N D • FFI, NBFFI, Alien, uFFI • Our strategy here: • One layer to rule them all (now NB, tomorrow FFI and finally, when finished, uFFI)
  • 31.
    T H EE C O S Y S T E M • Of course we cannot (and do not want) create an ecosystem by ourselves. That’s in the hands of the community. • But we can provide the tools to make it easy: • CI (supported by INRIA) • Catalog • PharoCloud.com (is a community project, you need to check it) • And we clearly need to iterate over this :)
  • 32.
    C O NC L U S I O N S • Improve steady and constant • Plan the next step with an eye farther • Adapt and prevail :)
  • 33.
    T H EP H A R O E V O L U T I O N E S T E B A N L O R E N Z A N O