Миф о безопасности Rust: Утечки памяти в предположительно 'безопасном' коде

Миф о безопасности Rust: Утечки памяти в предположительно 'безопасном' коде

Начну с признания, которое может вызвать недовольство в сообществе Rust: Rust не предотвращает утечки памяти. Вот, я это сказал. И прежде чем возьмутся за вилы, позвольте уточнить: это не баг, это особенность. Вернее, это продуманное дизайнерское решение, которое раскрывает нечто увлекательное о том, что на самом деле означает «безопасность памяти». Видите ли, когда мы, евангелисты, говорим, что Rust «безопасен в плане памяти», мы рисуем довольно широкими мазками. Нам нравится противопоставлять его C и C++, где висячий указатель может вызвать демонов через ваше нос (неопределённое поведение, для непосвящённых)....

15 октября 2025 06:01 · 5 минут · 962 слова · Maxim Zhirnov
Почему Ваш процесс собеседования по программированию нарушен (И Вы это знаете)

Почему Ваш процесс собеседования по программированию нарушен (И Вы это знаете)

Расскажу о том, как в последний раз реализовывал бинарное дерево поиска с нуля на работе. Никогда. А за сколько времени до этого? Тоже никогда. Приходилось ли мне обращать связанный список в производственной среде? Как вы уже догадались — никогда, и если бы такое случилось, меня бы, наверное, уволили за то, что я не использовал стандартную библиотеку. И вот мы в 2025 году, и по-прежнему просим кандидатов выполнять алгоритмические упражнения, которые имеют примерно такое же отношение к их повседневной работе, как средневековые рыцарские турниры к современному транспорту....

12 октября 2025 06:01 · 6 минут · 1103 слова · Maxim Zhirnov
Аргументы против постоянного использования гибких пользовательских историй

Аргументы против постоянного использования гибких пользовательских историй

Посмотрите, я собираюсь сказать кое-что, что может привести к тому, что меня не пригласят на следующую конференцию по Agile: истории пользователей не всегда являются решением. Вот, я это сказал. Прежде чем вы закроете эту вкладку и напишете гневный комментарий о том, что я «не понимаю Agile», выслушайте меня. Я годами наблюдал, как команды религиозно превращают каждое требование в священный формат «Как… Я хочу… Чтобы…», даже когда это было абсолютно неуместно....

8 октября 2025 06:00 · 2 минуты · 1 слово · Maxim Zhirnov
Аргументы против постоянного использования реактивного программирования

Аргументы против постоянного использования реактивного программирования

Позвольте мне рассказать вам историю. На прошлой неделе я столкнулся с кодовой базой, которая выглядела так, будто её написал кто-то, кто только что открыл для себя реактивное программирование и решил, что всё должно быть реактивным. Каждое нажатие кнопки, каждый вызов API, каждое чихание были заключены в наблюдаемые объекты. Это было похоже на то, как кто-то использует бензопилу, чтобы нарезать хлеб — технически возможно, но вызывает вопросы о здравомыслии. Не поймите меня неправильно — у реактивного программирования есть своё место....

6 октября 2025 06:01 · 5 минут · 1023 слова · Maxim Zhirnov
Игнорируя показатели производительности, чтобы сосредоточиться на пользовательском опыте

Игнорируя показатели производительности, чтобы сосредоточиться на пользовательском опыте

Представьте: ваше приложение загружается за 50 миллисекунд, у него нет утечек памяти, а график использования CPU выглядит как идеально ровная линия. Ваша инженерная команда аплодирует в коридоре, заинтересованные стороны одобрительно кивают, глядя на панель управления, и тут… пользователи недовольны. Они покидают ваше приложение быстрее, чем люди выходят с совещания, которое можно было бы провести по электронной почте. Добро пожаловать в великий парадокс современной разработки программного обеспечения, где мы стали настолько одержимы измерением машины, что забыли о человеке, сидящем за экраном, который, вероятно, проклинает наше «идеально оптимизированное» творение....

5 октября 2025 06:01 · 5 минут · 1002 слова · Maxim Zhirnov