I am trying to expand my understanding the history and involvement of OOP.
Recently I have been looking into OOP in ANSI-C, which is described in Object-Oriented Programming With ANSI-C by Axel Schreiner. For a freely available PDF version visit http://www.cs.rit.edu/~ats/books/ooc.pdf.
A slightly different approach is used in the part of the Linux kernel dealing with file systems, visit http://lwn.net/Articles/444910/ for more info.
However, the common idea is to put function pointers in a struct
in order to 'emulate' a class
.
Historical context
From Wikipedia.org/wiki/Object-oriented_programming#History
Objects as a formal concept in programming were introduced in the 1960s in Simula 67
While Wikipedia.org/wiki/C_programming#K.26R_C states that
In 1978, Brian Kernighan and Dennis Ritchie published the first edition of The C Programming Language.
I am curious to know whether this 'feature' enabling OOP in ANSI-C was a design choice or merely an 'undocumented feature' following from the design of C. The chronology seem to suggests that K&R must have been well aware of OOP.
Are there any sources where K&R have described or commented on this feature?