Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Просто код за десятилетия эволюции и переписывания всего что можно в силу NIH-синдрома превратился в нечто.
А там даже попыток не делалось как-то переиспользовать готовые вещи из внешнего мира (хоть из C++ной stdlib, хоть из Boost, хоть из ACE/POCO и т.д.)?
Здравствуйте, so5team, Вы писали:
S>А там даже попыток не делалось как-то переиспользовать готовые вещи из внешнего мира (хоть из C++ной stdlib, хоть из Boost, хоть из ACE/POCO и т.д.)?
Нет. Проект начался в 90-х, и на тот момент им в основном продолжали рулить те люди, которые его начинали. А когда ты 15-20 лет только один проект делаешь, то у тебя восприятие технологий становится несколько biased, изначальные установки превращаются в идеологемы (мол если проект успешный, то строго все принятые решения были на 100% правильными). И надо очень большое мужество чтобы в этот момент отбросить все накопленное и непредвзято посмотреть вокруг.
Собственно, и тут на форуме постоянно это все наблюдается, пусть и не в такой запущенной форме.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Видел я как то похожий проект, где не то что std, даже rtl свой был НС>>>Сперва когда новые люди в проекте не могли более полугода начать приносить пользу. НС>Просто код за десятилетия эволюции и переписывания всего что можно в силу NIH-синдрома превратился в нечто.
Но считаешь ты что это всё только потому, что они вместо std::map пишут ourfw::map?
Когда сам проект превращается в копролит совсем не важно какой std/rtl был использован — там совсем не в консерватории проблемы.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, so5team, Вы писали:
S>А там даже попыток не делалось как-то переиспользовать готовые вещи из внешнего мира (хоть из C++ной stdlib, хоть из Boost, хоть из ACE/POCO и т.д.)?
В одной из компаний где я работал буст и вовсе попал под запрет, после того как их очередное обновление сломало нам столько, что оказалось что проще написать своё, проще и менее универсальное, чем починить тот пц что они наворотили.
В результате мало того что стало работать как надо так ещё и неслабый прирост скорости что работы что компиляции получили.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>И надо очень большое мужество чтобы в этот момент отбросить все накопленное и непредвзято посмотреть вокруг.
А также очень много свободного времени, чтоб чинить ещё и чужой код.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
НС>>И надо очень большое мужество чтобы в этот момент отбросить все накопленное и непредвзято посмотреть вокруг. CC>А также очень много свободного времени, чтоб чинить ещё и чужой код.
Здравствуйте, CreatorCray, Вы писали:
CC>Когда сам проект превращается в копролит совсем не важно какой std/rtl был использован
Или важно.
CC> — там совсем не в консерватории проблемы.
А в чем? Ели захочешь мне рассказать, что там тупые программисты были — не стоит, там в определенном аспекте очень крутая команда, я бы сказал уникальная и лучшая в мире. Но вот недоверие к вообще любому стороннему коду все испортило.
Здравствуйте, CreatorCray, Вы писали:
S>>А там даже попыток не делалось как-то переиспользовать готовые вещи из внешнего мира (хоть из C++ной stdlib, хоть из Boost, хоть из ACE/POCO и т.д.)?
CC>В одной из компаний где я работал буст и вовсе попал под запрет, после того как их очередное обновление сломало нам столько, что оказалось что проще написать своё, проще и менее универсальное, чем починить тот пц что они наворотили. CC>В результате мало того что стало работать как надо так ещё и неслабый прирост скорости что работы что компиляции получили.
Boost -- это вообще отдельная тема для разговора, т.к. он и слишком большой (хотя через vcpkg его можно использовать и помодульно, но vcpkg не так уж и давно получился), и какие-то вещи там были порождены ну совсем уж сумрачным гением.
Однако, если в старом проекте в 90-х было написано вообще чуть ли не все свое, то со временем какие-то части можно было заменить на что-то стороннее. Скажем, в 90-е чуть ли не каждый второй был вынужден писать свои смарт-поинтеры. С появлением в начале нулевых Boost-а эти самые смарт-поинтеры можно был из Boost-а скомуниздить.
Собственно, если люди не занимаются совсем уж узкой темой (хард рил-тайм, к примеру, или замороченный HPC), то больше 20 лет все делать только и исключительно на собственных велосипедах... Ну для этого нужны очень уж веские основания.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Это время более чем окупается, не переживай.
Не, не окупается. Плавали, знаем.
Куда быстрее и безбажнее получается написать аналог, в котором будет только то, что надо. Даже не обязательно с нуля, можно тупо форкнуть и выпилить оттуда весь мусор.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ночной Смотрящий, Вы писали:
CC>>Когда сам проект превращается в копролит совсем не важно какой std/rtl был использован НС>Или важно.
На фоне уже гигантского копролита — не важно.
НС>там в определенном аспекте очень крутая команда
Очень даже может быть что этот определённый аспект у них получался хорошо, но всё что они сделали руками...
НС>Но вот недоверие к вообще любому стороннему коду все испортило.
А с чего ты взял что причиной было именно недоверие к стороннему коду а не то, что проект тупо перерос свой изначальный дизайн и стал обваливаться под собственным весом, как очень часто бывает со старыми проектами.
Когда у тебя небоскрёб построен так же как привыкли строить сарай и потому вот вот обвалится — не сильно важно какого цвета были гвозди.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, so5team, Вы писали:
S>Boost -- это вообще отдельная тема для разговора, т.к. он и слишком большой (хотя через vcpkg его можно использовать и помодульно, но vcpkg не так уж и давно получился), и какие-то вещи там были порождены ну совсем уж сумрачным гением.
Там суровая жесть местами.
S>Однако, если в старом проекте в 90-х было написано вообще чуть ли не все свое, то со временем какие-то части можно было заменить на что-то стороннее.
Или переписать на те же мотивы.
S>С появлением в начале нулевых Boost-а эти самые смарт-поинтеры можно был из Boost-а скомуниздить.
Мы тогда ещё поначалу скомуниздили, поплевались, выкинули, написали свои похожие, только поудобнее.
S> Ну для этого нужны очень уж веские основания.
Они работают, этого достаточно.
Скорее надо веские основания менять на что то стороннее, что хз как поддерживать и обслуживать.
Буст нам несколько раз сломал всю посевную из за багов, которые в их темплейтном маразме хрен поймаешь и починишь. А в обновлении они починили одно и наглухо сломали другое.
После чего буст и был отправлен на помоечку и написаны свои аналоги. На порядки проще и куда менее темплейтно.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
НС>>там в определенном аспекте очень крутая команда CC>Очень даже может быть что этот определённый аспект у них получался хорошо, но всё что они сделали руками...
Ну понятно. Лишь у тебя код идеальный, я верно понял?
НС>>Но вот недоверие к вообще любому стороннему коду все испортило. CC>А с чего ты взял что причиной было именно недоверие к стороннему коду
Наверное потому что они сами мне об этом сказали?
CC> а не то, что проект тупо перерос свой изначальный дизайн и стал обваливаться под собственным весом, как очень часто бывает со старыми проектами.
Есть такое понятие как рефакторинг. Он помогает в такой ситуации.
Но вот тут то мы и попадаем в засаду (даже если оставить за скобками крайнюю недружелюбность к сему действию плюсов) — чем больше ты переписываешь стандартного кода, тем больше кода в проекте , и тем дороже и болезненнее рефакторинг.
Здравствуйте, CreatorCray, Вы писали:
S>>С появлением в начале нулевых Boost-а эти самые смарт-поинтеры можно был из Boost-а скомуниздить. CC>Мы тогда ещё поначалу скомуниздили, поплевались, выкинули, написали свои похожие, только поудобнее.
Да, тоже вариант. В любом случае, можно подсмотреть как сделано у других.
S>> Ну для этого нужны очень уж веские основания. CC>Они работают, этого достаточно.
Разве что если коллектив не расширяется и остается стабильным. Но вот когда в проект заходят новые люди, то им нужно как-то осваивать местные велосипеды. И, как мне представляется, самодельные лисапеды в подавляющем большинстве случаев задокументированы чуть-чуть лучше, чем никак.
Для того же Boost-а (ACE, POCO и т.д.) хоть какая-то документация есть, вопросы-ответы в интернете и т.д.
По своим же велосипедам только код этих самых велосипедов, хорошо если с комментариями. Хотя и встречаются редкие исключения.
Здравствуйте, Patalog, Вы писали:
P>Здравствуйте, vaa, Вы писали:
P>[]
vaa>>Ocaml is slower than C but faster than C++. P>Всегда удивляли долб.диб.странные люди, пишущие что С++ медленнее С,