Smalltalk
Upcoming SlideShare
Loading in...5
×
 

Smalltalk

on

  • 2,427 views

Presents Smalltalk and try to convince people that it's not dead

Presents Smalltalk and try to convince people that it's not dead

Statistics

Views

Total Views
2,427
Slideshare-icon Views on SlideShare
2,265
Embed Views
162

Actions

Likes
2
Downloads
31
Comments
0

3 Embeds 162

http://damiencassou.seasidehosting.st 157
http://www.linkedin.com 3
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Smalltalk Smalltalk Presentation Transcript

    • Smalltalk Damien Cassou
    • ☠ ?
    • New tools
    • New books
    • New interests
    • Used?
    • 20%
    • 1,600 simultaneous users
    • 5,000 bookings/day
    • 10,000 updates/day
    • 1.9 billion objects
    • guess what?
    • everything in Smalltalk
    • Portable?
    • SqueakNOS
    • 2147483647 + 1 = -2147483648
    • 2147483647 + 1 = -2147483648 Java
    • 2147483647 + 1 = 2147483648 Smalltalk
    • 100 factorial =
    • 100 factorial = 9332621544394415268169923885626670 0490715968264381621468592963895217 5999932299156089414639761565182862 5369792082722375825118521091686400 0000000000000000000000
    • Concepts
    • Object oriented
    • Everything is an object
    • methods numbers Everything is classes an object tools method calls call stack
    • Method calls
    • postman.send(mail,recipient);
    • postman.send(mail,recipient);
    • postman.send(mail,recipient;
    • postman.send(mail to,recipient.
    • postman.send(mail,recipient); postman send: mail to: recipient.
    • Unary methods
    • 'Smalltalk' size String size
    • Binary methods
    • 1+2 Number + aNumber
    • Dynamically typed
    • ArrayList<String> strings = new ArrayList<String>(); strings := ArrayList new.
    • Closures
    • ArrayList<String> strings = new ArrayList<String>(); for(Person person: persons) strings.add(person.name()); strings := persons collect: [:person | person name]. Collection collect: aBlock
    • Thread regThread = new Thread( new Runnable() { public void run() { this.doSomething(); } }); regThread.start(); Block [self doSomething] fork. fork
    • Garbage collector
    • <= aPoint ^ x <= (aPoint x) and: [y <= (aPoint y)] Point x y (2@3) <= (5@6) <= aPoint Number @ aNumber
    • Constructors
    • Control structures
    • max: aNumber (self < aNumber) ifTrue: [^ aNumber] ifFalse: [^ self] Number max: aNumber ifTrue: t ifFalse: f ^ t value ifTrue: t ifFalse: f ^ f value
    • pharo-project.org