<html><head><style id="css_styles" type="text/css"><!--blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
table { border-collapse: collapse; }
li[style='text-align: center;'], li[style='text-align: center; '], li[style='text-align: right;'], li[style='text-align: right; '] {  list-style-position: inside;}
body { font-family: 'Segoe UI'; font-size: 12pt; }
.quote { margin-left: 1em; margin-right: 1em; border-left: 5px #ebebeb solid; padding-left: 0.3em; }
--></style></head><body><div>I very much enjoyed Smalltalk, Objects, and Design: Chamond Liu (1996). Available as a hardcopy or free PDF.</div><div><br /></div><div>You could skip outdated chapters (12 and 13) but the rest is great. <span>Nice chapters on polymorphism, inheritance. </span><span>He e.g. discusses whether a square should be subclassed from a rectangle or perhaps subclass rectangle from a square. Classic :)</span></div><div><span><br /></span></div><div><span>best,</span></div><div><span>Jaromir</span></div>
<div style="clear:both"><br /></div>
<div><br /></div>
<div>
<div>On 07-Jul-24 2:51:22 PM, "Ignacio Sniechowski via Cuis-dev" <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:</div></div><div><br /></div>
<div id="x0a9ed56a0aa8410"><blockquote cite="CAMCzT-ZGHSxoajTH6n__taLoCsoWxXY8vU1tJTFpEjFbca0WyA@mail.gmail.com" type="cite" class="cite2">
<div dir="ltr"><div class="gmail_default" style="font-family:monospace;font-size:large">Hi Cuisers,<br /><br />Hope you’re all doing well.<br /><br />I’ve been using Cuis for several years now, and I absolutely love it. To me, it’s the perfect embodiment of how a system should be. The first time I delved into “Design Principles behind Smalltalk” by D. Ingalls, it was a memorable experience. In that article, I discovered an impressive description and roadmap for building systems—especially the concept of Mastery. I find Cuis aligned perfectly with that.</div><div class="gmail_default" style="font-family:monospace;font-size:large">However, I find the other incarnations of Smalltalk (such as Squeak and Pharo) a bit too complex for my understanding. There are just too many classes, frameworks, and overlapping technologies.<br /></div><div class="gmail_default" style="font-family:monospace;font-size:large"> </div><div class="gmail_default" style="font-family:monospace;font-size:large">Especially the Mastery principle. I find the other incarnations of Smalltalk (Squeak & Pharo) too complex for me to understand. Too many Classes, too many frameworks, overlapping technologies...</div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">As time went by, I realized that I’m still far from being a decent Smalltalker. I suspect the issue lies in how I approach problem design. Choosing the right objects is challenging. For instance, let’s say I’m planning a “Book” application. My initial design might involve objects like Book, Page, Paragraph, and Image—a kind of hierarchy. But then I get lost when it comes to assigning tasks to specific objects.<br /></div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">While I’m not a professional developer, I heavily rely on programming. Over the past few years, my work in the finance field has led me to use Python extensively (thanks to libraries like pandas, matplotlib, numpy, and yfinance). Python allows me to write rapid code that gets the job done, but it’s not a language I particularly enjoy working with.</div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">Now, let’s circle back to Smalltalk. I’ve hit a wall. I’ve come to the conclusion that it’s my mental framework that needs addressing. Smalltalk isn’t just a language; or an environment and a collection of classes. To truly grasp it, you need to immerse yourself in its philosophy and shift how you think.</div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">I've tried to focus on thinking in objects. But I still have the feeling that I am missing a lot.</div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">Recently, a friend of mine—who considers Smalltalk a brilliant foundational idea despite its limitations (limited libraries and the usual drawbacks)—recommended a few books that “could help.” Here’s the list:<br /><br />“The Object-Oriented Thought Process” by Matt Weisfeld<br />“Object-Oriented Programming” by Brad Cox<br />“Object Thinking” by David West<br />“A Touch of Class” by Bertrand Meyer</div><div class="gmail_default" style="font-family:monospace;font-size:large"><br />While this list isn’t exhaustive, I’d love to hear your recommendations. Smalltalk is an exciting journey of experimentation and immersion, and I’m thoroughly enjoying it. However, I believe I need a solid background in object-oriented design and implementation.<br /></div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">Any guidance you can provide would be greatly appreciated.<br /><br />Thanks in advance!<br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">Nacho </div><div class="gmail_default" style="font-family:monospace;font-size:large"><br /></div><div class="gmail_default" style="font-family:monospace;font-size:large">PS: Sorry for the long mail.</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br /></div><div><b><br /></b></div><div><br /></div><div><b></b></div><div><b><br /></b></div><div><b><br /></b></div><div><b><br /></b></div><div><b><br /></b></div><div><b></b><br /></div><b><div><b><br /></b></div><div><b><br /></b></div><div><b><br /></b></div><br /></b><b><br /></b><b><br /></b><div><br /><br /><div style="text-align:left"><br /></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>
</body></html>