Smalltalk
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Smalltalk

  • 2,502 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,502
On Slideshare
2,340
From Embeds
162
Number of Embeds
3

Actions

Shares
Downloads
33
Comments
0
Likes
2

Embeds 162

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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Smalltalk Damien Cassou
  • 2. ☠ ?
  • 3. New tools
  • 4. New books
  • 5. New interests
  • 6. Used?
  • 7. 20%
  • 8. 1,600 simultaneous users
  • 9. 5,000 bookings/day
  • 10. 10,000 updates/day
  • 11. 1.9 billion objects
  • 12. guess what?
  • 13. everything in Smalltalk
  • 14. Portable?
  • 15. SqueakNOS
  • 16. 2147483647 + 1 = -2147483648
  • 17. 2147483647 + 1 = -2147483648 Java
  • 18. 2147483647 + 1 = 2147483648 Smalltalk
  • 19. 100 factorial =
  • 20. 100 factorial = 9332621544394415268169923885626670 0490715968264381621468592963895217 5999932299156089414639761565182862 5369792082722375825118521091686400 0000000000000000000000
  • 21. Concepts
  • 22. Object oriented
  • 23. Everything is an object
  • 24. methods numbers Everything is classes an object tools method calls call stack
  • 25. Method calls
  • 26. postman.send(mail,recipient);
  • 27. postman.send(mail,recipient);
  • 28. postman.send(mail,recipient;
  • 29. postman.send(mail to,recipient.
  • 30. postman.send(mail,recipient); postman send: mail to: recipient.
  • 31. Unary methods
  • 32. 'Smalltalk' size String size
  • 33. Binary methods
  • 34. 1+2 Number + aNumber
  • 35. Dynamically typed
  • 36. ArrayList<String> strings = new ArrayList<String>(); strings := ArrayList new.
  • 37. Closures
  • 38. ArrayList<String> strings = new ArrayList<String>(); for(Person person: persons) strings.add(person.name()); strings := persons collect: [:person | person name]. Collection collect: aBlock
  • 39. Thread regThread = new Thread( new Runnable() { public void run() { this.doSomething(); } }); regThread.start(); Block [self doSomething] fork. fork
  • 40. Garbage collector
  • 41. <= aPoint ^ x <= (aPoint x) and: [y <= (aPoint y)] Point x y (2@3) <= (5@6) <= aPoint Number @ aNumber
  • 42. Constructors
  • 43. Control structures
  • 44. max: aNumber (self < aNumber) ifTrue: [^ aNumber] ifFalse: [^ self] Number max: aNumber ifTrue: t ifFalse: f ^ t value ifTrue: t ifFalse: f ^ f value
  • 45. pharo-project.org