Обновить
4
0.1

Пользователь

Отправить сообщение

Я люто ненавижу RAII. Я встречаюсь с множеством ситуаций, где RAII мешает решать настоящие задачи инициализации сущностей.

Вы не совсем правильно понимаете RAII. Идеологически его определение может и требует передать всё в конструктор, но суть его на самом деле не в создании объекта, а в уничтожении, как бы парадоксально это не звучало.

Суть RAII - это момент вызова деструктора. Объект должен подчищать за собой все ресурсы которыми он завладел при его окончании времени жизни. При этом вам вообще никто не мешает реализовывать паттерны вида строитель, или тупо сделать пустой конструктор и отложенный вызов метода Init(), хоть это концепутально может быть и не очень верно.

При этом количество раз, где RAII даже в изначальном смысле бывает полезен - сильно превышает количество мест где он бесполезен. Для того, чтобы оценить всю прелесть RAII я рекомендую один раз написать что-то на С++, а потом попробовать переписать это на чистый Си :)

Язык чрезвычайно сложен из-за его истории. В С++ имеется масса устаревших конструкций, через которые приходится продираться для того чтобы найти что-то ценное.

Чтобы решить эту проблему, существуют Core Guidelines, и они регулярно обновляются

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines

В сущности это сборник советов "как идеологически правильно писать на С++". Впрочем, на каждый совет там приведены примеры и обоснования, а также случаи, когда в целом можно и не следовать этим правилам.

Вообще, для поддержки всего, что там написано, существует либа GSL

https://github.com/microsoft/GSL

Но на практике я не видел, чтобы ей кто-то всерьез пользовался.

Нужна простенькая страничка, на которой содержится список компиляторов и сведения о том, насколько они соответствуют стандарту. 

Но эта страничка существует :D

https://en.cppreference.com/w/cpp/compiler_support

Не знаю :) Обычно сотое нажатие на кнопку "ОК" срабатывает, а на тренировку или заведомую возможность другого результата не тянет)

Не нужно, чтобы геленваген был всегда. Важно, чтобы его присутствие ощущалось и вызывало страх.

особенно про выбор операционной системы, где решающим фактором является таск-бар и его геометрия

"Эргономика" использования ОС - это основной фактор для меня, т.к. весь используемый мной софт плюс-минус кроссплатформенный. Я сижу за компьютером по 10 часов в день, хотелось бы чтобы делать это было удобно.

Ставишь Ubuntu и не паришься. 99% выдачи гугла будет всё равно для Ubuntu.

По границам работает роуминг

Чтобы роуминг работал, нужен договор между провайдерами. Но в целом, построить радиорелейку через границу возможно.

да и спутниковому интернету плевать на обрубленный кабель

Но оборудование можно запеленговать и показательно дать по шапке.

Да лучше мужичка с дробовиком, а на роутере нарисовать крестик и написать: "стрелять сюда".

Документацию она пишет отлично, ХЗ о чем была статья. Тут главное один раз руками нормально написать, а потом просто ссылаться как "use #file as formatting reference" и она генерирует точь в точь всё как надо. Потом руками немножко семантики добавить, там где она написала хрень и всё)

Не знаю ни одного дева кому радикально повысило производительность

Смотря в каких сценариях)) Я вот пользую каждый день и могу сказать, что сильно экономит время, если пишешь на незнакомом языке) Также классно помогает разгребать каракули CMake)

А ещё оно неплохо делает документацию по реализации)

Кому нужен проводной геймпад в 2024-м году?) Выглядит он неплохо, но я недавно видал его в DNS и ценник у него всего на 1600 рублей дешевле фирменного от Microsoft, только тот беспроводной.

Т.е. решить проблему высотой полёта и увеличенной дальностью шокера они не могли?)

Строго говоря, чугуниевая бомба, сброшенная из космоса, может иметь чудовищную разрушительную силу)

Ну, Цири же тоже не "просто человек". Она единственная в своём роде во вселенной ведьмака, так что вокруг неё могут происходить любые исключения.

Опять же, она могла пройти испытание под надзором Йеннифер, которая тоже не последний маг мира Ведьмака и могла помочь как-нибудь с трансформациями.

Прочитал статью. Проблемы понятные и распространеннные, новичкам не лишним будет прочитать, но причём тут Rust? Всё эти проблемы существуют в любом языке, в котором есть ручное управление памятью, указатели и корутины.

Что забавно, проблема с тем, что Rc не потокобезопасен - так и вообще не проблема именно в Rust. Ведь код не скомпилируется! А значит и не запустится, а значит и не сломается.

Вот бы они ещё сделали опцию "не показывать баннер про бекапы на весь экран")

Информация

В рейтинге
2 922-й
Зарегистрирован
Активность