A SmalltalkSMALLTALKDenis Defreyne / @ddfreyne / [email protected]
View Slide
Bad news:Smalltalk is dead.SMALLTALK
Three reasons tolook into SMALLTALK
1.Smalltalk is is worth learningbecause of its heritage.SMALLTALK
2.Smalltalk is is worth learningbecause it is weird.SMALLTALK
3.Smalltalk is is worth learningbecause it encourages exploration.SMALLTALK
HERITAGE
is like RubySMALLTALK RUBY
is like RubyRUBY SMALLTALK
Smalltalk ’s model of object orientationis identical to ’sRUBYSMALLTALK
'Hello'.upcase'Hello' asUppercase.RUBYSMALLTALK
person = Person.newperson.first_name = 'Denis' person := Person new.person firstName: 'Denis'.SMALLTALKRUBY
research_paper.respond_to?(:complete?)research_paper.send(:add_random_paragraph) researchPaper respondsTo: #isComplete.researchPaper perform: #addRandomParagraph.SMALLTALKRUBY
people.each { |person| self.send_spam_to(person) }people do: [ :person | self sendSpamTo: person ].people do: [ :each | self sendSpamTo: each ].RUBYSMALLTALK
people.select { |person| person.adult? }people.select(&:adult?) people select: [ :person | person isAdult ].people select: #isAdult.RUBYSMALLTALK
people select: #isAdult.people detect: #isAdult.people reject: #isAdult.people collect: #firstName.people inject: 0 into: [ :memo :each | memo + each age ]SMALLTALK
is a cleanerSMALLTALK RUBY
poke = lambda { |person| person.poke }people.each(&poke) poke := [ :person | person poke ].people do: poke.RUBYSMALLTALK
if students.empty?cancel_classend students isEmpty ifTrue:[self cancelClass].RUBYSMALLTALK
as inspirationSMALLTALK
WEIRDNESS
(at all)is not likeSMALLTALK RUBY
RubyRUBY
gemRUBY
SmalltalkSMALLTALK
SmalltalkSMALLTALK=
SmalltalkSMALLTALK– your application=
SmalltalkSMALLTALK– your application– standard library=
SmalltalkSMALLTALK– your application– standard library– other libraries=
SmalltalkSMALLTALK– your application– standard library– other libraries– compiler=
SmalltalkSMALLTALK– your application– standard library– other libraries– compiler– IDE=
SmalltalkSMALLTALKPharo.image
SmalltalkSMALLTALKPharo.imageFRESH
SmalltalkSMALLTALKCOPYPharo.imageFRESH
DEMO
EXPLORATION
✓ Heritage
✓ Heritage✓ Weirdness
✓ Heritage✓ Weirdness✓ Exploration
Why is wh dead?SMALLTALK
1. The Smalltalk environment is isolated.
1. The Smalltalk environment is2. The Smalltalk community suffers from NIH.
1. The Smalltalk environment is2. The Smalltalk community suffers from3. Smalltalk isn’t revolutionary anymore.
Q & A
@ddfreyne[email protected]Denis DefreyneFormer Smalltalk developerDENIS DEFREYNE