Your SlideShare is downloading. ×
  • Like
Squeak & Pharo @ NYC Smalltalk
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Squeak & Pharo @ NYC Smalltalk


This was a talk given on 9/22/2010

This was a talk given on 9/22/2010

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


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • #1 – open Ruby file, there can be code added in other places#2 a. open Finder, dig into Ruby libs *another metaphor*b. I wonder how the main display loop works? Vs. OS X
  • Fix – example default local repo directoryUnderstand – Parser -> RBParser…Masters – SQ – timestamps – maybe impressed, maybe not so hard on yourself!
  • #1 HelpSystem Class comments Method Comments Tests
  • Turtles: VM written in Smalltalk compiled to C
  • Etoys - etoyfriendly
  • #1 You don’t need to But you can (somewhat) Or you can make your own#2 implementation detail industry got it wrong there are backends – that scale very well


  • 1. Why Smalltalk?
    I made up the term “object-oriented,” and I can tell you I did not have C++ in mind.
    – Alan Kay
  • 2. Live environment
    code spread around files e.g. Ruby
    Includes external and system code
  • 3. Turtles all the way down
    System objects are accessible!
    Fix it yourself
    Understand how things work
    See how the masters code
    William Warby
  • 4. Simple
  • 5. Everything is right in front of you
    A Library of C++ Gotcha Books
    1. One tutorial
    2. One style guide
  • 6. No mental context switching at the system level
    Mac OS X Cocoa “Fundamentals”
    Live objects
  • 7. No mental context switching at the language level
    C++ Libraries
    Sending Messages to objects
  • 8. Documentation
    Ideally part of the system itself
    Squeak/Pharo – still a work in progress
  • 9. Why Squeak/Pharo?
  • 10. License
    “Do what you want, just please don’t sue us” (MIT, paraphrased)
  • 11. Really turtles all the way down
    to the operating system out of the box
    can extend down to the metal e.g. SqueakNOS
    An operating system is a collection of things that don't fit into a language. There shouldn't be one.
    - Dan Ingalls
  • 12. Community
    IRC - #pharo-project and #squeak @
    Mailing lists @
  • 13. Projects
    Seaside Web Framework
    Mars – native widgets
    Helvetia – embedded languages
    Etoys – programming for kids
    Open Cobalt– Collaborative 3D worlds
  • 14. Common Misconceptions
    Why can’t I use [Emacs | VI]?!
    Where are all my files?!
    Why doesn’t Squeak/Pharo do X, damn it!?!?
  • 15. Cool Tools
    Changes file – take that, Time Machine
    Method Names
    Method Finder
  • 16. Loading Code
    Loaders: Installer/Gofer
    Management: Monticello/Metacello
    Squeak Source
    Squeak Map
    Other confusing items - Universes
  • 17. Fathers of Modern Computing
    Alan Kay
    Doug Engelbart
  • 18. References
    Squeak By Example (free)
    Pharo By Example (free)
    Smalltalk Best Practice Patterns
    World of Smalltalk @
    Pharo @
    Squeak @
  • 19. Thank you!
    Sean DeNigris
    Clipper Adams, Inc.
    The real romance is out ahead and yet to come. The computer revolution hasn't started yet. Don't be misled by the enormous flow of money into bad de-facto standards for unsophisticated buyers using poor adaptations of incomplete ideas.
    - Alan Kay