Sto cercando di ampliare la mia comprensione della storia e dello sviluppo della programmazione orientata agli oggetti, e sono curioso di scoprirlo se C è stato progettato per facilitare la programmazione orientata agli oggetti? (come C ++ e Objective-C sicuramente lo sono) o se lo fosse, al contrario , semplicemente un intelligente sfruttamento dei costrutti del linguaggio.
Non riesco a trovare alcuna fonte, tra cui K & R , in cui gli autori originali commentano questo approccio.
Recentemente ho esaminato l'OOP in ANSI-C, che è descritto in Programmazione orientata agli oggetti con ANSI-C di Axel Schreiner .
Per una versione PDF disponibile gratuitamente visita link .
Un approccio leggermente diverso viene utilizzato nella parte del kernel Linux che si occupa di file system, visitare il link per maggiori informazioni.
L'idea comune è di mettere function pointers
in un struct
insieme a fields
per "emulare" un class
"metodi e data members
.
Cronologia
Da Wikipedia.org/wiki/Object-oriented_programming#History
Objects as a formal concept in programming were introduced in the 1960s in Simula 67
Mentre Wikipedia.org/wiki/C_programming#K.26R_C afferma che
In 1978, Brian Kernighan and Dennis Ritchie published the first edition of The C Programming Language.
La cronologia sembra suggerire che K & R doveva essere ben consapevole di OOP.
Quindi ancora:
La C è stata progettata per facilitare la programmazione orientata agli oggetti?