Татарин>> Нет, это всё указание на непоследовательность. Ты платишь за переход с ассемблера на С++ (и рад таким фичам как наследование), но категорически настаиваешь на том, что ещё один шаг строго в том же направлении и сборщик мусора/ВМ - это для ламеров. Реконструктор> Вселенная существует благодаря балансу. Асм и джава - это крайности, C++ - это баланс. А и наследование - это не так страшно как ты думаеш.
Во многих случаях - страшнее, чем 20% явские накладные расходы на JIT.
Татарин>> Ну, тут зависит от того, что именно программируешь. Иногда ассемблер - наилучший выбор (например, для крупносерийного прибора, где +300% времени на программирование многократно отбивается использованием в крупном тираже более дешёвых однокристаллок). Татарин>> Да и вообще, при работе с железом ассемблер во многом удобнее.Татарин>> Вполне допускаю, что твои друзья имеют на то основания.Реконструктор> Нет. Дело в том, что современный C компилятор - это не просто компилятор, а еще и сложная экспертная система. В ней есть шаблоны на все ситуации, разумеется шаблоны эти писаны гуру, которые знают и умеют больше всех нас.
Нет, на мелких однокристаллках С - однозначный проигрыш. Даже если ты начинающий программист.
Бороться с компилятором типа вижуальника на х86 я сейчас сходу бы, конечно, не рискнул, но профессиональные кодеры и его делают. Самое слабое место - векторные и вообще новые инструкции, которые либо сложно поддержать компилятором, либо они просто ещё не поддерживаются.
Реконструктор> Реконструктор>> Вообще, реально все крутые программеры, которые я знаю лично и уважаю, пишут только на C/C++. Могут и на ассемблере и на джаве, но почему-то им очень нравится C/C++.Татарин>> Чем?Реконструктор> Вселенская загадка.
Привычки и предрассудки?
В точности такое же отношение в своё время было к Сшникам и паскальщикам со стороны крутых кодеров, к С++-никам со стороны Сшников, ну и т.п. Сейчас ты - фанат С++, замечу, - понимаешь, что ассемблер - это очевидная крайность.
Просто сейчас ещё один виток, ещё одна микрореволюция, и по индукции сейчас ты - просто реакционный элемент.
Татарин>> Я бы мог дать вам и сложную систему, с хорошей математикой на фоне, алгоритмически интересную... но это ж просто дольше. Или ты думаешь, что именно на такой задаче ты бы развернулся?Реконструктор> Нет, конкурс бы провалился и так.
А как ты сам думаешь, в чём причина "провала"?
Реконструктор> В каком-то идеально измерении - может быть. В нашем-же мире в больших корпорациях (основных клиентов джавы) царят коррупция и тривиальная тупизна.
А в каких больших корпорациях-клиентах джавы ты работал?
Реконструктор> Реконструктор>> ИМХО, сегодня в автосервисе больше инженерства, чем в лаборатории на чертежной доске.Татарин>> Это твоё ИМХО.Татарин>> Просто пока слесари закручивали гайки, цивилизация ушла вперёд, и гайки перестали быть обязательным атрибутом технического устройства.Реконструктор> Пример оборудования современного сервиса:
Это была аналогия.
Татарин>> Явские программы работают и дают заявленый программистами результат. Чего ещё надо?Реконструктор> Есть результаты и результаты. Максималисткие и кое-какие.
Ты же сам на данном примере видишь, что небольшой возможный выигрыш в скорости программы не оправдывается многократной потерей функциональности. Или не видишь?
а) ресурсы (память, скорость соображалки, внимание, время) человека ограничены;
б) как следствие: если их потратить на что-то одно, то их будет меньше потрачено на другое;
в) на С++ человек тратит больше ресурсов на механические вещи типа менеджмента памяти;
г) у него остаётся меньше времени на, собссно, саму решаемую задачу;
д) недостаток времени на хороший дизайн, разработку структуры и развитие общих идей в программе в итоге ведёт к потерям гигантским и совершенно несоразмерным выигрышу на помощи компилятору.
В каком пункте я не прав?
...А неубитые медведи делили чьи-то шкуры с шумом.
Боюсь, мы поздно осознали, к чему всё это приведёт.