Chapter 40: Your Smalltalk Journey
Congratulations! You’ve reached the final chapter. You started knowing nothing about programming, and now you understand objects, messages, blocks, classes, inheritance, tools, design patterns, performance optimization, and so much more. You’ve built real applications. You’ve become a programmer.
This chapter isn’t about learning new concepts - it’s about reflection. Where you’ve been, what you’ve learned, and most importantly: where you go from here. Your journey with Smalltalk is just beginning!
Look How Far You’ve Come
Chapter 1: The Beginning
Remember Chapter 1? You learned:
- What programming is
- Why Smalltalk is special
- The PARC legacy
You knew nothing. Programming seemed mysterious, complex, intimidating.
Now
You can:
- Write classes and methods
- Build complete applications
- Debug complex problems
- Optimize performance
- Apply design patterns
- Test your code
- Use version control
- Contribute to open source
You’re a programmer!
That transformation happened because you kept going, chapter by chapter, concept by concept. You should be proud.
What You Really Learned
Beyond syntax and tools, you learned:
To Think in Objects
Everything is an object. Problems become networks of collaborating objects. You don’t think in procedures anymore - you think in messages and responsibilities.
This mental shift is profound. It changes how you approach problems in any language.
To Value Simplicity
Smalltalk has 6 keywords. Everything else is objects and messages. Yet you built complex systems!
Simplicity is powerful. This lesson applies everywhere - in code, in design, in life.
To Explore Fearlessly
The image is always running. You can inspect anything, change anything, try anything. No fear of “breaking” something permanently.
Exploration leads to understanding. This curiosity will serve you forever.
To Test Relentlessly
Red-green-refactor. Tests give confidence. Confidence enables change. Change enables improvement.
Testing is not overhead - it’s freedom.
To Appreciate Elegance
(1 to: 100) select: #even thenCollect: #squared
Three words. Crystal clear. Beautiful.
Elegance matters. Code is read more than written. Make it beautiful.
To Never Stop Learning
You learned 40 chapters worth of material. But you’re not done - you’re just beginning!
Learning is lifelong.
Your Smalltalk Toolkit
You now have:
Conceptual Tools
- Object-oriented thinking
- Message passing
- Polymorphism and protocols
- Blocks and closures
- Test-driven development
- Refactoring
- Design patterns
- Performance optimization
Technical Tools
- Pharo/Squeak/GT
- System Browser
- Inspector and Debugger
- Spotter/Finder
- Iceberg (Git)
- SUnit (testing)
- Profiler
- Package management
Community Resources
- Discord servers
- Mailing lists
- Free books
- MOOCs
- Conferences
- GitHub repositories
- Stack Overflow
Project Portfolio
You built:
- Todo List Manager (Chapter 31)
- Text Adventure Game (Chapter 32)
- Web Server (Chapter 33)
- File processing utilities (Chapter 34)
- Graphics applications (Chapter 35)
Show these to potential employers or collaborators!
What to Do Next
Your journey continues. Here are paths forward:
Path 1: Master Smalltalk
Deepen your expertise:
- Build a larger application
- Multi-user system
- Database-backed application
- Real-world problem you care about
- Contribute to Pharo
- Fix bugs
- Improve documentation
- Add features
- Create a library
- Solve a problem
- Package it
- Share on GitHub
- Teach others
- Write tutorials
- Answer questions
- Mentor beginners
- Explore advanced topics
- Metaclasses
- Reflection and metaprogramming
- VM internals
- Compiler construction
Become a Smalltalk expert!
Path 2: Apply Professionally
Use Smalltalk at work:
- Find Smalltalk jobs
- Check Discord #jobs
- LinkedIn searches
- Company websites
- Financial sector especially
- Introduce Smalltalk at current job
- Prototype in Smalltalk
- Build tools for your team
- Demonstrate productivity
- Freelance
- Offer Smalltalk consulting
- Build client applications
- Legacy system maintenance
- Start a company
- Build your product in Smalltalk
- Rapid development advantage
- Iterate quickly
Make Smalltalk your career!
Path 3: Explore Broadly
Use Smalltalk as a foundation:
- Learn other languages
- Python, Ruby, JavaScript
- Compare and contrast
- Bring Smalltalk thinking
- Try other paradigms
- Functional (Haskell, Elixir)
- Logic (Prolog)
- Systems (Rust)
- Build cross-language projects
- Smalltalk backend + JS frontend
- Python for ML + Smalltalk for UI
- Polyglot systems
- Write comparative tutorials
- “Smalltalk concepts in Python”
- “How Smalltalk does X”
- Help others learn
Become a well-rounded developer!
Path 4: Teach and Share
Help the next generation:
- Write blog posts
- Your learning journey
- Tutorials on specific topics
- Project write-ups
- Create videos
- YouTube tutorials
- Live coding sessions
- Project walkthroughs
- Speak at meetups
- Local developer groups
- Show Smalltalk to new audiences
- Inspire others
- Mentor newcomers
- Answer Discord questions
- Help on Stack Overflow
- Guide struggling learners
- Write your own book
- Specialized topic
- Different angle
- Your unique perspective
Teaching deepens your own understanding!
Path 5: Research and Innovation
Push boundaries:
- Academic research
- Programming languages
- Software engineering
- Human-computer interaction
- Experiment with new ideas
- Novel applications
- New libraries
- Improved tools
- Contribute to GT
- Moldable development
- Custom views
- Domain-specific tools
- Publish papers
- Share discoveries
- Contribute to knowledge
- Join academic community
Advance the state of the art!
Setting Goals
Make your journey concrete:
Short-term (1-3 months)
- Build one complete application
- Answer 10 community questions
- Read one advanced Smalltalk book
- Contribute one bug fix or doc improvement
- Try one new Smalltalk (if you used Pharo, try Squeak or GT)
Medium-term (6-12 months)
- Create and publish a library
- Give a talk at a meetup
- Build something used by real users
- Learn one complementary language
- Attend ESUG or virtual conference
Long-term (1-3 years)
- Become known in Smalltalk community
- Significant open source contributions
- Professional Smalltalk work
- Teach others (blog, videos, mentoring)
- Master at least 3 programming paradigms
Write your own goals! Make them specific, measurable, achievable.
Staying Motivated
The journey is long. Stay inspired:
Connect with Others
Loneliness kills motivation.
- Join Discord daily
- Attend virtual meetups
- Find a coding buddy
- Share your progress
Build Things You Care About
Passion fuels persistence.
- Solve your own problems
- Scratch your own itch
- Build tools you’ll use
- Work on meaningful projects
Celebrate Small Wins
Progress is incremental.
- Fixed a bug? Celebrate!
- Answered a question? Awesome!
- Finished a chapter? Great job!
- Small wins accumulate
Take Breaks
Burnout is real.
- Step away when stuck
- Do other activities
- Return refreshed
- Balance is key
Remember Why You Started
Your “why” drives you.
- Why did you want to learn programming?
- What problems do you want to solve?
- What impact do you want to make?
- Return to that vision
Embrace the Journey
It’s not a race.
- Enjoy the process
- Learning is fun
- Mistakes are opportunities
- There’s no “done” - always more to learn
The Smalltalk Mindset
Carry these principles forward:
1. Everything is an Object
See the world as interacting objects. Natural, powerful, elegant.
2. Simple is Beautiful
Prefer simple solutions. Complexity should be justified.
3. Live and Interactive
Work with running systems. Immediate feedback. No restart cycle.
4. Test Everything
Tests give confidence. Confidence enables change. Change enables growth.
5. Refactor Relentlessly
Code evolves. Continuous improvement. Never “done”.
6. Share Freely
Knowledge multiplies when shared. Help others freely.
7. Stay Curious
Ask “why?” and “how?” Inspect, explore, experiment.
8. Elegance Matters
Code is communication. Make it clear, beautiful, maintainable.
These principles transcend Smalltalk!
A Letter to Your Future Self
Dear Future Me,
When you read this in a year, remember:
You once knew nothing about programming. You felt overwhelmed, confused, uncertain. But you persisted. Chapter by chapter, concept by concept, you learned.
Smalltalk taught you more than syntax. It taught you to think differently. To see problems as objects. To value simplicity. To explore fearlessly. To test relentlessly. To never stop learning.
You’ve built real applications. You’ve debugged complex problems. You’ve contributed to the community. You’ve helped others learn.
You’re a programmer now.
Keep going. Build amazing things. Teach others. Push boundaries. Stay curious.
The journey continues.
With admiration, Your Past Self
P.S. Remember how hard Chapter 1 seemed? You mastered it. You’ll master whatever comes next too.
Thank You
Thank you for reading this book. Thank you for learning Smalltalk. Thank you for joining the community.
You make Smalltalk alive. Every programmer who learns it, uses it, shares it - you keep the dream alive. The dream that programming can be simple, elegant, joyful. The dream that anyone can learn to program.
Alan Kay, Dan Ingalls, Adele Goldberg, and countless others created something beautiful. You’re part of that legacy now.
Keep the spirit alive.
Final Thoughts
Programming is power. The power to:
- Create tools that help others
- Solve problems that matter
- Express ideas in code
- Build the future
Smalltalk gave you this power. Use it wisely. Use it generously. Use it joyfully.
Build things. Share knowledge. Help others. Never stop learning.
Your Journey Begins
This book ends, but your journey begins.
You’re not done - you’re ready.
Ready to build real applications. Ready to contribute to open source. Ready to help others learn. Ready to push boundaries. Ready to make your mark.
Go forth and code!
The Smalltalk community is waiting. Projects are waiting to be built. Problems are waiting to be solved. People are waiting to be helped.
You’re ready for all of it.
One Last Thing
Remember the very first code you ran in Chapter 2?
2 + 3
Five characters that sent a message from one number to another. Simple, elegant, profound.
Everything else was just building on that foundation.
You started with 2 + 3.
You end with the ability to build anything.
That’s the power of starting. One concept, one line, one chapter at a time.
Keep starting. Keep building. Keep learning.
The End (And the Beginning)
Congratulations! You’ve completed Learn Programming with Smalltalk!
You learned:
- 40 chapters of material
- Hundreds of concepts
- Dozens of techniques
- Multiple complete applications
But more importantly, you learned to learn. You learned to think. You learned to build.
That’s everything.
Now close this book. Open your image. And create something amazing.
The world is waiting.
Happy coding, Smalltalker!
What’s Next?
Immediate next steps:
- Join the Discord (if you haven’t already)
- https://discord.gg/QewZMZa
- Say hi! Tell us you finished the book!
- Build something today
- Anything! Even something small
- Apply what you learned
- Share it when ready
- Help someone learn
- Answer a question
- Share this book
- Mentor a beginner
- Keep the momentum
- Set your goals (from earlier in this chapter)
- Review weekly
- Adjust as needed
- Stay connected
- Check Discord regularly
- Read Pharo Weekly
- Follow community updates
Long-term next steps:
- Read advanced books
- Deep into Pharo
- Enterprise Pharo
- Specific topic books
- Watch conference videos
- ESUG talks on YouTube
- Learn from experts
- Get inspired
- Contribute to open source
- Pick a project
- Start with small fixes
- Build reputation
- Build your portfolio
- Multiple projects
- Document them well
- Share on GitHub
- Never stop learning
- New techniques
- New languages
- New paradigms
- New ideas
The adventure continues!
Appendices
This book includes several appendices with reference material:
- Appendix A: Installation Guide Details
- Appendix B: Keyboard Shortcuts Reference
- Appendix C: Useful Code Snippets
- Appendix D: Glossary
- Appendix E: Further Reading
Check these for quick reference!
Thank You Again
From the bottom of my heart (or should I say, my image?), thank you.
Thank you for your time, your attention, your effort. Thank you for believing that learning Smalltalk was worthwhile. Thank you for persisting through challenges. Thank you for joining this community.
You’re a Smalltalker now.
Welcome to the family.
Now go build something wonderful! 🚀
“The best way to predict the future is to invent it.” - Alan Kay
“Simple things should be simple, complex things should be possible.” - Alan Kay
“Smalltalk is not just a language. It’s a way of thinking.” - The Smalltalk Community
| Previous: Chapter 39 - Beyond Smalltalk - Taking Your Skills Further | Next: Appendix A - Installation Guide Details |
THE END ✨
(But really, just the beginning! 🌟)