[0d1791d8d2631af8f1227d7b8a857b41d32b290b]

C++ -- худший ЯП

https://habr.com/ru/articles/1047890/
Я даже и не рассматриваю возможность использования этого языка. Хотя
немного приходилось править чужого кода. Прилично приходилось читать.
И никакого желания использовать. В теории только очень ограниченное,
узкое и маленькое подмножество могло бы быть полезно, но это
превращается в yet another dialect.

    С++ ужасный язык. Многословный где не надо, и молчаливый тоже где не
    надо. С зоопарком типов, врущими ключевыми словами, невидимыми
    копиями, нечитаемыми ошибками и адом сборки.

    Чтобы писать на нём правильно, нужна энциклопедическая память на
    исключения, а когда выучили исключения, то отдельно на исключения из
    исключений. Но C++ живее всех живых, и разменяет еще не один
    десяток, потому что у него чудовищная инерция и он один из немногих,
    кто выбрал совместимость любой ценой, вероятно, ценой всего. И этот
    выбор сделал его одновременно невыносимым и незаменимым. Полмира
    работает на нём, и будет работать еще долго, нравится мне это или
    нет.

    Я пишу на этом ужасном языке, романтизируя его сложность и доказывая
    самому себе, что я умный. И продолжу писать на нём, потому что в
    моей области он пока единственный, кто выдаёт нужную
    производительность, став несущей стеной. А заменить эту несущую
    стену в "жилом" и "живом" доме это не просто «переписать пару комнат
    на модном языке», это снести, нафиг, весь дом и на его месте строить
    новый, оставшись жить пару лет на улице в будочке. Так что да, язык
    ужасный, поэтому открывайте уже свою ужасную IDE, и продолжайте
    писать на худшем языке программирования.

Вот сколько лет уже использую Си на работе, много что в нём не нравится,
бесит, напрягает, но в целом нет негатива, всё равно он рассматривается
как адекватный инструмент, в отличии от крайне проблемного Python, на
котором уже практически ничего не делаю. Но есть ещё мысль про
попробовать Zig.

[оставить комментарий]
комментарий 0:
From: Yarik Sysoev
Date: 2026-07-03 09:16:35Z

Когда был маленьким, казалось крутым знать кучу фич из плюсов. Ровно так
же, как казалось крутым знать алгебраическую топологию или ещё что-то из
вышмата. А потом вырос, задал вопрос "а зачем это всё?" и как-то всё
порушилось.
комментарий 1:
From: Sergey Matveev
Date: 2026-07-03 09:31:37Z

*** Yarik Sysoev [2026-07-03 12:16]:
>Когда был маленьким, казалось крутым знать кучу фич из плюсов.

Думаю, все эти болели когда-то :-)
Чем навороченнее, больше фишек, тем однозначно круче.
Я считал что ничего круче языка D нет.

>как казалось крутым знать алгебраическую топологию или ещё что-то из
>вышмата.

Я думаю это круто. Может бесполезно, может никогда не пригодится, будет
мёртвым грузом в голове, но само по себе то оно не лишнее, нужное в своих
местах. А вот, как у нас с коллегой это называлось, свобода самовыражения
в языках программирования это вред. Ничего против самовыражения не имею
в искусстве, но ЯП это для програм, а они в идеале должны быть как ГОСТом
прибитые чертежи инженерные, а не каляки-маляки из серии "а я так вижу" :-)
Чёткой границы, правда, между полезным синтаксическим сахаром и бесполезным
усложнением на пустом месте нет. У каждого своя, к сожалению.

>А потом вырос, задал вопрос "а зачем это всё?" и как-то всё порушилось.

Нужно быть очень *опытным* (не просто знать фишки, а именно опыт
написания реальных програм иметь) разрабом, чтобы грамотно и к месту
использовать фишки языка. В умелых руках оно может быть благом. Вот
только умелых рук крайне мало. И подобные навороченные инструменты в
неумелых будут только вредить, так как нет опыта, чтобы понимать где и
что к месту и стоит использовать. Писать просто -- сложно. Писать
сложно, заумно, overengineered -- очень легко.
комментарий 2:
From: Yarik Sysoev
Date: 2026-07-03 11:10:36Z

 >будет мёртвым грузом в голове, но само по себе то оно не лишнее

Наверняка не лишнее, но я как раз про то, что лично мне никогда не
пригодится (в отличие от линала/диффуров/т.п.). А чтоб, как принято
говорить, "в порядок разум привести" есть области и получше.

 >Я считал что ничего круче языка D нет.

А я вот jai заразился несколько лет назад и всё ещё считаю лучшим, что
есть. Жаль только, что публичного релиза всё нет.

 >Нужно быть очень *опытным* [..] разрабом, чтобы грамотно и к месту
использовать фишки языка.

А ещё повезти должно так, чтобы коллеги попались такие же опытные :)
комментарий 3:
From: Sergey Matveev
Date: 2026-07-03 11:17:07Z

*** Yarik Sysoev [2026-07-03 14:10]:
>Наверняка не лишнее, но я как раз про то, что лично мне никогда не
>пригодится (в отличие от линала/диффуров/т.п.).

Лично мне и линал с диффурами ни разу не пригодился. Ровно два раза в
жизни пригодились логарифмы.

>А чтоб, как принято говорить, "в порядок разум привести" есть области и получше.

Не поспоришь.

>А я вот jai заразился несколько лет назад и всё ещё считаю лучшим, что есть.
>Жаль только, что публичного релиза всё нет.

У каждого -- своё чувство прекрасного :-)

>А ещё повезти должно так, чтобы коллеги попались такие же опытные :)

Вот-вот.
комментарий 4:
From: Yarik Sysoev
Date: 2026-07-03 11:44:30Z

 > Лично мне и линал с диффурами ни разу не пригодился.

У меня интересный пример есть - помогал делать другу игру и в ней нужно
было сделать генерацию правдоподобной сетки дорог. Чтобы вышестоящий код
мог сказать "вот тут прямые участки, вот тут круговой, а тут хаотичные
тропинки" и код потом выдал пространственный граф. В итоге помогли
комплексные числа (алгоритм на вход получал комплексную функцию, из неё
берётся многозначный корень 4 степени, по которому определяется
локальное направление дорог) и метод Рунге-Кутты (чтобы кольцевые дороги
сходились быстрее с небольшим числом сегментов).
комментарий 5:
From: Sergey Matveev
Date: 2026-07-03 11:51:07Z

*** Yarik Sysoev [2026-07-03 14:44]:
>В итоге помогли комплексные числа

Их я вообще ни разу на практике не применял тоже :-)

>метод Рунге-Кутты

А вот это из института знакомо, даже помню что это и о чём.

Всё от задач зависит, понимаю. Многие и с битовыми операциями то ни разу
не столкнутся на практике.