Здравствуйте, Handie, Вы писали:
H>>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше D>>Нет, просто стараются дать как можно более гибкое решение. Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.
H>Сравним код:
Предложи свой вариант библиотеки. Я если честно слабо представляю, как можно на плюсах написать меньше буковок.
N>зачем мне холодильник если я не курю.
я чо-то не осилил полет мысли
зачем мне такая либа на c++, которую нужно не по децки затачивать под каждый компилер c++ из доступных мне ?
N>Одесские конторы, имена называть не буду. Продукты почти у всех кроссплатфоменные, в основном win/lin
Остается создать свою контору c блэк-джеком и шлюхами c бустом и исключениями.
N>>зачем мне холодильник если я не курю. R>я чо-то не осилил полет мысли R>зачем мне такая либа на c++, которую нужно не по децки затачивать под каждый компилер c++ из доступных мне ?
Вы boost-ом пользовались?
Вам затачивать ничего не нужно, вы же сами сказали что все workaround внутри boost и забота это того кто эту библиотеку из boost поддерживает.
, но опять таки правил через используя тот же boost::bind.
В связке XCode — OSX таких проблем вобще нет, но это прошу учесть что на сайте boost не заявлено что он для iOS собираться должен, а он тем не менее собирается и работает.
Здравствуйте, TimurSPB, Вы писали:
N>>Одесские конторы, имена называть не буду. Продукты почти у всех кроссплатфоменные, в основном win/lin TSP>Остается создать свою контору c блэк-джеком и шлюхами c бустом и исключениями. Я работаю в этом направлении.
D>>Предложи свой вариант библиотеки. Я если честно слабо представляю, как можно на плюсах написать меньше буковок.
R>ACE ? R>в 104 cтроки например
Ну мне как-то 104 и 137 примерно одинаково. Ну в одном я с тобой согласен, асе конечно гораздо менее укушенная александреску библиотека
N>Вы boost-ом пользовались?
мы пользовались. надеюсь никогда больше не
N>Вам затачивать ничего не нужно, вы же сами сказали что все workaround внутри boost и забота это того кто эту библиотеку из boost поддерживает. N>Да.. косяки есть с компиляторами. Например из того что правил последний раз (XCode и phoenix для iOS)
Здравствуйте, nen777w, Вы писали:
N>Походил тут по собеседованиям, почти везде НЕ используют boost.
Большая, тяжёлая, глючная. Чинить в ней баги просто атас. Бывало роняла компиляторы (2003й студии).
Только из собственного опыта два раза видел когда обновление буста ломало старый код, на бусте основанный.
В общем причин достаточно, другой момент что не все напарываются на баги и глюки буста в критичном для них месте.
Буст либа не коммерческая, никого нельзя прижучить чтоб максимально быстро исправили баг. Если глючит — колупайся и чини сам. А там внутрях адЪ и усеницы.
Те кто напарывался — стараются его больше не использовать.
N>В прошлом проекте (на работе) я насильно привил boost и вроде никто не жаловался, в своих же проектах без boost никуда.
А что ты из него используешь, что нельзя было бы реализовать самостоятельно в случае необходимости?
N>Либе уже 1.50 скоро исполниться, а аргумент у всех один и тот же... "Если програмер который писал на boost уйдет в отпуск или уволится этот код будет сложно поддерживать другому програмеру".
Порой если программеру дать в руки готовую библиотеку то он начнёт все задачи подгонять под имеющиеся решения из этой библиотеки.
Не так давно видел создание и чтение XML файлов через boost::property_tree — ИМХО за такое надо нещадно пиз...ть!
N>А на вопрос ну так что лучше писать свои велосипеды а потом там ловить баги, отвечают как то невнятно.
Ты знаешь, но лучше. Велосипед в силу специализации под нужды проекта обычно получается куда более простой (не надо поддерживать кучу вариантов специализации например) и поэтому поддерживать его куда проще.
Опять таки, буст пишут не боги а такие же прогеры какие будут писать свой велосипед. Так что ещё вопрос чей код окажется хуже.
N>В одной конторе спросили: "А если у вас забрать boost вы сможете писать код?", блин странные вопросы люди задают.
Совершенно нормальный вопрос, ИМХО.
Он скорее звучит так: сможешь ли работать если по условиям проекта будут ограничения на использование стороннего кода.
У меня как то была задача реализовать RSAES-OAEP своими силами. Т.е. никаких сторонних библиотек, абсолютно весь код модуля должен быть нашего авторства и под нашей лицензией.
За то бабло, которое было заплачено я готов ещё раз написать что нить подобное с нуля.
N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?
Жизнь порой бывает сложной.
Здравствуйте, Шубин Евгений, Вы писали:
ШЕ>Плюс есть люди, которые считают, что исключения — зло. Исключения активно используются в бусте.
Исключения не зло, просто пользоваться ими надо строго по назначению. Иначе писать код под обработку исключений становится довольно некомфортно.
ШЕ>То же самое с шаблонами (лучше макросы ).
Шаблонов как и макросов ИМХО должно быть вмеру.
Здравствуйте, denisko, Вы писали:
H>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше D>Нет, просто стараются дать как можно более гибкое решение.
Эта "гибкость" часто приводит к нескольким вещам: без бутылки не разберёшься, работает медленнее чем такой же велосипед, хрен что починишь если сломано.
D>Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.
Увы, но ИМХО есть.
D>Я помню, как один мой сотрудник пытался протащить буст для компиляции под устройство. Так-то он нормальный парень, а тут что-то страшно ему без буста стало.
ИМХО плох тот программер который не сможет сам реализовать нужные ему хелперы.
Здравствуйте, vsb, Вы писали:
vsb>Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу.
В результате чтоб разобраться как ЭТО адаптировать и почему оно не компилится выдавая километр ошибок приходится тратить тонны времени.
vsb>Или требует настолько большой квалификации, что многим проще переписать, чем разобраться?
Именно! Порой реализовать аналогичный функционал куда проще чем разобраться с тем, что в бусте вокруг него навернули "для удобства".
Здравствуйте, Just Men, Вы писали:
vsb>>Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу. Неужели это всё впустую? Или требует настолько большой квалификации, что многим проще переписать, чем разобраться? JM>!!!! Как это требует настолько большой квалификации чтобы разобраться, то есть если квалификация низкая то придется переписать!
Объясняю: чтоб написать core functionality может быть нужна относительно высокая квалификация в предметной области. Она как правило у опытных людей есть. А вот разобраться в нагромождении шаблонов над ней надо квалификация писать и читать такие вот многоэтажные нагромождения, что как правило у вменяемых людей отсутствует — они стараются писать максимально просто.
Разный скилл нужен в общем. Для использования бывает надо быть укушеным Александреску.
Здравствуйте, Just Men, Вы писали:
JM>Я например считаю, что чем больше высокуровневых библиотек используется, особенно не мега звездами программирования, тем более медленный код получается, и тем больше он жрет памяти. Просто люди вместо того что бы написать
JM>
JM>for ( size_t i=0;i<Arr.Size; i++ )
JM> Делать что-то();
JM>
JM>Пишут вызовы библиотек думая что там нет никаких циклов и вообще они быстро работают.
Так их, правильно!
Смерть тормозному высокоуровневому BLAS-у и прочим MKL-ям!
Линейный цикл всех порвет!
Т>Большая, тяжёлая, глючная. Чинить в ней баги просто атас. Бывало роняла компиляторы (2003й студии). Т>Только из собственного опыта два раза видел когда обновление буста ломало старый код, на бусте основанный. Т>В общем причин достаточно, другой момент что не все напарываются на баги и глюки буста в критичном для них месте. Т>Буст либа не коммерческая, никого нельзя прижучить чтоб максимально быстро исправили баг. Если глючит — колупайся и чини сам. А там внутрях адЪ и усеницы. Т>Те кто напарывался — стараются его больше не использовать.
+100500