• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Smalltalk
 

Smalltalk

on

  • 2,390 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,390
Views on SlideShare
2,228
Embed Views
162

Actions

Likes
2
Downloads
30
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