[Cuis-dev] Object Oriented Design & Thinking
Jaromir Matas
mail at jaromir.net
Sun Jul 7 08:53:07 PDT 2024
I very much enjoyed Smalltalk, Objects, and Design: Chamond Liu (1996).
Available as a hardcopy or free PDF.
You could skip outdated chapters (12 and 13) but the rest is great. Nice
chapters on polymorphism, inheritance. He e.g. discusses whether a
square should be subclassed from a rectangle or perhaps subclass
rectangle from a square. Classic :)
best,
Jaromir
On 07-Jul-24 2:51:22 PM, "Ignacio Sniechowski via Cuis-dev"
<cuis-dev at lists.cuis.st> wrote:
>Hi Cuisers,
>
>Hope you’re all doing well.
>
>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.
>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.
>
>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...
>
>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.
>
>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.
>
>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.
>
>I've tried to focus on thinking in objects. But I still have the
>feeling that I am missing a lot.
>
>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:
>
>“The Object-Oriented Thought Process” by Matt Weisfeld
>“Object-Oriented Programming” by Brad Cox
>“Object Thinking” by David West
>“A Touch of Class” by Bertrand Meyer
>
>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.
>
>Any guidance you can provide would be greatly appreciated.
>
>Thanks in advance!
>Nacho
>
>PS: Sorry for the long mail.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20240707/9979a0eb/attachment-0001.htm>
More information about the Cuis-dev
mailing list