Я способен сопереживать любым языковым дизайнерским решениям, которые я изучаю
Я смотрю на C, у которого нет менеджера пакетов, и странным образом защищаю это как на самом деле хорошую вещь, потому что это способствует пониманию и внимательности к вашим зависимостям
Я смотрю на ад с временем жизни в Rust и называю это проблемой навыков
Я смотрю на отсутствие функций в Golang и называю это лучшей частью
Я смотрю на отсутствие интерфейсов в Zig и отмечаю, как это исправляет нашу склонность к их чрезмерному использованию
Я смотрю на Ruby и... ладно, неважно, я нашел контрпример
Безопасность памяти в Rust — это костыль.
Это один из хороших способов управления памятью, но не всегда лучший.
Работа с Zig, C или C++ заставляет вас думать о памяти в более широком смысле. Это заставляет вас учитывать все пространство проектирования паттернов управления памятью.
Иногда RAII — это правильный выбор. Иногда это не имеет большого значения. Иногда применение RAII повсюду, не задумываясь слишком сильно, вполне нормально.
Ключ в том, чтобы научить свой мозг думать о памяти в контексте всей программы. Когда вы возвращаете это мышление в Rust, вы становитесь более осведомленным о том, когда и почему вы выделяете память, вместо того чтобы просто позволять компилятору решать.
Научиться думать на Zig сделает вас лучшим разработчиком на Rust.