Master Object-Oriented C Programming Through Books

Take your C programming skills to the next level by applying object orientation

Mustafa Katipoğlu
Cyber Architect

--

Photo by Aaron Burden on Unsplash

Abstract thinking skills are quite important in software. One of the most important ones of them is to think in an object-oriented way.

As we write object-oriented code in C, we achieve a greater level of encapsulation, reduce the number of redundancies, and lower the number of unintended coupling between entities.

This will help us decrease the amount of debugging we need to make and lower the overall maintenance costs. It also helps us conceptually better represent the software we write and greatly eases the programming.

  • Increases maintainability.
  • Increases modularity.
  • Lowers the cost to make a change.
  • Lowers the time to add new features.

Here in this article, I have listed the books that will help you improve your object-oriented skills in the context of C Programming.

Extreme C

The Extreme C book covers the fundamentals of object-oriented C programming.

  • Encapsulation
  • Composition and Aggregation
  • Inheritance and Polymorphism
Extreme C By Kamran Amini

C Interfaces and Implementations:

Any C Programmer needs to provide high-quality interfaces. In this great book, we find a set of neatly designed interfaces and the way their design has been done.

Specifically, interfaces for the most common needs of C programmers can be found.

  • Lists
  • Low-Level Strings
  • Exceptions and Assertions
  • Memory Management
  • Threads
C Interfaces and Implementations: Techniques for Creating Reusable Software By David R. Hanson

The Practice of Programming

Even though there exists a multitude of resources for the object-oriented programming languages, there are few resources that will help you increase the overall quality of your programming style in C.

In addition to styling and naming practices, the Practice of Programming book also focuses on the following aspects each of which we should specifically master.

  • Interfaces
  • Testing
  • Debugging
  • Performance
  • Portability
The Practice of Programming By Brian W. Kernighan, Rob Pike

Towards The End

By learning to program in an object-oriented way in C, we greatly increase the chances of writing better programs. But, it is only the tip of the iceberg. It is not enough to just learn how to implement object orientation in C.

We also need to be able to see the classes, interfaces, and other entities emerging conceptually. Here comes the need for applying clean code, design principles, and agile practices as well as being able to write highly cohesive and decoupled entities.

The article ‘The Path to Develop Professional Programming Skills’, further explains and points out the books that will help you improve your object-oriented and agile way of implementing software.

--

--