раньше пилили всё ООП, но теперь юзаем ООП только как синтаксический сахар (методы и protected-private, нет наследования и виртуальных методов)
из-за отсутствия стандарта на ABI пришлось самому писать указатель на метод (через прокси функцию) и считать что поля располагаются в памяти в таком же порядке как и в коде, плюс выравнивание тоже ручками (помните что в ARM надо чтобы флоаты были на 4 выравнены, а в MIPS чтобы каждый тип выравнен на свой размер - short на 2 байта, int и float - на 4 байта, но мы MIPS не держим
), расковыривать руками vtable оказалось как-то лениво в итоге
ps. и да, никаких ексепшенов, никакого rtti, никакого stl, никаких realloc
ps2. и да, почти всё стараемся писать в map-reduce-by-design стиле, те массив данных и функция которая обрабатывает 1 элемент из него, это очень хорошо ложится на многопоточность в итоге, хотя бы с помощью OpenMP