Object-Oriented Programming with ANSI-C
Эта книга предлагает уникальный подход к изучению объектно-ориентированного программирования (ООП), используя в качестве основного инструмента язык ANSI-C. Автор наглядно демонстрирует, что для применения парадигмы ООП не обязательно использовать специализированные языки вроде C++ или Java — достаточно дисциплины и понимания принципов, лежащих в основе этой методологии.
Книга начинается с основ: техник сокрытия информации для создания абстрактных типов данных, затем переходит к обобщенным функциям и наследованию через расширение структур. Каждая глава последовательно раскрывает ключевые концепции ООП — классы, инкапсуляцию, полиморфизм и наследование — показывая, как они реализуются на уровне структур, указателей и указателей на функции в ANSI-C.
Особое внимание уделяется практическим аспектам разработки: созданию переиспользуемого кода, автоматической инициализации, управлению памятью, обработке ошибок и сериализации данных. В заключительной главе автор демонстрирует создание полноценного приложения — калькулятора с графическим интерфейсом, работающего как в текстовом режиме (curses), так и в оконной системе X Window.
Книга будет полезна опытным C-программистам, желающим освоить объектно-ориентированный подход, а также всем, кто хочет глубже понять внутреннее устройство ООП-концепций, отбросив магию языковых конструкций. Автор предлагает собственный препроцессор ooc, который автоматизирует создание шаблонного кода, позволяя сосредоточиться на творческих аспектах программирования.
