Learning Object-Oriented Programming, Design and TDD with Pharo
I started to write this book back in 1998 when I wrote around 900 pages in preparation for Learning Programming with Robots. Apparently I needed to...
Also Available in:
- Amazon
- Audible
- Barnes & Noble
- AbeBooks
- Kobo
More Details
I started to write this book back in 1998 when I wrote around 900 pages in preparation for Learning Programming with Robots. Apparently I needed to write to understand what I wanted to explain and how. From this I extracted Learning Programming with Robots, which was a book to teach simple concepts such as variables, loops, procedures and to help people teach kids how to program. But in fact, I got really frustrated because to be understandable by everyone I had to remove what I like: object-oriented programming and good object-oriented design. At that time, I met Harald Wertz, who gave me nice ideas and pointers such as L-systems, then asked why I focused on procedural thinking and suggested that I teach object-oriented programming instead. And he was right. This remark was like a bee in my bonnet for more than ten years. In fact, it was my original objective but I was exhausted after my first attempt. Now, nearly fifteen years later, I’m ready to write a book to start with object-oriented programming. In fact I rewrote everything I got from that time. I hope that you will enjoy it as much as I did — even if, for me, writing a book is a really long and daunting task because I want to make it great.
What you will learn:
I would like to present the concepts that I want to teach you and that hopefully you should acquire. What is key to understand is that I will focus on the key conceptual elements. It is easy for me because I will not explain OOP/D in general but within the context of Pharo and Pharo is the essence of Object-Oriented programming since its object model is minimal but it covers the key and essential aspect of OOP. For example we will not present method modifiers, types, overloading (which is a bad concept).
We will focus on object-oriented programming concepts:
• Objects / Classes
• Messages / Methods
• self and its semantics
• Inheritance
• super and its semantics
…and on object-oriented design concepts:
• Class responsibility collaboration
• Delegation
• Message sends are choice
• Message sends are plans for reuse
• The ”Don’t ask, tell” Principle
• Tests are your life ensurance
• Polymorphism
In addition we will also present:
• Tests
• Software refactorings
- Format:ebook
- Pages:235 pages
- Publication:2017
- Publisher:
- Edition:
- Language:eng
- ISBN10:
- ISBN13:
- kindle Asin:B0DTXD81PX









