3. In a nutshell
Pharo = language + IDE + update mechanism
Pure object-oriented programming language
Dynamically typed and trait-based
Open and flexible environment
Platform for Seaside and Aida/Web web frameworks
4. Pharo?
A progressive, open-source Smalltalk platform
for professional use.
Stable
Bugs fixed fast
But innovative
40. 1 to: 100 do:
[ :i | Transcript show: i ; space]
40
41. 1 to: 100 do:
[ :i | Transcript show: i ; space]
41
42. 1 to: 100 by: 3 do:
[ :i | Transcript show: i ; space]
42
43. 1 to: 100 by: 3 do:
[ :i | Transcript show: i ; space]
43
44. A typical method in Point
Method name Argument Comment
<= aPoint
! "Answer whether the receiver is neither
! below nor to the right of aPoint."
! ^ x <= aPoint x and: [y <= aPoint y]
Return Binary message Block
Instance variable Keyword message
(2@3) <= (5@6) true
45. Creating classes
Send a message to a class (!)
Number subclass: #Complex
! instanceVariableNames: 'real imaginary'
! ...
! category: 'ComplexNumbers'
46. Past....
Started with Squeak Smallltalk
+ Major Cleanups (MVC, eToys)
+ New UI Look / TrueType
+ Tools
+ Block Closures
+ Lots of bugfixes and small improvements
+ Preferences clean up
+ MIT license clean
52. What we dream about
A flexible infrastructure to be able to
reinvent itself
Integration Server....
Better tools
next generation refactoring So that people can
Better infrastructure invent their future
New compilers
First class packages
Minimal core
53. Everybody can help
Reporting bugs
Confirming bugs
Writing tests
Writing examples
Writing comments
Simple contributing fixes
Deep discussion...
54. Process
FIX/
ENHANCEMENT Discussed on
In PharoInbox or Discussed
Changesets on Mailing- BUG
list
Described
Described
BUG Tracker
Discussed on
Other
version
Integrated Rejected
55. Pharo Sprints
May 2008 Bern
July 2009 Bern
October 2009 Lille
November 2009 Buenos Aires
more in the future...
56. Books
by example
Pharo is a modern open-source development environment for the
2nd Volume
classic Smalltalk-80 programming language. Despite being the first
purely object-oriented language and environment, Smalltalk is in
many ways still far ahead of its successors in promoting a vision of an
environment where everything is an object, and anything can change
by example
at run-time.
Pharo by Example, intended for both students and developers, will
in preparation
guide you gently through the Pharo language and environment by
means of a series of examples and exercises.
This book is made available under the Creative Commons Attribution-
ShareAlike 3.0 license. You can either download the PDF for free, or
you can buy a softcover copy from lulu.com.
Additional material is available from Pharo web site at
www.pharo-project.org.
Square Bracket Associates
Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet
with Damien Cassou and Marcus Denker
+,-.*(&'/!/()%!!"#/$/%
*
( &'!()% !!"#$%
57. Thanks Hans Beck
Matthew Fulmer
Hilaire Fernandes
Julian Fitzell David J Pennell
Alexandre Bergel
Tudor Girba Joseph Pelrine
Cedric Beler
Sean Glazier Alain Plantec
Torsten Bergmann
Norbert Hartl Damien Pollet
Matthias Berth
Dale Henrichs Lukas Renggli
Ralph Boland
Reinout Heeck Jorge Ressia
Noury Bouraqadi
Eric Hochmeister Mike Roberts
Brian Brown
Keith Hodges Robert Rothwell
Gwenael Casaccio
Henrik Sperre Johansen David Rotlisberger
Damien Cassou
Pavel Krivanek Michael Rueger
Nicolas Cellier
Adrian Kuhn Bill Schwab
Gary Chambers
Adrian Lienhard Niko Schwarz
Miguel Coba
Andreas Leidig Igor Stasenko
Gabriel Cotelli
Mariano Martinez Peck Francois Stephany
Carlos Crosetti
Dave Mason Serge Stinckwich
Cyrille Delaunay
John McIntosh Mathieu Suen
Simon Denier
Johnaton Meichtry Lawrence Trutter
Marcus Denker
Eliot Miranda Andrew Tween
Ramiro Diaz Trepat
Hernan Morales Durand martin von loewis
Stephane Ducasse
Philipp Marshall Juan Vuletich
Morales Durand Hernan
Jannick Menanteau Steven Wirts
Stephan Eggermont
Yann Monclair Hernan Wilkinson
Luc Fabresse
Oscar Nierstrasz
58. Join Us!
Creating good energy, software quality,
learning and having fun
http://pharo-project.org