SlideShare a Scribd company logo
Pharo 2.0: an exciting
milestone
S. Ducasse and M. Denker
http://www.pharo.org
Thanks SCG, T. Girba and you
Sensus HighOctane
It feels like...
Pharo
Pure object language
Great community of active doers
Powerful
Elegant and fun to program
Living system under your fingers
VM running on MacOSX, linux, Windows
Compiler, Core classes (stream, collections, unicode)
IDE (editor, inspector, debugger, code versioning,...)
UI frameworks (widgets, theme)
FFI
Graphics (soon opengl)
Hyper fast object serializer
Network, HTTP
Web frameworks: seaside, iliad, HTTP2
XML, HTML scraping, Zodiac (HTTPS)
Graphics frameworks: Roassal, Mondrian, EyeSee
Tool builder: Glamour, MetaTools: Moose
Database: DBXTalk, Mongo, Riak, CouchDB
Proxy, Logging
Units (Aconcagua, Units)
Parser: Petit Parser, SmaCC
Mathematical ...
A powerful engine
	 	 	 	 	 	 	 	 to invent our future
Our goal...
Create an ecosystem
where business/innovation
can bloom
We want that **you** can make money with
Pharo. We want to be able to invent
solutions to existing problems.
We want a powerful innovative dynamic
language where we can build our future.
Some Pharo’s success
stories
Seaside.st, SmalltalkHub,
Yesplan.be, netstyle.ch,
Pier, DrGeo, VBridge,
Cmsbox.ch, objectFusion,
T3 Easy from beta9.be,
moosetechnology.org, pinesoft.co.uk,
Airflowing, synectique, miriamTech, 2denker...
We want more success
stories!
Pharo 2.0 -
Apr 2013
(593 updates)
A massive amount of improvements
Since may 2008
Pharo 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)
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.
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
2.0: Compiler
RB AST
Error Node
the foundation for the AST interpreter in 3.0
Networking
New version of Zinc
Zodiac SSL
2.0: System
SystemAnnouncer (first class events no symbol)
RPackage (just plain real object)
Manifest (Package meta-data)
Extensible Command-line
NativeBoost
Ring Meta Model
2.0: System (2)
Fuel instead of ‘smart’ ref streams
FreeType fonts better handling (resources)
Session-aware code
Metacello
FileSystem
DateAndTime refactoring (UTC internally)
2.0: VM
Latests cog builds
Branding
SSLPlugin
FilePlugin enhancements
SocketPlugin fixes
Included libraries: freetype2, cairo
2.0: Cleanups
Removal of FileDirectory
Removal of ReferenceStream and bros
2.0: Infrastructure
ZeroConf script (chapter)
Continuous integration for everything
pharo/core
pharo/contributions (ask if you need)
SmalltalkHub
Vision Document around 2.0
https://gforge.inria.fr/frs/download.php/30434/
PharoVision.pdf
3.1 Towards a small kernel [we have
it now we should think about
migration]
3.2 Towards a verified package
catalog [On the way]
4.1  A Robust and Extensible System
Events [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 for
3.0]
4.4 UI Canvas for Zoomable Interface
[Waiting for TextModel and 3.0]
4.5 Bootstrap of the Core [Done
should be integrated in 3.0]
4.6 Fully parametrized compiler tool
chain [Start with Opal in 3.0]
4.7 Packages as real objects [in 2.0
and will improve in 3.0]
4.8 Package Meta-Data [Done]
4.9 Less Model Clutter and
Duplication [Started in 2.0 will be
accentuated 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 SystemChangeNotifier
replacement [Done]
4.14 Cleaning Morphic [To be
continued in 3.0]
5.2 VMs identification and regression
testing [On the way]
5.3 One Unified FFI framework
[before June]
We want to improve the
complete system!
Not just a nice library on top
of ...
Of course not everything is
perfect
Retrospective analysis to
make progress
But we believe in non linear
growth
Community Ongoing Work
Better 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)
New Process
To dynamise and stabilize a long cycle
Chunked per month
Retrospective analysis
Continue to have a Summer release and an alpha
Glimpse at 3.0
OPAL for real
Athens
Integration process using metacello!
UIPainter
Remove PackageInfo for real
Validated packages
Distributions: towards a
certified 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.
Package certification
Packages should be more self contained
Tests
LintRules
Meta data
Run and automatically certified
Automated
Validation
Configs
DistributionInbox
Configs
Distribution
Configs
BrokenDistribution
Process
You use Metacello!
You publish in your repo!
When you want you can release code to a distribution
All the code then is recursively copied to the
distribution space
All the tests and quality rules are checked
People use your code but with a certain level of
confidence :)
MyProject
ConfigOf
MyProject
MyCore
MyUtils
MyTests
Con
figs
13Distrib
Inbox
13Distrib
13Distrib
Broken
Con
figs
Con
figs
Con
figs
14Distrib
Inbox
14Distrib
14Distrib
Broken
Con
figs
Con
figs
Con
figs
15Distrib
Inbox
15Distrib
15Distrib
Broken
Con
figs
Con
figs
Core and ...
+ SpecificationsCore
Certified
Packages
Specific
Images
Certified
Packages
loads
produces
Core
Spec
Certified packages
Changes
New Core
New Spec
New Certified packages
Consortium & Association
How to sustain Pharo?
How to structure the community?
Let us talk about it tomorrow :)
@@Consortium Web Site@@
Pharo books
Pharo by example
translated to french, merci!
translated to spanish, gracias!
japanese, german started
New books are coming
Deep into Pharo
Pharo for the Entreprise
If you want to contribute...
A glimpse at VM
We thank all the contributors, we know
who you are :)
Thanks SCG & T. Girba for this cool
conference
Inria and RMoD for their continuous
support

More Related Content

Viewers also liked

What it takes to manage Lake Okeechobee
What it takes to manage Lake OkeechobeeWhat it takes to manage Lake Okeechobee
What it takes to manage Lake OkeechobeeChristin Erazo
 
Ciaran Naomhan
Ciaran NaomhanCiaran Naomhan
Ciaran Naomhan
Elghinn
 
Repco home finance q4 fy13 earnings
Repco home finance q4 fy13 earningsRepco home finance q4 fy13 earnings
Repco home finance q4 fy13 earnings
Purv
 
Logistiscom 2014 - ADEW consulting group (UEH)
Logistiscom 2014 - ADEW consulting group (UEH)Logistiscom 2014 - ADEW consulting group (UEH)
Logistiscom 2014 - ADEW consulting group (UEH)Long Quách Toàn
 
7. Multithreading
7. Multithreading7. Multithreading
7. Multithreading
Nilesh Dalvi
 
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Thư Viện Số
 
Alam mo ba na (Mitolohiya ng Rome) Pagsasanay
Alam mo ba na (Mitolohiya ng Rome) PagsasanayAlam mo ba na (Mitolohiya ng Rome) Pagsasanay
Alam mo ba na (Mitolohiya ng Rome) Pagsasanay
Jenie Rivera
 
2013 lecture-02-syntax shortnewcut
2013 lecture-02-syntax shortnewcut2013 lecture-02-syntax shortnewcut
2013 lecture-02-syntax shortnewcut
Pharo
 
PharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus DenkerPharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus Denker
Pharo
 
2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours
Pharo
 
Generic VSC and Low Level Switching Control Models for Offline Simulation of ...
Generic VSC and Low Level Switching Control Models for Offline Simulation of ...Generic VSC and Low Level Switching Control Models for Offline Simulation of ...
Generic VSC and Low Level Switching Control Models for Offline Simulation of ...
Luigi Vanfretti
 
2010 pharo-esug-final
2010 pharo-esug-final2010 pharo-esug-final
2010 pharo-esug-final
Pharo
 
Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...
Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...
Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...Sofya Latkina
 
AGCS @ Le Bourget 2013
AGCS @ Le Bourget 2013AGCS @ Le Bourget 2013
AGCS @ Le Bourget 2013
AGCSCommunications
 
Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...
Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...
Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...
Hitachi Business Finance
 
Chapter1
Chapter1Chapter1
Chapter1
Ong Lada
 
5. Inheritances, Packages and Intefaces
5. Inheritances, Packages and Intefaces5. Inheritances, Packages and Intefaces
5. Inheritances, Packages and Intefaces
Nilesh Dalvi
 
6. Exception Handling
6. Exception Handling6. Exception Handling
6. Exception Handling
Nilesh Dalvi
 
Templates
TemplatesTemplates
Templates
Nilesh Dalvi
 

Viewers also liked (20)

What it takes to manage Lake Okeechobee
What it takes to manage Lake OkeechobeeWhat it takes to manage Lake Okeechobee
What it takes to manage Lake Okeechobee
 
Ciaran Naomhan
Ciaran NaomhanCiaran Naomhan
Ciaran Naomhan
 
Repco home finance q4 fy13 earnings
Repco home finance q4 fy13 earningsRepco home finance q4 fy13 earnings
Repco home finance q4 fy13 earnings
 
Logistiscom 2014 - ADEW consulting group (UEH)
Logistiscom 2014 - ADEW consulting group (UEH)Logistiscom 2014 - ADEW consulting group (UEH)
Logistiscom 2014 - ADEW consulting group (UEH)
 
7. Multithreading
7. Multithreading7. Multithreading
7. Multithreading
 
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
 
Alam mo ba na (Mitolohiya ng Rome) Pagsasanay
Alam mo ba na (Mitolohiya ng Rome) PagsasanayAlam mo ba na (Mitolohiya ng Rome) Pagsasanay
Alam mo ba na (Mitolohiya ng Rome) Pagsasanay
 
2013 lecture-02-syntax shortnewcut
2013 lecture-02-syntax shortnewcut2013 lecture-02-syntax shortnewcut
2013 lecture-02-syntax shortnewcut
 
PharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus DenkerPharoDAYS 2015: Pharo Status - by Markus Denker
PharoDAYS 2015: Pharo Status - by Markus Denker
 
2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours2013-Smalltalks-conference: Pharo is Yours
2013-Smalltalks-conference: Pharo is Yours
 
History of tcp
History of tcpHistory of tcp
History of tcp
 
Generic VSC and Low Level Switching Control Models for Offline Simulation of ...
Generic VSC and Low Level Switching Control Models for Offline Simulation of ...Generic VSC and Low Level Switching Control Models for Offline Simulation of ...
Generic VSC and Low Level Switching Control Models for Offline Simulation of ...
 
2010 pharo-esug-final
2010 pharo-esug-final2010 pharo-esug-final
2010 pharo-esug-final
 
Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...
Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...
Вспомогательная система для борьбы с аномалиями слухового восприятия - презен...
 
AGCS @ Le Bourget 2013
AGCS @ Le Bourget 2013AGCS @ Le Bourget 2013
AGCS @ Le Bourget 2013
 
Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...
Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...
Cash is King: How To Manage Cash Flow & Increase Working Capital to Support B...
 
Chapter1
Chapter1Chapter1
Chapter1
 
5. Inheritances, Packages and Intefaces
5. Inheritances, Packages and Intefaces5. Inheritances, Packages and Intefaces
5. Inheritances, Packages and Intefaces
 
6. Exception Handling
6. Exception Handling6. Exception Handling
6. Exception Handling
 
Templates
TemplatesTemplates
Templates
 

Similar to 2013 pharo conference

Pharo Update
Pharo UpdatePharo Update
Pharo Update
ESUG
 
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
Pharo
 
Pharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting MilestonePharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting Milestone
Marcus Denker
 
2013 lecture-01-introduction
2013 lecture-01-introduction2013 lecture-01-introduction
2013 lecture-01-introduction
Pharo
 
Analyzing data with docker v4
Analyzing data with docker   v4Analyzing data with docker   v4
Analyzing data with docker v4
Andreas Dewes
 
Introduction to Streaming Distributed Processing with Storm
Introduction to Streaming Distributed Processing with StormIntroduction to Streaming Distributed Processing with Storm
Introduction to Streaming Distributed Processing with Storm
Brandon O'Brien
 
Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
Angelo Corsaro
 
Fosdem 13: Pharo 2.0 update
Fosdem 13: Pharo 2.0 updateFosdem 13: Pharo 2.0 update
Fosdem 13: Pharo 2.0 update
Marcus Denker
 
2011 Pharo Roadmap explained
2011 Pharo Roadmap explained2011 Pharo Roadmap explained
2011 Pharo Roadmap explained
Pharo
 
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
BigDataEverywhere
 
Ceph Day Amsterdam 2015 - Ceph Ecosystem Update
Ceph Day Amsterdam 2015 - Ceph Ecosystem Update Ceph Day Amsterdam 2015 - Ceph Ecosystem Update
Ceph Day Amsterdam 2015 - Ceph Ecosystem Update
Ceph Community
 
Ceph Day SF 2015 - Community Update
Ceph Day SF 2015 - Community Update Ceph Day SF 2015 - Community Update
Ceph Day SF 2015 - Community Update
Ceph Community
 
BonAHA framework - IEEE CCNC 2009
BonAHA framework - IEEE CCNC 2009BonAHA framework - IEEE CCNC 2009
BonAHA framework - IEEE CCNC 2009
Suman Srinivasan
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
 
LO-PHI: Low-Observable Physical Host Instrumentation for Malware Analysis
LO-PHI: Low-Observable Physical Host Instrumentation for Malware AnalysisLO-PHI: Low-Observable Physical Host Instrumentation for Malware Analysis
LO-PHI: Low-Observable Physical Host Instrumentation for Malware Analysis
Pietro De Nicolao
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Evan Chan
 
NoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch Analysis
NoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch AnalysisNoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch Analysis
NoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch Analysis
Helena Edelson
 
Cyberinfrastructure and Applications Overview: Howard University June22
Cyberinfrastructure and Applications Overview: Howard University June22Cyberinfrastructure and Applications Overview: Howard University June22
Cyberinfrastructure and Applications Overview: Howard University June22
marpierc
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.io
Günter Obiltschnig
 
Malstone KDD 2010
Malstone KDD 2010Malstone KDD 2010
Malstone KDD 2010
Robert Grossman
 

Similar to 2013 pharo conference (20)

Pharo Update
Pharo UpdatePharo Update
Pharo Update
 
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
 
Pharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting MilestonePharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting Milestone
 
2013 lecture-01-introduction
2013 lecture-01-introduction2013 lecture-01-introduction
2013 lecture-01-introduction
 
Analyzing data with docker v4
Analyzing data with docker   v4Analyzing data with docker   v4
Analyzing data with docker v4
 
Introduction to Streaming Distributed Processing with Storm
Introduction to Streaming Distributed Processing with StormIntroduction to Streaming Distributed Processing with Storm
Introduction to Streaming Distributed Processing with Storm
 
Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
Fosdem 13: Pharo 2.0 update
Fosdem 13: Pharo 2.0 updateFosdem 13: Pharo 2.0 update
Fosdem 13: Pharo 2.0 update
 
2011 Pharo Roadmap explained
2011 Pharo Roadmap explained2011 Pharo Roadmap explained
2011 Pharo Roadmap explained
 
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
 
Ceph Day Amsterdam 2015 - Ceph Ecosystem Update
Ceph Day Amsterdam 2015 - Ceph Ecosystem Update Ceph Day Amsterdam 2015 - Ceph Ecosystem Update
Ceph Day Amsterdam 2015 - Ceph Ecosystem Update
 
Ceph Day SF 2015 - Community Update
Ceph Day SF 2015 - Community Update Ceph Day SF 2015 - Community Update
Ceph Day SF 2015 - Community Update
 
BonAHA framework - IEEE CCNC 2009
BonAHA framework - IEEE CCNC 2009BonAHA framework - IEEE CCNC 2009
BonAHA framework - IEEE CCNC 2009
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
LO-PHI: Low-Observable Physical Host Instrumentation for Malware Analysis
LO-PHI: Low-Observable Physical Host Instrumentation for Malware AnalysisLO-PHI: Low-Observable Physical Host Instrumentation for Malware Analysis
LO-PHI: Low-Observable Physical Host Instrumentation for Malware Analysis
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
 
NoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch Analysis
NoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch AnalysisNoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch Analysis
NoLambda: Combining Streaming, Ad-Hoc, Machine Learning and Batch Analysis
 
Cyberinfrastructure and Applications Overview: Howard University June22
Cyberinfrastructure and Applications Overview: Howard University June22Cyberinfrastructure and Applications Overview: Howard University June22
Cyberinfrastructure and Applications Overview: Howard University June22
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.io
 
Malstone KDD 2010
Malstone KDD 2010Malstone KDD 2010
Malstone KDD 2010
 

More from Pharo

Yesplan: 10 Years later
Yesplan: 10 Years laterYesplan: 10 Years later
Yesplan: 10 Years later
Pharo
 
Object-Centric Debugging: a preview
Object-Centric Debugging: a previewObject-Centric Debugging: a preview
Object-Centric Debugging: a preview
Pharo
 
The future of testing in Pharo
The future of testing in PharoThe future of testing in Pharo
The future of testing in Pharo
Pharo
 
Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI
Pharo
 
UI Testing with Spec
 UI Testing with Spec UI Testing with Spec
UI Testing with Spec
Pharo
 
Pharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alphaPharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alpha
Pharo
 
PHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous IntegrationPHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous Integration
Pharo
 
Easy REST with OpenAPI
Easy REST with OpenAPIEasy REST with OpenAPI
Easy REST with OpenAPI
Pharo
 
Comment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowlComment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowl
Pharo
 
apart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorksapart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorks
Pharo
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
Pharo
 
A living programming environment for blockchain
A living programming environment for blockchainA living programming environment for blockchain
A living programming environment for blockchain
Pharo
 
Raspberry and Pharo
Raspberry and PharoRaspberry and Pharo
Raspberry and Pharo
Pharo
 
Welcome: PharoDays 2017
Welcome: PharoDays 2017Welcome: PharoDays 2017
Welcome: PharoDays 2017
Pharo
 
Pharo 6
Pharo 6Pharo 6
Pharo 6
Pharo
 
Robotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with PharoRobotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with Pharo
Pharo
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
Pharo
 
Smack: Behind the Refactorings
Smack: Behind the RefactoringsSmack: Behind the Refactorings
Smack: Behind the Refactorings
Pharo
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM Performance
Pharo
 
Git with Style
Git with StyleGit with Style
Git with Style
Pharo
 

More from Pharo (20)

Yesplan: 10 Years later
Yesplan: 10 Years laterYesplan: 10 Years later
Yesplan: 10 Years later
 
Object-Centric Debugging: a preview
Object-Centric Debugging: a previewObject-Centric Debugging: a preview
Object-Centric Debugging: a preview
 
The future of testing in Pharo
The future of testing in PharoThe future of testing in Pharo
The future of testing in Pharo
 
Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI
 
UI Testing with Spec
 UI Testing with Spec UI Testing with Spec
UI Testing with Spec
 
Pharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alphaPharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alpha
 
PHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous IntegrationPHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous Integration
 
Easy REST with OpenAPI
Easy REST with OpenAPIEasy REST with OpenAPI
Easy REST with OpenAPI
 
Comment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowlComment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowl
 
apart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorksapart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorks
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
 
A living programming environment for blockchain
A living programming environment for blockchainA living programming environment for blockchain
A living programming environment for blockchain
 
Raspberry and Pharo
Raspberry and PharoRaspberry and Pharo
Raspberry and Pharo
 
Welcome: PharoDays 2017
Welcome: PharoDays 2017Welcome: PharoDays 2017
Welcome: PharoDays 2017
 
Pharo 6
Pharo 6Pharo 6
Pharo 6
 
Robotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with PharoRobotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with Pharo
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
 
Smack: Behind the Refactorings
Smack: Behind the RefactoringsSmack: Behind the Refactorings
Smack: Behind the Refactorings
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM Performance
 
Git with Style
Git with StyleGit with Style
Git with Style
 

Recently uploaded

GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 

Recently uploaded (20)

GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 

2013 pharo conference

  • 1. Pharo 2.0: an exciting milestone S. Ducasse and M. Denker http://www.pharo.org
  • 2. Thanks SCG, T. Girba and you
  • 5. Pharo Pure object language Great community of active doers Powerful Elegant and fun to program Living system under your fingers
  • 6. VM running on MacOSX, linux, Windows Compiler, Core classes (stream, collections, unicode) IDE (editor, inspector, debugger, code versioning,...) UI frameworks (widgets, theme) FFI Graphics (soon opengl) Hyper fast object serializer Network, HTTP
  • 7. Web frameworks: seaside, iliad, HTTP2 XML, HTML scraping, Zodiac (HTTPS) Graphics frameworks: Roassal, Mondrian, EyeSee Tool builder: Glamour, MetaTools: Moose Database: DBXTalk, Mongo, Riak, CouchDB Proxy, Logging Units (Aconcagua, Units) Parser: Petit Parser, SmaCC Mathematical ...
  • 8. A powerful engine to invent our future
  • 10. Create an ecosystem where business/innovation can bloom
  • 11. We want that **you** can make money with Pharo. We want to be able to invent solutions to existing problems. We want a powerful innovative dynamic language where we can build our future.
  • 12. Some Pharo’s success stories Seaside.st, SmalltalkHub, Yesplan.be, netstyle.ch, Pier, DrGeo, VBridge, Cmsbox.ch, objectFusion, T3 Easy from beta9.be, moosetechnology.org, pinesoft.co.uk, Airflowing, synectique, miriamTech, 2denker...
  • 13. We want more success stories!
  • 14. Pharo 2.0 - Apr 2013 (593 updates) A massive amount of improvements
  • 15. Since may 2008 Pharo 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. 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. 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. 2.0: Compiler RB AST Error Node the foundation for the AST interpreter in 3.0
  • 19. Networking New version of Zinc Zodiac SSL
  • 20. 2.0: System SystemAnnouncer (first class events no symbol) RPackage (just plain real object) Manifest (Package meta-data) Extensible Command-line NativeBoost Ring Meta Model
  • 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. 2.0: VM Latests cog builds Branding SSLPlugin FilePlugin enhancements SocketPlugin fixes Included libraries: freetype2, cairo
  • 23. 2.0: Cleanups Removal of FileDirectory Removal of ReferenceStream and bros
  • 24. 2.0: Infrastructure ZeroConf script (chapter) Continuous integration for everything pharo/core pharo/contributions (ask if you need) SmalltalkHub
  • 25. Vision Document around 2.0 https://gforge.inria.fr/frs/download.php/30434/ PharoVision.pdf 3.1 Towards a small kernel [we have it now we should think about migration] 3.2 Towards a verified package catalog [On the way] 4.1  A Robust and Extensible System Events [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 for 3.0] 4.4 UI Canvas for Zoomable Interface [Waiting for TextModel and 3.0] 4.5 Bootstrap of the Core [Done should be integrated in 3.0] 4.6 Fully parametrized compiler tool chain [Start with Opal in 3.0] 4.7 Packages as real objects [in 2.0 and will improve in 3.0] 4.8 Package Meta-Data [Done] 4.9 Less Model Clutter and Duplication [Started in 2.0 will be accentuated 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 SystemChangeNotifier replacement [Done] 4.14 Cleaning Morphic [To be continued in 3.0] 5.2 VMs identification and regression testing [On the way] 5.3 One Unified FFI framework [before June]
  • 26. We want to improve the complete system!
  • 27. Not just a nice library on top of ...
  • 28. Of course not everything is perfect
  • 30. But we believe in non linear growth
  • 31. Community Ongoing Work Better 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. New Process To dynamise and stabilize a long cycle Chunked per month Retrospective analysis Continue to have a Summer release and an alpha
  • 33. Glimpse at 3.0 OPAL for real Athens Integration process using metacello! UIPainter Remove PackageInfo for real Validated packages
  • 34.
  • 35. Distributions: towards a certified 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.
  • 36. Package certification Packages should be more self contained Tests LintRules Meta data Run and automatically certified
  • 38. Process You use Metacello! You publish in your repo! When you want you can release code to a distribution All the code then is recursively copied to the distribution space All the tests and quality rules are checked People use your code but with a certain level of confidence :)
  • 40. Core and ... + SpecificationsCore Certified Packages Specific Images Certified Packages loads produces Core Spec Certified packages Changes New Core New Spec New Certified packages
  • 41. Consortium & Association How to sustain Pharo? How to structure the community? Let us talk about it tomorrow :)
  • 43. Pharo books Pharo by example translated to french, merci! translated to spanish, gracias! japanese, german started
  • 44. New books are coming Deep into Pharo Pharo for the Entreprise If you want to contribute... A glimpse at VM
  • 45.
  • 46. We thank all the contributors, we know who you are :) Thanks SCG & T. Girba for this cool conference Inria and RMoD for their continuous support