Appendix E: Further Reading
You’ve completed this book - congratulations! But your learning journey continues. This appendix provides a curated guide to the best resources for deepening your Smalltalk expertise.
Essential Books
Free Books (Start Here!)
Pharo by Example ⭐ Must Read
- Authors: Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet
- URL: http://books.pharo.org/pharo-by-example/
- Level: Beginner to Intermediate
- Why read it: Comprehensive introduction to Pharo. Clear explanations, many examples, well-structured. The standard starting point for Pharo learners.
- What you’ll learn: Pharo basics, collections, blocks, classes, tools, best practices
Deep into Pharo ⭐ Highly Recommended
- Authors: Alexandre Bergel, Damien Cassou, Stéphane Ducasse, Jannik Laval
- URL: http://books.pharo.org/deep-into-pharo/
- Level: Intermediate to Advanced
- Why read it: Goes beyond basics into reflection, metaprogramming, advanced blocks, streams. Essential for mastery.
- What you’ll learn: Reflection, metaclasses, exceptions, streams, concurrency, profiling
Enterprise Pharo: A Web Perspective
- Authors: Damien Cassou, Stéphane Ducasse, Luc Fabresse, Johan Fabry, Sven Van Caekenberghe
- URL: http://books.pharo.org/enterprise-pharo/
- Level: Intermediate
- Why read it: Building web applications with Pharo. REST APIs, HTTP, JSON, web frameworks.
- What you’ll learn: Zinc HTTP, JSON, Mustache templates, Seaside, NeoJSON, STON
Squeak by Example
- Authors: Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet
- URL: http://squeakbyexample.org/
- Level: Beginner to Intermediate
- Why read it: Similar to Pharo by Example but for Squeak. Great for understanding Squeak’s approach.
- What you’ll learn: Squeak basics, Morphic graphics, multimedia programming
Pharo MOOC
- Instructor: Stéphane Ducasse and team
- URL: https://mooc.pharo.org/
- Level: Beginner to Intermediate
- Format: Video lectures with exercises
- Why take it: Interactive learning with videos, quizzes, exercises. Great for visual learners.
- What you’ll learn: Core concepts, live coding demos, object-oriented design
Classic Books (Historical Perspective)
Smalltalk-80: The Language and Its Implementation (“Blue Book”)
- Authors: Adele Goldberg, David Robson
- Year: 1983
- Level: Intermediate to Advanced
- Why read it: The original Smalltalk language definition. Historical importance. Some syntax differs from modern Smalltalk.
- What you’ll learn: Original Smalltalk design philosophy, VM implementation details
- Note: Seminal but dated. Modern books are more practical for learning today.
Smalltalk-80: The Interactive Programming Environment (“Orange Book”)
- Authors: Adele Goldberg
- Year: 1984
- Why read it: Describes the original Smalltalk tools and development environment
- Historical value: Shows how revolutionary the ideas were
Smalltalk Best Practice Patterns
- Author: Kent Beck
- Publisher: Prentice Hall
- Year: 1996
- Level: Intermediate to Advanced
- Why read it: Timeless wisdom on writing clean, maintainable Smalltalk code. Kent Beck is a legend.
- What you’ll learn: Naming conventions, method composition, code organization, patterns
- Note: ⭐ Essential reading. Still relevant today!
Design Patterns: Elements of Reusable Object-Oriented Software (Gang of Four)
- Authors: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
- Publisher: Addison-Wesley
- Year: 1994
- Why read it: The classic patterns book. Examples in C++ but concepts apply to Smalltalk (often more elegantly!).
- What you’ll learn: 23 design patterns, OO design principles
Commercial/Print Books
Learning Object-Oriented Programming, Design and TDD with Pharo
- Authors: Stéphane Ducasse, Damien Pollet, Luc Fabresse, Pablo Tesone
- URL: http://books.pharo.org/learning-oop/
- Level: Beginner to Intermediate
- Why read it: Gentle introduction to OOP principles using Pharo. Great for absolute beginners.
- Format: Available free online and as print book
Dolphin Smalltalk: A Desktop Development Environment (for Dolphin users)
- Note: Specific to Dolphin Smalltalk on Windows
- Value: If you’re using Dolphin, this is helpful
Online Resources
Official Documentation
Pharo Documentation
- URL: https://pharo.org/documentation
- Content: Official guides, tutorials, API documentation
- Keep bookmarked: Always check here first
Pharo Books Collection
- URL: http://books.pharo.org/
- Content: All free Pharo books in one place
- Formats: PDF, HTML, EPUB
Pharo Wiki
- URL: https://github.com/pharo-open-documentation/pharo-wiki
- Content: Community-maintained documentation, HOWTOs, recipes
- Great for: Quick answers to specific questions
Awesome Pharo
- URL: https://github.com/pharo-open-documentation/awesome-pharo
- Content: Curated list of Pharo libraries, tools, resources
- Use for: Finding packages for specific needs
Squeak Resources
Squeak Documentation
- URL: https://squeak.org/documentation/
- Content: Squeak-specific guides and tutorials
Squeakland
- URL: http://www.squeakland.org/
- Content: Educational resources, especially for children learning programming
Etoys User Guide
- URL: http://www.squeakland.org/resources/books/
- Content: Guide to Etoys, Squeak’s visual programming environment
Glamorous Toolkit Resources
GT Book
- URL: https://book.gtoolkit.com/
- Content: Comprehensive guide to Glamorous Toolkit
- Format: Interactive, moldable book within GT itself
- Unique: Living documentation you can execute and modify
GT YouTube Channel
- URL: Search “Glamorous Toolkit” on YouTube
- Content: Demos, tutorials, philosophy of moldable development
- Why watch: Seeing GT in action is more powerful than reading about it
Blogs and Articles
Stéphane Ducasse’s Blog
- URL: http://stephane.ducasse.free.fr/
- Content: Pharo development, OOP concepts, research
- Value: From one of Pharo’s core developers
The Pharo Blog
- URL: https://thepharo.dev/
- Content: Community posts, tutorials, announcements
- Frequency: Regular updates
Medium - Pharo Tag
- URL: Search “Pharo” on Medium
- Content: Various community articles and tutorials
- Quality: Varies, but some gems
Interactive Tutorials
ProfStef (Built into Pharo)
"Launch the interactive tutorial:"
ProfStef go.
- Content: Interactive Pharo tutorial within the image
- Learn by doing: Executes as you read
- Great for: Absolute beginners, hands-on learning
Pharo MOOC (Already mentioned)
- URL: https://mooc.pharo.org/
- Interactive: Videos + exercises + quizzes
Videos and Lectures
Conference Talks
ESUG (European Smalltalk User Group) Conference
- URL: Search “ESUG” on YouTube
- Content: Hundreds of talks from annual conferences (1990s-present)
- Topics: Everything from basics to cutting-edge research
- Recommended talks:
- Any talk by Stéphane Ducasse
- “Live Programming” demos
- Tool demos (Spotter, GT, Pharo tools)
Pharo Days
- URL: Search “Pharo Days” on YouTube
- Content: Community presentations, tutorials, showcases
- Annual: Usually held each year
Tutorial Series
Pharo Launcher Series
- Search: “Pharo tutorial” on YouTube
- Various community members create tutorial series
- Quality varies; look for recent videos (2020+)
Glamorous Toolkit Videos
- Search: “Glamorous Toolkit demo”
- Must-watch for understanding moldable development
Academic Papers and Research
Foundational Papers
Personal Dynamic Media (1977)
- Authors: Alan Kay, Adele Goldberg
- Significance: The vision that led to Smalltalk
- URL: Search on Google Scholar or ACM Digital Library
The Early History of Smalltalk (1993)
- Author: Alan Kay
- Significance: First-hand account of Smalltalk’s creation
- URL: http://worrydream.com/EarlyHistoryOfSmalltalk/
- Why read: Understanding the philosophy and goals behind Smalltalk
Design Principles Behind Smalltalk (1981)
- Author: Dan Ingalls
- Significance: Core principles that guide Smalltalk design
- URL: Search “Design Principles Behind Smalltalk PDF”
- Essential reading: Short but profound
Modern Research
Moldable Development
- Researcher: Tudor Gîrba (creator of GT)
- Search: Papers on moldable development, explainable systems
- URL: https://feenk.com/research
Live Programming Research
- Search: “Live Programming” + “Smalltalk” on Google Scholar
- Ongoing research into live, exploratory programming environments
Community and Communication
Forums and Discussion
Pharo Discord ⭐ Most Active
- URL: https://discord.gg/QewZMZa
- Why join: Most active Smalltalk community. Ask questions, share projects, meet other Smalltalkers.
- Channels: #beginners, #help, #projects, #jobs, etc.
Pharo Mailing Lists
- Pharo Users: http://lists.pharo.org/mailman/listinfo/pharo-users_lists.pharo.org
- Pharo Dev: http://lists.pharo.org/mailman/listinfo/pharo-dev_lists.pharo.org
- Use for: Technical discussions, announcements
Squeak Mailing Lists
- Squeak Dev: http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev
- Beginners: http://lists.squeakfoundation.org/mailman/listinfo/beginners
- r/smalltalk: https://reddit.com/r/smalltalk
- Smaller community but occasional interesting discussions
Stack Overflow
- Tag:
[smalltalk],[pharo],[squeak] - Use for: Specific technical questions
- Note: Smaller community than mainstream languages
Social Media
Twitter/X
- Follow:
#Pharo,#Smalltalk,@pharoproject - Key people: Search for Smalltalk core developers
Mastodon
- Some Smalltalk community presence
- Search: #Smalltalk, #Pharo
Code Repositories and Examples
GitHub Organizations
Pharo Project
- URL: https://github.com/pharo-project
- Content: Pharo core, tools, infrastructure
- Browse: See how Pharo itself is built
Pharo Contributions
- URL: https://github.com/pharo-contributions
- Content: Community-contributed packages
- Explore: Lots of examples of real Smalltalk code
Squeak Source
- URL: http://source.squeak.org/
- Content: Squeak packages and contributions
Example Projects
Pharo Launcher
- URL: https://github.com/pharo-project/pharo-launcher
- Value: Large, real-world Pharo application. Study its architecture.
Iceberg
- URL: https://github.com/pharo-vcs/iceberg
- Value: Git integration. Complex, well-structured project.
Roassal (Visualization)
- URL: https://github.com/ObjectProfile/Roassal3
- Value: Graphics and visualization library. Beautiful code.
Zinc HTTP Components
- URL: https://github.com/svenvc/zinc
- Value: HTTP client/server. Study for web development patterns.
Tools and IDEs
Pharo Tools
Calypso (System Browser)
- Built into Pharo
- Study its implementation: Great example of Spec 2 UI
Iceberg (Git)
- Built into Pharo
- Essential for version control
GT Inspector/Playground
- Part of Glamorous Toolkit
- Revolutionary object exploration
External Tools
Metacello (Package Manager)
- Documentation: https://github.com/Metacello/metacello
- Learn: Essential for managing projects
Seaside (Web Framework)
- URL: https://github.com/SeasideSt/Seaside
- Documentation: http://seaside.st/
- Use for: Building web applications
Teapot (Micro Web Framework)
- URL: https://github.com/zeroflag/Teapot
- Documentation: Built-in examples
- Use for: Simple REST APIs and web services
Pillar (Documentation Generator)
- URL: https://github.com/pillar-markup/pillar
- Use for: Writing documentation (this book’s format!)
Learning Paths
Path 1: Complete Beginner to Competent Developer
- This book (you just finished it!)
- Pharo by Example - Solidify fundamentals
- Pharo MOOC - Video reinforcement
- Build 3 projects - Todo app, game, web service
- Deep into Pharo - Advanced concepts
- Contribute to open source - Real-world practice
- Smalltalk Best Practice Patterns - Refine your style
Timeline: 6-12 months of consistent practice
Path 2: Web Development Focus
- This book + Pharo by Example
- Enterprise Pharo - Web-specific knowledge
- Teapot tutorials - Simple web services
- Seaside documentation - Full web framework
- Build: REST API, Single-page app, Full web application
- Zinc HTTP Components - Deep dive into HTTP
Timeline: 4-6 months
Path 3: Education/Teaching Focus
- This book
- Squeak by Example - Educational Smalltalk
- Etoys documentation - Visual programming
- Create teaching materials - Solidify understanding
- Join education communities - Share experiences
Timeline: 3-6 months
Path 4: Research/Academic Focus
- This book + Deep into Pharo
- Glamorous Toolkit - Moldable development
- Read research papers - Current developments
- Attend ESUG - Meet researchers
- Contribute to research projects
Timeline: Ongoing
Path 5: Mastery
- All beginner/intermediate books
- Contribute significantly to Pharo core
- Build and publish a major library
- Present at ESUG conference
- Mentor others actively
- Deep dive into VM internals
Timeline: 2-5 years
Specific Topics
Want to Learn More About…
Metaprogramming and Reflection
- Book: Deep into Pharo (Chapters on Reflection)
- Browse:
Class,Behavior,CompiledMethodin System Browser - Try: Building a simple ORM or serialization framework
Web Development
- Book: Enterprise Pharo
- Framework: Teapot (simple) or Seaside (complex)
- Library: Zinc HTTP Components
Testing and TDD
- Book: Test-Driven Development: By Example by Kent Beck
- Practice: Rewrite your projects with tests first
- Watch: Kent Beck’s talks on TDD
Graphics and UI
- Framework: Morphic (Pharo/Squeak) or Spec 2 (Pharo)
- Book: Pharo by Example - Morphic chapters
- Examples: Browse
Morphhierarchy in System Browser
Performance Optimization
- Book: Deep into Pharo - Profiling chapters
- Tools: TimeProfiler, MessageTally (built-in)
- Practice: Optimize collection operations
Design Patterns
- Book: Smalltalk Best Practice Patterns by Kent Beck
- Book: Design Patterns (Gang of Four)
- Study: Browse Pharo’s class library for pattern usage
Concurrency
- Book: Deep into Pharo - Concurrency chapter
- Browse:
Process,Semaphore,Monitorclasses - Careful: Concurrency is tricky!
Database Integration
- Libraries: Voyage (MongoDB), Glorp (SQL), P3 (PostgreSQL)
- Book: Enterprise Pharo has database sections
Machine Learning
- Library: PolyMath (mathematics), Keras-Pharo (neural networks)
- Research: Ongoing area of development
Game Development
- Framework: Bloc (modern graphics)
- Study: Browse example games in Pharo
- Book: Build games in Squeak by Example
Staying Current
Regular Reading
Pharo Newsletter (Weekly)
- URL: Check Pharo mailing list or Discord
- Content: Updates, new packages, community news
Pharo Sprint Reports
- URL: Posted on Pharo mailing list
- Content: Development progress, new features
ESUG Proceedings
- URL: http://esug.org/wiki/pier/Conferences
- Content: Conference papers and presentations
Following Development
Pharo GitHub Activity
- Watch: https://github.com/pharo-project
- See: What’s being actively developed
Discord Announcements Channel
- Stay updated on major changes and releases
Try New Versions
- Download Pharo alpha/beta versions
- Test new features early
Contributing Back
Once you’ve learned, give back:
Ways to Contribute
- Answer questions on Discord, Stack Overflow
- Fix documentation errors or unclear sections
- Submit bug reports with reproducible examples
- Write blog posts about what you learned
- Create video tutorials for beginners
- Contribute code to open source projects
- Translate documentation to other languages
- Organize local meetups or study groups
- Present at conferences (ESUG welcomes newcomers!)
- Mentor newcomers - pay it forward
Your Impact
The Smalltalk community is small but dedicated. Every contribution matters. Your blog post might help the next learner. Your bug report might improve Pharo for everyone. Your enthusiasm might inspire someone to try Smalltalk.
You’re part of keeping Smalltalk alive.
Reading Plan Suggestions
3-Month Intensive
Month 1: Basics
- Pharo by Example (first half)
- Build todo list project
- Join Discord, introduce yourself
Month 2: Intermediate
- Pharo by Example (second half)
- Deep into Pharo (selected chapters)
- Build web server project
Month 3: Advanced
- Enterprise Pharo OR Deep into Pharo (remaining)
- Contribute to open source project
- Present your project on Discord
6-Month Steady
Months 1-2: Foundation
- Pharo by Example
- Pharo MOOC
- Build 2 projects
Months 3-4: Depth
- Deep into Pharo
- Study design patterns
- Contribute small fixes
Months 5-6: Specialization
- Enterprise Pharo OR GT Book OR advanced topic
- Build significant project
- Write tutorial/blog post
Ongoing Learning (Forever!)
- Weekly: Check Discord, try new packages
- Monthly: Read one blog post or watch one talk
- Quarterly: Complete one project or tutorial
- Yearly: Attend ESUG (in person or virtual)
Never stop learning!
Final Recommendations
Must-Read Books (In Order)
- ✅ This book - You’re done!
- ⭐ Pharo by Example - Reinforce and expand
- ⭐ Deep into Pharo - Go advanced
- ⭐ Smalltalk Best Practice Patterns - Master the style
- Enterprise Pharo - If doing web development
Must-Do Activities
- ✅ Complete a programming book - Done!
- ⭐ Join Discord - Connect with community
- ⭐ Build 3 projects - Practice makes perfect
- ⭐ Contribute to open source - Give back
- Teach someone - Best way to solidify learning
Must-Watch Videos
- Alan Kay’s talks - Philosophy and vision
- Glamorous Toolkit demos - Future of development
- ESUG keynotes - State of Smalltalk
- Live programming demos - See the magic in action
Beyond Smalltalk
If you want to explore beyond Smalltalk while keeping the spirit:
Languages with Smalltalk Influence:
- Ruby - Very Smalltalk-inspired syntax and philosophy
- Python - Object-oriented, clean, readable
- Self - Prototype-based Smalltalk cousin (historical)
- Newspeak - Modern Smalltalk evolution
Books Bridging Smalltalk to Others:
- Design Patterns (Gang of Four) - Universal patterns
- Refactoring by Martin Fowler - Originally Smalltalk-based
- Test-Driven Development by Kent Beck - Smalltalker’s methodology
Keep the Smalltalk mindset: Objects, messages, simplicity, testing, live programming.
Your Personal Reading List
Track what you read:
□ Pharo by Example
□ Deep into Pharo
□ Enterprise Pharo
□ Smalltalk Best Practice Patterns
□ Design Patterns (Gang of Four)
□ Pharo MOOC (completed)
□ ___________________________
□ ___________________________
□ ___________________________
Projects Completed:
□ Todo List Manager
□ Text Adventure Game
□ Web Server
□ _________________________
□ _________________________
□ _________________________
Contributions Made:
□ Answered 10 Discord questions
□ Fixed documentation
□ Submitted bug report
□ _________________________
□ _________________________
Check them off as you go!
Conclusion
You have a wealth of resources at your fingertips. The Smalltalk community has produced decades of excellent documentation, books, videos, and tools.
Where to start?
- Join Discord (community)
- Read Pharo by Example (depth)
- Build a project (practice)
Remember:
- Reading is good, but building is better
- Community accelerates learning
- Teaching solidifies understanding
- Contributing completes the circle
You’ve finished this book, but you’re just beginning your Smalltalk journey.
Happy reading, building, and learning!
Quick Reference: Best Resources by Goal
| Goal | Resource |
|---|---|
| Master Pharo | Pharo by Example → Deep into Pharo |
| Web Development | Enterprise Pharo → Teapot/Seaside docs |
| Get Help | Discord (#beginners channel) |
| Find Packages | Awesome Pharo (GitHub) |
| Learn Design | Smalltalk Best Practice Patterns |
| See Cool Demos | YouTube: ESUG talks, GT demos |
| Read Daily | Pharo Newsletter, Discord |
| Understand Philosophy | Alan Kay’s “Early History of Smalltalk” |
| Build Real Apps | Enterprise Pharo + example projects |
| Contribute | Pharo GitHub issues (good first issue label) |
One Last Thing
Create your own resources. Write the blog post you wish existed. Make the video tutorial you needed. Answer the question you once had.
The best way to learn is to teach.
Now go forth and read, build, share! 🚀📚
| Previous: Appendix D - Glossary | Back to Table of Contents |
THE BOOK IS COMPLETE! 🎉
You’ve finished all 40 chapters and 5 appendices. You are now a Smalltalker. Welcome to the family! 💙