I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible...
Transcript of I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible...
![Page 2: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/2.jpg)
yo tengo un sueño ... :)
![Page 3: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/3.jpg)
S.DucasseLISP ....1996: discover Smalltalk
1998: discover Squeak
~2000: harvester for 3.xx, 3.6, 3.7, started to clean Squeak
Responsible for Squeak3.9
2008: Pharo :)
Book author: Squeak (fr), Squeak by example (eng, fr), Pharo by example (eng)
Translated Etoy book and video in french
![Page 4: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/4.jpg)
I dreamed about ...
![Page 5: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/5.jpg)
A vehicule to reinvent the future
![Page 6: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/6.jpg)
Let’s stop to think that we are that cool!
![Page 7: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/7.jpg)
Python, Ruby, Groovy, Lua...
Erlang...
![Page 8: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/8.jpg)
Let’s stop to live in a museum!
![Page 9: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/9.jpg)
When do we really build on top of giant shoulders? Thanks Dan and Alan. Now...
I want more!
![Page 10: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/10.jpg)
We should be able to invent our future
![Page 11: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/11.jpg)
Where is Smalltalk innovation?
![Page 12: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/12.jpg)
Smalltalk as the language to define other languages
Advanced and stronger MopsWe deserve more than doesNotUnderstand:
New ways of defining languages
Domain specific language support
New generation of meta compilers
![Page 13: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/13.jpg)
Software Engineering
Tests: which ones should I fix first?
Continuous test running
Smoother refactorings and code manipulation
Continuous integration / Extreme integration
Better Lint Rules / Domain specific lint rules
Bug tracking
![Page 14: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/14.jpg)
UI
Multitouch support
New UI
When will we be able to reinvent UI
Cairo and others?
New IDEs
![Page 15: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/15.jpg)
Other
Security?
Micro modularity
Advanced runtime
Scripting syntax!
![Page 16: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/16.jpg)
VM/Languages
Multiple cores?
Open VMs?
New generation JITs?
Immutable
![Page 17: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/17.jpg)
They show us the way
ObjectPeople (Dave Thomas and others)
Resilient (128K) Smalltalk on hdware
S#: Dave Simmons 90ms boot fully embeddable in C Smalltalk
Dave Thomas Sapphire’s vision (ESUG@douai)TTY + Image as a cache
![Page 18: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/18.jpg)
There is some hope...
Seaside
Reflectivity, NewCompiler, AOSTA?
Monticello, O’Meta, PetitParser, Helvetia, Glamour, Mondrian, Traits...
Newspeak, Pepsi/Coke....
![Page 19: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/19.jpg)
When do we make sure that we could
invent Smalltalk 3000?
first class instance variables, modules?, immutability bits?, visibility?, image as cache?
![Page 20: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/20.jpg)
We need a new state of mind
![Page 21: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/21.jpg)
We are trying...
![Page 22: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/22.jpg)
http://www.pharo-project.org
A clean, innovative, open-source Smalltalk
![Page 23: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/23.jpg)
Pharo?A progressive, open-source Smalltalk platform
for professional use.
StableBugs fixed fastBut innovative
![Page 24: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/24.jpg)
Pharo?
A flexible environment to support the innovation in/of Smalltalk.
StableBugs fixed fastBut innovative
![Page 25: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/25.jpg)
![Page 26: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/26.jpg)
Pier
![Page 27: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/27.jpg)
Pier
![Page 28: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/28.jpg)
iPhone
![Page 29: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/29.jpg)
Smalltalk with OO-Database
Pharo is the IDE
![Page 30: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/30.jpg)
Companies
netstyle.ch
cmsbox.com
Pinesoft
Smallworks
Agilitic.be
Inceptive.be
10Pines
GemStone
SWEng
Denker2Denker
...
![Page 31: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/31.jpg)
Universities
Annecy
Lugano
Bern
Douai
Lille
Santiago
Bruxelles
Limoge
...
![Page 32: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/32.jpg)
A Simple and Pure Model
Everything is an object instance of a class
Public methods
Protected attributes
Single inheritance
![Page 33: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/33.jpg)
Everything happens by sending messages to objects 1000 factorial / 999 factorial (Smalltalk isCool) ifTrue: [‘Yeahh’] #(1 -2 3) collect: [ :each | each abs ]
![Page 34: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/34.jpg)
Running Pharo
![Page 35: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/35.jpg)
Do it, print it
You can evaluateany expression
anywherein Pharo
![Page 36: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/36.jpg)
Standard development tools
![Page 37: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/37.jpg)
Standard development tools
![Page 38: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/38.jpg)
Debugger, explorer, inspector
![Page 39: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/39.jpg)
3 kinds of messages
Unary messages
Binary messages
Keywords messages
5 factorialTranscript cr
3 + 4
3 raisedTo: 10 modulo: 5
Transcript show: 'hello world'
![Page 40: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/40.jpg)
From Java to Smalltalk
postman.send(mail,recipient);
![Page 41: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/41.jpg)
Removing
postman.send(mail,recipient);
![Page 42: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/42.jpg)
Removing unnecessary
postman send mail recipient
![Page 43: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/43.jpg)
But without losing information
postman send mail to recipient
![Page 44: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/44.jpg)
postman send: mail to: recipientpostman.send(mail,recipient);
![Page 45: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/45.jpg)
(Msg) > Unary > Binary > Keywords
from left to right
No mathematical precedence
Precedence
![Page 46: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/46.jpg)
S.Ducasse
RMod
2 + 3 squared
46
![Page 47: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/47.jpg)
S.Ducasse
RMod
2 + 3 squared> 2 + 9
47
![Page 48: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/48.jpg)
S.Ducasse
RMod
2 + 3 squared> 2 + 9> 11
48
![Page 49: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/49.jpg)
S.Ducasse
RMod
Color gray - Color white = Color black
49
![Page 50: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/50.jpg)
S.Ducasse
RMod
Color gray - Color white = Color black
50
![Page 51: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/51.jpg)
S.Ducasse
RMod
Color gray - Color white = Color black> aColor = Color black
51
![Page 52: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/52.jpg)
S.Ducasse
RMod
Color gray - Color white = Color black> aColor = Color black> true
52
![Page 53: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/53.jpg)
| p pen |p := [email protected] := Pen new.pen up.pen goto: p; down; goto: p+p
Statement and cascades
Temporary variablesStatement
Cascade
![Page 54: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/54.jpg)
S.Ducasse
RMod
Block Closures: aka Function
fct(x) = x * x + x
|fct|fct:= [:x | x * x + x].
54
![Page 55: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/55.jpg)
S.Ducasse
RMod
Function Application
fct (2) = 6fct (20) = 420
fct value: 2 > 6fct value: 20 > 420[:x | x * x + x] value: 2>6[:x | x * x + x] value: 20>420
55
![Page 56: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/56.jpg)
S.Ducasse
RMod
#(15 10 19 68) do: [:i | Transcript show: i ; cr ]
56
![Page 57: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/57.jpg)
S.Ducasse
RMod
#(15 10 19 68) do: [ :i | Transcript show: i ; cr ]
57
![Page 58: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/58.jpg)
S.Ducasse
RMod
1 to: 100 do: [ :i | Transcript show: i ; space]
58
![Page 59: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/59.jpg)
S.Ducasse
RMod
1 to: 100 do: [ :i | Transcript show: i ; space]
59
![Page 60: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/60.jpg)
S.Ducasse
RMod
1 to: 100 by: 3 do: [ :i | Transcript show: i ; space]
60
![Page 61: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/61.jpg)
S.Ducasse
RMod
1 to: 100 by: 3 do: [ :i | Transcript show: i ; space]
61
![Page 62: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/62.jpg)
<= aPoint ! "Answer whether the receiver is neither! below nor to the right of aPoint."
! ^ x <= aPoint x and: [y <= aPoint y]
A typical method in Point
Method name Argument Comment
Return Binary messageKeyword messageInstance variable
Block
(2@3) <= (5@6) true
![Page 63: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/63.jpg)
Creating classes
Send a message to a class (!)
Number subclass: #Complex! instanceVariableNames: 'real imaginary'! ...! category: 'ComplexNumbers'
![Page 64: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/64.jpg)
1.0+ Major Cleanups (MVC, eToys)+ New UI Look / TrueType+ Tools+ Block Closures (thanks Qwak)+ Lots of bugfixes and small improvements+ Preferences clean up+ MIT license clean
![Page 65: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/65.jpg)
Update ~1200 Bug-reports closed
470 Updates
Release Candidate: October 2009
![Page 66: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/66.jpg)
Future
![Page 67: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/67.jpg)
...cleaner
started to run SmallLint... and fix
![Page 68: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/68.jpg)
...better
I.1 has a lot of fixes and improvements
![Page 69: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/69.jpg)
...smaller
small image is 2 Mb
![Page 70: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/70.jpg)
...faster
![Page 71: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/71.jpg)
Everybody can help
Reporting bugsConfirming bugsWriting testsWriting examplesWriting commentsSimple contributing fixesDeep discussion...
![Page 72: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/72.jpg)
ProcessFIX/
ENHANCEMENTIn PharoInbox or
Changesets
Discussed on Mailing-
list
BUG Tracker
Integrated Rejected
BUG
Discussed on
Discussed on
Described
Described
Other version
![Page 73: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/73.jpg)
Pharo SprintsMay 2008 BernJuly 2009 BernOctober 2009 LilleNovember 2009 Buenos Ares
Free access
![Page 74: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/74.jpg)
Books
Pharo by example vol. 1 is out
Pharo by example vol. 2 on preparation
![Page 75: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/75.jpg)
ThanksHans Beck
Alexandre Bergel Cedric Beler
Torsten Bergmann Matthias Berth Ralph Boland
Noury Bouraqadi Brian Brown
Gwenael Casaccio Damien Cassou Nicolas Cellier Gary Chambers
Miguel Coba Gabriel Cotelli Carlos Crosetti Cyrille Delaunay Simon Denier
Marcus Denker Ramiro Diaz Trepat Stephane Ducasse
Morales Durand Hernan Stephan Eggermont
Luc Fabresse
Matthew Fulmer Hilaire Fernandes
Julian Fitzell Tudor Girba Sean Glazier
Norbert Hartl Dale Henrichs Reinout Heeck
Eric Hochmeister Keith Hodges
Henrik Sperre Johansen Pavel Krivanek Adrian Kuhn
Adrian Lienhard Andreas Leidig
Mariano Martinez Peck Dave Mason
John McIntosh Johnaton Meichtry
Eliot Miranda Hernan Morales Durand
Philipp Marshall Jannick Menanteau
Yann Monclair Oscar Nierstrasz
David J Pennell Joseph Pelrine Alain Plantec Damien Pollet Lukas Renggli Jorge Ressia
Mike Roberts Robert Rothwell
David Rotlisberger Michael Rueger
Bill Schwab Niko Schwarz Igor Stasenko
Francois Stephany Serge Stinckwich
Mathieu Suen Lawrence Trutter Andrew Tween
martin von loewis Andres ValloudJuan Vuletich Steven Wirts
Hernan Wilkinson
![Page 76: I have a dreamsdmeta.gforge.inria.fr/Presentations/Pharo-IHaveADream.pdf · Pharo? A flexible environment to support the innovation in/of Smalltalk. Stable Bugs fixed fast But innovative.](https://reader034.fdocuments.us/reader034/viewer/2022050504/5f95d8ed32c65535e00248aa/html5/thumbnails/76.jpg)
Join Us!
Creating good energy, software quality,learning and having fun
http://pharo-project.org