9: Object Oriented Programming
We look at the underpinnings of C-based languages that supported the Object Oriented Pattern and expore how these languages used C as their foundation. We look at how these languages improved on aspects of C that make C less than ideal as a general purpose language.
Slides
Videos
- Object Oriented Programming - A Historical Perspective
- Brian Kernighan - C and C++ at Bell Labs
- Comparing Object Oriented Programming Approaches Across Languages
- Implementing Python-like Object Oriented Patterns in C
- Implementing the Python String (str) Class in C
- Implementing the Python List (list) Class in C
- Implementing the Python Dictionary (dict) Class in C
References
- C++ Bjarne Stroustrup: Inventing C++
- Sample source code
- Chapter 6: Structures (html)
- Chapter 6: Structures (audio book)
- Blog: Adding Support for User-defined Classes
Discussions
- Object Oriented Programming (Login Required)
Tools
- Quiz: Object Oriented Programming (Login Required)
- Implement a Python str class (Login Required)
- Implement a Python list class (Login Required)
- Implement a Python dict class (Login Required)