Learning Object-Oriented Programming, Design and TDD with Pharo

  1. home
  2. Books
  3. Learning Object-Oriented Programming, Design and TDD with Pharo

Learning Object-Oriented Programming, Design and TDD with Pharo

3.00 2 1
Share:

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

About Author

Stéphane Ducasse

Stéphane Ducasse

3.72 53 8
View All Books