Spiiin's blog

Runtime-полиморфизм в C++

Ссылки по нестандартному способу организации полиморфизма в C++, а также материалы Шона Пэрента (Adobe) по архитектуре программ.

Лекция про организацию неинклюзивного полиморфизма


“My class T inherits from nothing”

см также - идиома “Type Erasure”

Также может послужить небольшим туториалом по rvalue-ссылкам и обзором преимуществ использование value-семантики для перемещаемых объектов.

Доклад является часть серии Better Code (тут все доклады и дополнительные статьи).

Часть из них посвящена формальному математическому подходу к построению структур данных и алгоритмов, частично базируется на книге Александра Степанова и Пола Мак-Джонса Elements of programming (в интернете можно откопать русский перевод) и заметках Notes of Programming. Но некоторые представляют интерес не только со стороны фундаментальной подготовки.

Другие лекции и материалы Шона
Sean Parent - Polymorphic Task - подход, применяемый в первой статье, для написания класса task за 10 минут.
Language Delay - чистый C++ позволяет использовать 0.25% производительности компьютера (объяснение, где скрыты остальные 99.75% на видео).
desktop-power
Sean Parent “Better Code: Relationships” - про отношения между объектами в коде. Цель - написание кода без противоречий. Объяснение идеи контрактов и концептов.

Архитектура - это искусство проектировать и конструировать структуры


How did MVC get so Fed up? - описание “правильного” паттерна MVC версии Smalltalk. Видео-версия объяснения проблемы - в докладе “Better Code: Human Interface”. Цель правильного UI - не врать. Другой подход к упрощению ui - парадигма immediate gui и Dear ImGui как известный её представитель. Ещё цитата из доклада:

Таксономия всего в программе - коллекции, объекты, свойства, операции, отношения.

Доклад, использующий идею runtime-полиморфизма
Louis Dionne “Runtime Polymorphism: Back to the Basics” - про разные способы соединения классов с их виртуальным таблицами.

REPL-интерпретатор C++ кода
Cling - удобен для экспериментов в стиле первого доклада.

С первым днём лета, пусть ваш код код остаётся простым и надёжным!