Как стать автором
Обновить
65
0.2
Павел Кириенко @Spym

Архитектор

Отправить сообщение
*facepalm*.
Весьма наглядный пример того, к чему приводит использование C++ при непонимании идеологии языка и основных принципов организации вычислительных процессов.
Как следствие этого, возникают такие посты.
(заметьте, я ни разу не употребил выражение «Джуниор-пхпэшник»).
Ну вот, я потратил все минусы на Ваш пост, Вашу карму и комментарии.
> В питоне я могу не парясь особо написать сложную логику, а компоненту требующую особую производительность вынести в С-шную библиотеку.
Неужели.
Ну, почему же?
Автор сделал своё дело.
Автор может уходить.
Высказывая утверждения, что C++ слишком сложен, Вы пропагандируете подход, оринтированный на аутсайдеров.
Дескать, зачем использовать в разработке сложные языки/технологии, если мой штат программистов, сплошь состоящий из джуниоров-пхпшников, это не осилит?

Далее. Ваши слова:
> Вот, например, из зазубренных постулатов: объекты в методы передавать как константные ссылки.
> Это простой пример, где решение задачи напрочь смывается из памяти этими всеми «плохой тон программирования».
«Зазубривание постулатов» — это проблема; проблема, вызванная непониманием основополагающих принципов языков C (sic!) и C++. Я хочу сказать, что осознание основ языка освобождает от необходимости что-либо зазубривать — и это справедливо не только в отношении программирования.

Насчёт бреда:
— Никаких goto
На этот счет единого мнения не существует, стоит только немного поискать — найдёте разнообразнейшие холивары, суть которых сводится к тому же: «использовать goto — недопустимо, т.к. любой джуниор-пхпшник с его помощью может люто набыдлокодить».
О том, что проблемой в данном случае является не оператор языка, а сам быдлокодер, речи почему-то не заходит. Но я, однако, отвлёкся.
— Параметры макросов в скобках.
Не осилил. Виноват.
— А вообще макросы нельзя употреблять! Это же нарушает типизацию.
— Никаких указателей, даже если очень хочеться. Только умные, с 4-мя шаблонными параметрами.
— Никаких глобальных переменных. Низя!
См. пункт о goto и джуниорах.

— reinterpret_cast, static_cast, const_cast. Почему нет private_to_public_in_case_exception_cast?
Цитирую Википедию: «Громоздкие ключевые слова являются напоминанием программисту, что приведение типа чревато проблемами.».
Не нравится — используйте function-style cast, или C-cast.

Дальше рассматривать Ваши доводы поленился, да и суть моих возражений радикально не изменится.
Резюмируя:
C++ — это мощный и сложный инструмент; если он Вам представляется необъятным — никто не принуждает к его использованию.
И, да, я не являюсь большим фанатом C/C++, честно; я предпочитаю подход, основанный на очевидном здравом смысле — «инструмент подбирается сообразно решаемой задаче». В качестве факультатива, попробуйте подобрать актуальную замену C++ для такого проекта, как, скажем, Firefox (пример первым пришел в голову).

С уважением к автору.
P.S. Ничего личного, честное слово, просто взгляд со стороны: нелегко воспринимать всерьез текст, содержащий нехитрые ошибки правописания.
> Вы можете сами убедиться что в манчестерском коде так же средняя интенсивность далека от 100%.
Разумеется.
При модуляции манчестерским кодом, средняя интенсивность потока будет близка к 50%, вне зависимости от значений передаваемых бит — вот что я хотел донести своим предыдущим комментарием.
> если по каналу будут передаваться все единичные биты, то она будет гореть на 100%, а если допустить более вероятное, то ~50%
Зависимость интенсивности светового потока от передаваемых данных определяется используемой модуляцией, о которой в статье не упоминается.
Первый пришедший в голову пример, опровергающий Вашу точку зрения — манчестерский код.
12 ...
10

Информация

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