- Разработка
Добрый день.
Я хотел поделиться проектом, идея которого — отказаться от указателей в С, оставаясь в этой экосистеме.
Идея свежая, но есть нюанс. Я упоролся и сделал 100% code coverage для своей либы, включая кастомные плагины для VSCode, двухэтапную сборку с CMake и обнаружение и докомпиляцию изменившихся файлов и модулей, в результате написания кода, сделал и версионирование, которое решало бы проблему DLL-hell и бинарной совместимости, т.е. для сборки и линковки собирались бы только те .h и файлы, которые имели бы один commit hash.
По идее, чтобы привести всё в удобоваримый, то есть товарный вид, надо бы всё это обратно вырезать, упростить, создать утилиту для вмерживания всех модулей в один .h файл, или — нет. Если писать систему, в которой типы — располагаются в своих модулях и цепляются в общую систему типов на этапе компиляции, это открывает возможность использовать принципы S.O.L.I.D в C, как и довести до ума менеджер памяти, докинув туда стандартный двухпроходной менеджер памяти по двусвязному списку с автоматическим освобождением и пулом адресов кратных степени 2, и переносом памяти в пул.
Я как-то думал, что удобно использовать подход git, и шиппить не версии, а прямо версии, привязанные к конкретным коммитам, в базе, на основании которых будет вестить сборка. Если вам идея понравилась, или вы хотите продолжения, то...
0x035ebC06C7e667200695Cf8FC3686EEBBBD5A452
https://github.com/default-writer/c