fk0, легенда (19.12.2019 00:18, просмотров: 865) ответил RxTx на В некоторых тусовках "Крестами" называют C++. Программистов C++ - крестоёбами.
C#, Java и тем более Javascript -- это совсем другой код, нежели C++. На порядок менее оптимальный, если конечно задача не сводится к тому, что подёргать за уже имеющиеся API (сделанные на C/C++). C++ позволяет статический полиморфизм и вычисления во время компиляции. Остальные обычно довольствуются только и исключительно рантаймом. Может быть что-то есть у Java, отдельные оптимизации, я не знаю, но в целом скорей нет -- просто в языках нет механизмов для того. В Javascript вообще толком "объектной системы" нет, как и во многих языках с динамической типизацией.
Сравнение с языками с динамической типизацией не корректно. На последних затруднительно создание сколько-нибудь надёжного кода (невозможен ни статический анализ, ни верификация во время компиляции). Не даром микрософт родил Typescript.
Эффективный кодогенератор не в вакууме работает. В рамках голого C, конечно, стремиться уже особо некуда. Но в C++ идея в том, что вначале C++ сгенерирует более эффективный код для C с классами, который уже обычными способами оптимизируется, не лучше и не хуже чем у Java, например. Но первого этапа, генерации кода по заданным программистам правилам (метапрограммирование) -- в Java/C# нет. Статический полиморфизм и, следовательно, сразу генерация именно нужного в данном месте кода -- невозможен. Везде неэффективные "обобщённые" решения. Для POD-типов везде есть исключения, но ввести свой тип и эффективно работать с ним невозможно. В C# например, любой более-менее сложный класс (не структура) может размещаться только на куче, но не на стеке -- о чём ещё говорить. Мне иногда кажется, что C#/Java -- это такие специально ограниченные языки для, условно, негров. С которыми шаг влево-вправо -- и нужна большая корпорация (Оракл или Микрософт), без позволения которой ничего невозможно. Собственно основной затык это "рантайм" (почему Java/C# нет в embedded). С C/C++ -- это не так, на C/C++ можно делать что угодно.
"Крестоёбы" которые изучали C++ последние 20 лет хотя бы могут не относить на помойку уже накопленные знания, а использовать их дальше. А изучающие технологии им. Микрософта каждые 5-10 лет вынуждены всё выкинуть, оказаться у разбитого корыта, и начать заново. Так что не самый худший вариант. И да стандартные библиотеки C/C++ и Posix API вполне обозримы. В отличии от микрософтовских API (где тысячи дублирующихся функций и классов).
[ZX]