[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