[Cuis-dev] Object Oriented Design & Thinking
Andres Valloud
ten at smallinteger.com
Sun Jul 7 06:20:32 PDT 2024
(but do not interpret as dogma or gospel --- look at what they are
doing, and reformulate in your own terms)
On 7/7/24 6:17 AM, Andres Valloud via Cuis-dev wrote:
> https://www.wirfs-brock.com/PDFs/A_Brief-Tour-of-RDD.pdf
>
> On 7/7/24 5:51 AM, Ignacio Sniechowski via Cuis-dev 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.
>>
>> *
>> *
>>
>> **
>> *
>> *
>> *
>> *
>> *
>> *
>> *
>> *
>> **
>> *
>> *
>> *
>> *
>> *
>> *
>> *
>>
>> **
>> **
>> *
>>
>>
>>
>>
More information about the Cuis-dev
mailing list