Why Smalltalk?<br />I made up the term “object-oriented,” and I can tell you I did not have C++ in mind.<br />– Alan Kay<b...
Live environment<br />code spread around files e.g. Ruby<br />Includes external and system code<br />http://frank.itlab.us...
Turtles all the way down<br />System objects are accessible!<br />Fix it yourself<br />Understand how things work<br />See...
Simple<br />
Everything is right in front of you<br />VS.<br />A Library of C++ Gotcha Books<br />1. One tutorial<br />2. One style gui...
No mental context switching at the system level<br />Mac OS X Cocoa “Fundamentals”<br />VS<br />Live objects<br />
No mental context switching at the language level<br />C++ Libraries<br />VS<br />Sending Messages to objects<br />
Documentation<br />Ideally part of the system itself<br />Squeak/Pharo – still a work in progress<br />
Why Squeak/Pharo?<br />
License <br />“Do what you want, just please don’t sue us” (MIT, paraphrased)<br />http://www.flickr.com/photos/knile/2775...
Really turtles all the way down<br />to the operating system out of the box<br />can extend down to the metal e.g. SqueakN...
Community<br />IRC - #pharo-project and #squeak @ irc.freenode.net<br />Mailing lists @ http://forum.world.st/<br />
Projects<br />Seaside Web Framework<br />Mars – native widgets<br />Helvetia – embedded languages<br />Etoys – programming...
Common Misconceptions<br />Why can’t I use [Emacs | VI]?!<br />Where are all my files?!<br />Why doesn’t Squeak/Pharo do X...
Cool Tools<br />Changes file – take that, Time Machine<br />Method Names<br />Method Finder<br />
Loading Code<br />Tools<br />Loaders: Installer/Gofer<br />Management: Monticello/Metacello<br />Locations<br />Squeak Sou...
Fathers of Modern Computing<br />Alan Kay<br />Doug Engelbart<br />
References<br />Books<br />Squeak By Example (free)<br />Pharo By Example (free)<br />Smalltalk Best Practice Patterns<br ...
Thank you!<br />Sean DeNigris<br />Clipper Adams, Inc.<br />Email: sean@clipperadams.com<br />Website: www.clipperadams.co...
Upcoming SlideShare
Loading in...5
×

Squeak & Pharo @ NYC Smalltalk

1,876

Published on

This was a talk given on 9/22/2010

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,876
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

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 -&gt; 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
  • Squeak & Pharo @ NYC Smalltalk

    1. 1. Why Smalltalk?<br />I made up the term “object-oriented,” and I can tell you I did not have C++ in mind.<br />– Alan Kay<br />
    2. 2. Live environment<br />code spread around files e.g. Ruby<br />Includes external and system code<br />http://frank.itlab.us/photo_essays/wrapper.php?dec_27_2006_bridge.html<br />
    3. 3. Turtles all the way down<br />System objects are accessible!<br />Fix it yourself<br />Understand how things work<br />See how the masters code<br />William Warby http://www.flickr.com/photos/26782864@N00/2499825928/<br />
    4. 4. Simple<br />
    5. 5. Everything is right in front of you<br />VS.<br />A Library of C++ Gotcha Books<br />1. One tutorial<br />2. One style guide <br />
    6. 6. No mental context switching at the system level<br />Mac OS X Cocoa “Fundamentals”<br />VS<br />Live objects<br />
    7. 7. No mental context switching at the language level<br />C++ Libraries<br />VS<br />Sending Messages to objects<br />
    8. 8. Documentation<br />Ideally part of the system itself<br />Squeak/Pharo – still a work in progress<br />
    9. 9. Why Squeak/Pharo?<br />
    10. 10. License <br />“Do what you want, just please don’t sue us” (MIT, paraphrased)<br />http://www.flickr.com/photos/knile/2775149207/sizes/o/<br />
    11. 11. Really turtles all the way down<br />to the operating system out of the box<br />can extend down to the metal e.g. SqueakNOS<br />An operating system is a collection of things that don't fit into a language. There shouldn't be one.<br />- Dan Ingalls<br />
    12. 12. Community<br />IRC - #pharo-project and #squeak @ irc.freenode.net<br />Mailing lists @ http://forum.world.st/<br />
    13. 13. Projects<br />Seaside Web Framework<br />Mars – native widgets<br />Helvetia – embedded languages<br />Etoys – programming for kids<br />Open Cobalt– Collaborative 3D worlds<br />
    14. 14. Common Misconceptions<br />Why can’t I use [Emacs | VI]?!<br />Where are all my files?!<br />Why doesn’t Squeak/Pharo do X, damn it!?!?<br />
    15. 15. Cool Tools<br />Changes file – take that, Time Machine<br />Method Names<br />Method Finder<br />
    16. 16. Loading Code<br />Tools<br />Loaders: Installer/Gofer<br />Management: Monticello/Metacello<br />Locations<br />Squeak Source http://www.squeaksource.com/<br />Squeak Map http://map.squeak.org/<br />Other confusing items - Universes<br />
    17. 17. Fathers of Modern Computing<br />Alan Kay<br />Doug Engelbart<br />
    18. 18. References<br />Books<br />Squeak By Example (free)<br />Pharo By Example (free)<br />Smalltalk Best Practice Patterns<br />Websites<br />World of Smalltalk @ http://www.world.st/<br />Pharo @ http://pharo-project.org/home<br />Squeak @ http://www.squeak.org/<br />Screencasts– http://pharocasts.blogspot.com/<br />
    19. 19. Thank you!<br />Sean DeNigris<br />Clipper Adams, Inc.<br />Email: sean@clipperadams.com<br />Website: www.clipperadams.com<br />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.<br />- Alan Kay<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×