Why Smalltalk?I made up the term “object-oriented,” and I can tell you I did not have C++ in mind.– Alan Kay
Live environmentcode spread around files e.g. RubyIncludes external and system codehttp://frank.itlab.us/photo_essays/wrapper.php?dec_27_2006_bridge.html
Turtles all the way downSystem objects are accessible!Fix it yourselfUnderstand how things workSee how the masters codeWilliam Warby http://www.flickr.com/photos/26782864@N00/2499825928/
Simple
Everything is right in front of youVS.A Library of C++ Gotcha Books1. One tutorial2. One style guide
No mental context switching at the system levelMac OS X Cocoa “Fundamentals”VSLive objects
No mental context switching at the language levelC++ LibrariesVSSending Messages to objects
DocumentationIdeally part of the system itselfSqueak/Pharo – still a work in progress
Why Squeak/Pharo?
License “Do what you want, just please don’t sue us” (MIT, paraphrased)http://www.flickr.com/photos/knile/2775149207/sizes/o/
Really turtles all the way downto the operating system out of the boxcan extend down to the metal e.g. SqueakNOSAn operating system is a collection of things that don't fit into a language. There shouldn't be one.- Dan Ingalls
CommunityIRC - #pharo-project and #squeak @ irc.freenode.netMailing lists @ http://forum.world.st/
ProjectsSeaside Web FrameworkMars – native widgetsHelvetia – embedded languagesEtoys – programming for kidsOpen Cobalt– Collaborative 3D worlds
Common MisconceptionsWhy can’t I use [Emacs | VI]?!Where are all my files?!Why doesn’t Squeak/Pharo do X, damn it!?!?
Cool ToolsChanges file – take that, Time MachineMethod NamesMethod Finder
Loading CodeToolsLoaders: Installer/GoferManagement: Monticello/MetacelloLocationsSqueak Source http://www.squeaksource.com/Squeak Map http://map.squeak.org/Other confusing items - Universes
Fathers of Modern ComputingAlan KayDoug Engelbart
ReferencesBooksSqueak By Example (free)Pharo By Example (free)Smalltalk Best Practice PatternsWebsitesWorld of Smalltalk @ http://www.world.st/Pharo @ http://pharo-project.org/homeSqueak @ http://www.squeak.org/Screencasts– http://pharocasts.blogspot.com/
Thank you!Sean DeNigrisClipper Adams, Inc.Email: sean@clipperadams.comWebsite: www.clipperadams.comThe 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

Squeak & Pharo @ NYC Smalltalk

  • 1.
    Why Smalltalk?I madeup the term “object-oriented,” and I can tell you I did not have C++ in mind.– Alan Kay
  • 2.
    Live environmentcode spreadaround files e.g. RubyIncludes external and system codehttp://frank.itlab.us/photo_essays/wrapper.php?dec_27_2006_bridge.html
  • 3.
    Turtles all theway downSystem objects are accessible!Fix it yourselfUnderstand how things workSee how the masters codeWilliam Warby http://www.flickr.com/photos/26782864@N00/2499825928/
  • 4.
  • 5.
    Everything is rightin front of youVS.A Library of C++ Gotcha Books1. One tutorial2. One style guide
  • 6.
    No mental contextswitching at the system levelMac OS X Cocoa “Fundamentals”VSLive objects
  • 7.
    No mental contextswitching at the language levelC++ LibrariesVSSending Messages to objects
  • 8.
    DocumentationIdeally part ofthe system itselfSqueak/Pharo – still a work in progress
  • 9.
  • 10.
    License “Do whatyou want, just please don’t sue us” (MIT, paraphrased)http://www.flickr.com/photos/knile/2775149207/sizes/o/
  • 11.
    Really turtles allthe way downto the operating system out of the boxcan extend down to the metal e.g. SqueakNOSAn operating system is a collection of things that don't fit into a language. There shouldn't be one.- Dan Ingalls
  • 12.
    CommunityIRC - #pharo-projectand #squeak @ irc.freenode.netMailing lists @ http://forum.world.st/
  • 13.
    ProjectsSeaside Web FrameworkMars– native widgetsHelvetia – embedded languagesEtoys – programming for kidsOpen Cobalt– Collaborative 3D worlds
  • 14.
    Common MisconceptionsWhy can’tI use [Emacs | VI]?!Where are all my files?!Why doesn’t Squeak/Pharo do X, damn it!?!?
  • 15.
    Cool ToolsChanges file– take that, Time MachineMethod NamesMethod Finder
  • 16.
    Loading CodeToolsLoaders: Installer/GoferManagement:Monticello/MetacelloLocationsSqueak Source http://www.squeaksource.com/Squeak Map http://map.squeak.org/Other confusing items - Universes
  • 17.
    Fathers of ModernComputingAlan KayDoug Engelbart
  • 18.
    ReferencesBooksSqueak By Example(free)Pharo By Example (free)Smalltalk Best Practice PatternsWebsitesWorld of Smalltalk @ http://www.world.st/Pharo @ http://pharo-project.org/homeSqueak @ http://www.squeak.org/Screencasts– http://pharocasts.blogspot.com/
  • 19.
    Thank you!Sean DeNigrisClipperAdams, Inc.Email: sean@clipperadams.comWebsite: www.clipperadams.comThe 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

Editor's Notes

  • #3 #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
  • #4 Fix – example default local repo directoryUnderstand – Parser -> RBParser…Masters – SQ – timestamps – maybe impressed, maybe not so hard on yourself!
  • #9 #1 HelpSystem Class comments Method Comments Tests
  • #10 Turtles: VM written in Smalltalk compiled to C
  • #14 Etoys - etoyfriendly
  • #15 #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