172 похожих чатов

Попалась тут штука.. в тему недавних разговоров) A few weeks ago,

I reviewed the language evolution of my toy engine over the past year. In 2022, I introduced Rust to the codebase, and by 2023 it accounted for over 16% of the project. I used Rust primarily for engine segments prone to memory bugs.

Did it make a difference? I'm not sure. While I didn't experience major memory management issues before, I also didn't notice significant improvement after adopting Rust. However, my coding velocity did decrease. This was partly due to my relative inexperience with Rust (having used it seriously only since 2021, primarily within the engine itself), but mostly because of design changes required to conform to Rust's paradigms. I felt I lost some flexibility to "hack" solutions.

Between the summers of 2023 and 2024, I completely removed the DirectX11 and OpenGL backends, focusing solely on DX12 and Vulkan. This involved a comprehensive rewrite and modernization of the graphics stack, primarily in C for Vulkan (with some C++).

In the summer of 2023, I also started using Zig. Its simplicity led to a significant increase in my coding velocity, and it largely replaced Rust. Now, most of the engine, along with the Vulkan backend, is implemented in C and Zig.

Initially, I expected to replace all C and C++ code with Zig and Rust, but I've seemingly found modern C++ holding better than Rust in a collision with Zig...

5 ответов

35 просмотров

Ну а D это и есть смесь

Serg-Gini Автор вопроса
Константин Меньшиков
Ну а D это и есть смесь

Плюсов питона джавы си зига раста и эйфеля :-)

Константин Меньшиков
Ну а D это и есть смесь

У меня и поэтому возникла идея профилей

У него именно сочетание

Serg-Gini Автор вопроса
Константин Меньшиков
У меня и поэтому возникла идея профилей

То что ты говоришь можно было бы трансформировать в типа более удобный конструктор рантаймов

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта