Jump to ratings and reviews
Rate this book

Learning Object-Oriented Programming, Design and TDD with Pharo

Rate this book
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

235 pages, ebook

Published January 1, 2017

1 person is currently reading
7 people want to read

About the author

Stéphane Ducasse

21 books4 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
0 (0%)
4 stars
0 (0%)
3 stars
2 (100%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Juan Caballero.
56 reviews3 followers
March 25, 2020
You may read this book if you want to learn Pharo or to practice it a lot. I don't recommend this book for learning Object-Oriented Programming right from scratch.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.