Проф. пригодность, boost, Александреску и Ko
От: Alexey Chen Чили  
Дата: 04.10.04 12:44
Оценка: 45 (7) +1 -1
Филосовский вопрос.... Почему люди любят, просто обожают, решения в которых без бутылки водки не разберешся?

Я что-то не понимаю?

Как пример. Кто-то мне может сказать, почему BOOST — этот очень непрозрачный запутаный код, который в случае первой же проблемы сожрет кучу проектоного времени, преподноситься как светлое будущее всех C++ программеров? Почему Маерс и Александреску считаются символами истинной веры в правильный код, когда они только популизаторы конкреных и весьма не новых подходв. Я уже задолбался получать советы — 'почитай Маерса'. Почему все, чего нет в 'библии' — ламеризм?

Как связаны вещи перечисленные в сабже?



05.10.04 14:04: Перенесено модератором из 'Философия программирования' — AndrewVK
Re: Проф. пригодность, boost, Александреску и Ko
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.10.04 13:03
Оценка: 52 (9) +3 -1
Здравствуйте, Alexey Chen, Вы писали:

AC>Филосовский вопрос.... Почему люди любят, просто обожают, решения в которых без бутылки водки не разберешся?


AC>Как пример. Кто-то мне может сказать, почему BOOST — этот очень непрозрачный запутаный код, который в случае первой же проблемы сожрет кучу проектоного времени, преподноситься как светлое будущее всех C++ программеров? Почему Маерс и Александреску считаются символами истинной веры в правильный код, когда они только популизаторы конкреных и весьма не новых подходв. Я уже задолбался получать советы — 'почитай Маерса'. Почему все, чего нет в 'библии' — ламеризм?


Все нижесказанное мое личное мнение:

Дело в том, что С++ был спроектирован очень давно. Со временем этот язык стал стандартом универсального языка программирования. Но потребности постоянно росли и на сегодня С++ не отвечает современным требованиям рынка. Однако в С++ было введено одно мощьнейшее средство — шаблоны. С их помощью оказалось возможно эмулировать недостающие вомзожности языки и даже отчасти переписывать язык. Именно это и просходит в бусти и на страницах книг Александреску. Я не раз говорил, что С++ нужно реформировать, и что метапрограммирование на шаблонах далеко от идеала. Но многие согласны мериться с сложность, неуклюжестью и т.п. ради общего комулитивного эффекта язка. Ну, что же... время все расставит на свои места. Шарп/дотнет и Ява уже отъели немалый кусок рынка у С++ и отъедание продолжается. Если С++ не будет развиваться дальше, то все Бусты и Алексондреску ему не помогут. Но пока они продливают жизнь этому заслуженному языку. Хорошо это или плохо вопрос сложный. С одной стороны С++ был бы значительно больше ограничен в средствах без них, но с другой именно эти фичи позволяют не развивать язык в нужных направлениях.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Проф. пригодность, boost, Александреску и Ko
От: Кодт Россия  
Дата: 04.10.04 13:14
Оценка: +1
Здравствуйте, Alexey Chen,

Послушай совет мудрых, Write in C
Автор: UgN
Дата: 20.12.02
а не на С++

Boost — непрозрачный и запутанный в первую очередь из-за того, что пытается поддержать максимум компиляторов, со всеми их ограничениями и ошибками.
Поэтому его и превозносят: во-первых, "всё украдено до нас", и не надо изобретать велосипед (если только компилятор может поддержать соответствующую фичу буста); во-вторых, более-менее единый подход, наследующий идеи STL.

Александреску — не только популяризатор.
Книга "Modern C++ Design" — это исследование того, как выстроить фреймворк в едином подходе. А результат этого исследования — библиотека Loki.

Про "конкретные и весьма не новые подходы" — огласите весь список пожалуйста.
Перекуём баги на фичи!
Re: Проф. пригодность, boost, Александреску и Ko
От: StanislavK Великобритания  
Дата: 04.10.04 13:28
Оценка: 3 (1) +3 -2
Здравствуйте, Alexey Chen, Вы писали:

AC>Филосовский вопрос.... Почему люди любят, просто обожают, решения в которых без бутылки водки не разберешся?


AC>Я что-то не понимаю?


AC>Как пример. Кто-то мне может сказать, почему BOOST — этот очень непрозрачный запутаный код, который в случае первой же проблемы сожрет кучу проектоного времени, преподноситься как светлое будущее всех C++ программеров? Почему Маерс и Александреску считаются символами истинной веры в правильный код, когда они только популизаторы конкреных и весьма не новых подходв. Я уже задолбался получать советы — 'почитай Маерса'. Почему все, чего нет в 'библии' — ламеризм?


AC>Как связаны вещи перечисленные в сабже?


Думаю, что никак. Людей, которые обожают C++ для всего (т.е. говорят, что это универсальный современный язык, а не низкоуровневое средство), на мой взгляд, можно вполне назвать синтаксическими онанистами (только не бейте ).
Глядя на все эти конструкции голова идет кругом, это точно. А тольку от них мало... но зато, если разобрался, то писать приятно, причем чисто на индивидуальном уровне, т.е. "для себя" приятно, качество кода при этом скорее страдает. Страдает потому, что по опыту могу сказать, что 90%, а возможно и больше, программистов на С++ плохо разбираются в шаблонах и при виде нетривиальностей у них голова идет кругом.
Есть пара вещей, без которых трудно, но их немного. Например, ptr-ы, контейнеры и алгоритмы (кстати, их применение, почти всегда, тривиально, только если не встревают mem_func, бинды и т.д. Да и ну их в болото — без них проше!). Думаю, что этого вполне достаточно и остально скорее излишества, чем нечто приносяцее реальную пользу.
Я несколько лет писал на C++ и недавно перешел на java. Если честно, то доволен. Дискомфорта не испытываю. Зато теперь я забыл про язык и больше занят технологиями и бизнес-задачами. На мой взгляд, это большой плюс.
Re[2]: Проф. пригодность, boost, Александреску и Ko
От: Сантехник Беларусь  
Дата: 04.10.04 13:47
Оценка: +2
Здравствуйте, StanislavK, Вы писали:

SK>Я несколько лет писал на C++ и недавно перешел на java. Если честно, то доволен. Дискомфорта не испытываю. Зато теперь я забыл про язык и больше занят технологиями и бизнес-задачами. На мой взгляд, это большой плюс.


У меня наоборот. После Шарпа припахали на небольшой проект на плюсах. Вою и лезу на стены!!! Хотя до этого тоже писал на ЦПП несколько лет.
... << RSDN@Home 1.1.4 beta 2 rev. 0>>
Re: Проф. пригодность, boost, Александреску и Ko
От: mapa3m Беларусь  
Дата: 04.10.04 14:04
Оценка: 20 (5) +3 -1
Про "решения в которых без бутылки водки не разберешся". Когда я в первый раз читал Александреску, меня прежде всего поразила способность человека взглянуть на задачу/проблему под несколько иным, нетрадиционным углом зрения. Водка здесь не при чем. Александреску так мыслит, и это его отличает от других авторов "про С++".

Про "светлое будущее всех C++ программеров". Часто ли глядя на С++ код других людей (саппорт, рефакторинг и т.п.) ты можешь сказать что это писал профессионал, понимающий язык и его возможности? Я — не часто. БУСТ — пример того, как в трех строчках кода записать свою мысль наиболее выразительно, используя всю мощь языка. Не в "стиле С", как тебе уже отвечали, а "в стиле С++".
То же самое про символы веры и правильный код. Точно, Александреску, Мейерс, Саттер, Ву, Липпман и др. — популяризаторы. Ну так и хорошо! Я — за то чтобы грамотность программиста С++ повышалась, а не падала. Эти ребята — противовес книжным полкам "learn C++ power in 21 days". Мне нравится их подход к языку и возникающим задачам программирования (и проектирование тоже). Предлагаются красивые, продуманные и безопасные решения типовых задач, вот и все.
Не знаю как кому, но мне не нужны книги по С++, в которых на 200 страницах будут расписывать как работает виртуальная функция. Есть спрос — есть и предложение. Саттер собрал в книги многолетний опыт решения проблем на С++, используя FAQ и Guru of the Week. Александреску предложил весьма интересные идеи метапрограммирования с использованием шаблонов. Не нужно относиться к этому как "для просвещенных", "понты", "супер-пупер-вы#%@ны".

Наконец, про "как связаны вещи перечисленные в сабже". В принципе то о чем говорят перечисленные товарищи, ничего сверхсложного не несет. Но с другой стороны, определенный уровень понимания проблемы должен наличествовать. Если ты можешь понять списки типов, генератор распределенных иерархий, смарт-поинтеры на основе стратегий, классы характеристик, обобщенные функторы, то с достаточной уверенностью можно сказать что С++ тебе совсем не чужд, и твои познания в области его применения не ограничиваются написанием "hello world".
Re[2]: Проф. пригодность, boost, Александреску и Ko
От: LaptevVV Россия  
Дата: 04.10.04 14:10
Оценка: :)
Здравствуйте, mapa3m, Вы писали:

M>Про "светлое будущее всех C++ программеров". Часто ли глядя на С++ код других людей (саппорт, рефакторинг и т.п.) ты можешь сказать что это писал профессионал, понимающий язык и его возможности? Я — не часто. БУСТ — пример того, как в трех строчках кода записать свою мысль наиболее выразительно, используя всю мощь языка. Не в "стиле С", как тебе уже отвечали, а "в стиле С++".

Я сам С++ люблю именно за всякие фичи, которые открываешь. И так можно, и этак, и еще вот эдак, блин!!!!!
Но вспоминаю высказывние одного гуру про язык APL: программу из 4 строчек он рашифровывал около 4 часов. Скоро С++ станет в этом смысле похож на APL.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Проф. пригодность, boost, Александреску и Ko
От: Alexey Chen Чили  
Дата: 04.10.04 14:18
Оценка: 21 (7) +2 -1
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Alexey Chen,


К>Послушай совет мудрых, Write in C
Автор: UgN
Дата: 20.12.02
а не на С++

Шутку понял, смешно.
Писать на C... в этом есть свой кайф , но это совсем другой язык.

К>Boost — непрозрачный и запутанный в первую очередь из-за того, что пытается поддержать максимум компиляторов, со всеми их ограничениями и ошибками.

К>Поэтому его и превозносят: во-первых, "всё украдено до нас", и не надо изобретать велосипед (если только компилятор может поддержать соответствующую фичу буста); во-вторых, более-менее единый подход, наследующий идеи STL.
Дык, а зачем пытаться обьять необьятное? Особенность же 'наследует идеи STL' трудно назавать плюсом. Это именно особенность.
Кстати, идеи STL местами тоже слишком универсальны... в результате чего, меня, например, иногда упрекают, что здесь вот, я типа не использовал STL, а писал свое. Как же так? А то, что свое везде работает одинаково и в конкретном случае проще — не аргумент, ведь это противоречит вере в непогрешимость правильного подхода — 'не изобрети свой велосипед'. Воспользуйся, блин, готовым трактором. А если мне нужен именно легкий самокат, зачем мне трактор? Проблема то в том, что многие спецы считают что буст — решит все ваши проблемы, а как почему и сколько это будет стоить знать не надо, об этом уже подумали умные дяди. Правда потом, ингода, в гости заходит мелкий пушной зверёк, и приходится разбираться, что же эти умные дяди такого напридумывали.

К>Александреску — не только популяризатор.

К>Книга "Modern C++ Design" — это исследование того, как выстроить фреймворк в едином подходе. А результат этого исследования — библиотека Loki.
Да, согласен. Но данный труд написан, скорее как рекомендация к действию без упоменяния о пост-эффектах. Класическая схема ООП не так уж и плоха, только начитавшись данного исследования, об этом часто забывают. Я сам не могу себе представить программирование на C++ без шаблонов (могу конечно но очень не хочется), но всему есть свое место и время. На этом форуме, например, присутствует стремление все засунуть в такую гору шаблонов и макросов, что преимущества перед простой обьектной моделью, для меня, уже просто ускользают.

К>Про "конкретные и весьма не новые подходы" — огласите весь список пожалуйста.

Ну, можно просто по конкретному примеру... вот совсем недвно, сделал я простинький колбэк, на что мне сказали, что я ламер, буст рулит, а Александреску давно придумал функтор .... забыв при этом внмательно посмотреть, что я написал. Способ не новый, просто я не стал все это засовывать в гору макросов. Я не спорю что Александреску крут по поводу автогенерации кода по списку параметров, не уверен, что он сам это придумал, но идею он развил качественно. Хотя, имхо, этот раздел его исследования на практике бесполезен. Основное же, на что он напирает — параметризация стратегиями, далеко не новая идея, и вроде как, появилясь не в C++. В этом плане он выступает скорее как популизатор. И не всегда то, что он пишет хорошо подходит под задачи, о чем я кстати в его книге не видел ни слова. Но на своей практике я уже не раз видел тупой копипаст с примеров из замечательной (без кавычек) книги, без понимания почему и для чего. Святая вера, блин. Имхо, это плохо.

Я не про то, что Александреску и Маерс это плохие специалисты, я про то, что их книги это популизация методик, адаптированное, так сказать, изложение. И мне не понятно почему они воспринимаются как единствено верное откровение. Как догма.

Если человек не спользует shared_ptr, а пишет свой класс в несколько строк, и не тянет за собой дцать метров сырков он ламер
Если он не использует мега-bind и function, а стыдно сказать, пишет свой кусочек кода в несколько строк он недостоен быть C++ программером Да, мода рулит! Собственно, об этом я говорил, а не о том что в C++ не нужны шаблоны.
Re[3]: Проф. пригодность, boost, Александреску и Ko
От: dmz Россия  
Дата: 04.10.04 14:36
Оценка:
AC>В этом плане он выступает скорее как популизатор. И не всегда то, что он пишет хорошо подходит под задачи, о чем я кстати в его книге не видел ни AC>слова. Но на своей практике я уже не раз видел тупой копипаст с примеров из замечательной (без кавычек) книги, без понимания почему и для чего. AC>Святая вера, блин. Имхо, это плохо.

Это старая проблема — "дали мартышке пулемёт".
В общем, когда мартышка-программист, это не так страшно, по сравниению с мартышкой-менеджером
Так что можно не обращать внимание.
Re[2]: Проф. пригодность, boost, Александреску и Ko
От: Alexey Chen Чили  
Дата: 04.10.04 14:50
Оценка:
Здравствуйте, mapa3m, Вы писали:

M>Про "решения в которых без бутылки водки не разберешся". Когда я в первый раз читал Александреску, меня прежде всего поразила способность человека взглянуть на задачу/проблему под несколько иным, нетрадиционным углом зрения. Водка здесь не при чем. Александреску так мыслит, и это его отличает от других авторов "про С++".

Дык, кто же спорит. Только приподносит он это как единственно верное решение. Мне например очень не понравилось, как он опустил компонентную архитектуру перед тем как начал задвигать про шаблоны. Зачем это надо было делать?

M>Про "светлое будущее всех C++ программеров". Часто ли глядя на С++ код других людей (саппорт, рефакторинг и т.п.) ты можешь сказать что это писал профессионал, понимающий язык и его возможности?

Я не смотрю кто его писал, я смотрю понятно ли он его писал. Понятно — это когда для того чтобы понять что написано, не надо долго морщить лоб и представлять во что развернется эта строчка, или при возникновении баги перелопачивать груду сырков. Понятный код, обычно локален.

M>То же самое про символы веры и правильный код. Точно, Александреску, Мейерс, Саттер, Ву, Липпман и др. — популяризаторы. Ну так и хорошо! Я — за то чтобы грамотность программиста С++ повышалась, а не падала.

Знаешь, мне почему-то казалось, что грамотность программиста — это умение писать алгоритмы и дизайнить архитектуру программы, а не умение свести в одной строчке кода дцать сущностей...

M>Не знаю как кому, но мне не нужны книги по С++, в которых на 200 страницах будут расписывать как работает виртуальная функция. Есть спрос — есть и предложение. Саттер собрал в книги многолетний опыт решения проблем на С++, используя FAQ и Guru of the Week. Александреску предложил весьма интересные идеи метапрограммирования с использованием шаблонов. Не нужно относиться к этому как "для просвещенных", "понты", "супер-пупер-вы#%@ны".

Вот и я о том же, но таки относятся, и чем дальше тем больше... Чем заковыристее bind, тем круче программер
Как я смотрю по форумам, Саттер который рассматривает ошибки программирования на С++, очень редко упоминается, зато активно упоминается Маерс с его кукебук, и ссылки на Александреску, причем отнюдь не на списки типов и автогенерацию иерархий, а на функторы, алокаторы и умные указатели....
Re[3]: Проф. пригодность, boost, Александреску и Ko
От: Кодт Россия  
Дата: 04.10.04 15:06
Оценка: +1 :)))
Здравствуйте, LaptevVV, Вы писали:

LVV>Но вспоминаю высказывние одного гуру про язык APL: программу из 4 строчек он рашифровывал около 4 часов. Скоро С++ станет в этом смысле похож на APL.


Почему станет? Уже стал



Касательно APL.

На самом же деле, это простой язык матричных вычислений. Берём любую книгу по, скажем, матстатистике, цапаем оттуда какую-нибудь жирненькую формулу — как раз на 4 строчки, и долго-долго вчитываемся. Особенно, если пропустить 21 страницу комментариев.

Правда, у APL специфический синтаксис (все эти птички-кружочки) и порядок вычислений (слева направо без приоритетов, как у дешёвого калькулятора).
Дык берём matlab — там тоже всё с матрицами, но в ASCII. Кодируем упомянутую выше матстатистику, подсовываем студенту и злорадствуем.



Язык Lisp не от хорошей жизни расшифровывают как lots of idiotic stupid parentheses (тыщща идиотских скобок).
Он, конечно, помногословнее, чем APL — но тоже способен вогнать в транс.
Перекуём баги на фичи!
Re[4]: Проф. пригодность, boost, Александреску и Ko
От: LaptevVV Россия  
Дата: 04.10.04 15:09
Оценка:
Здравствуйте, Кодт, Вы писали:

К>

К>На самом же деле, это простой язык матричных вычислений. Берём любую книгу по, скажем, матстатистике, цапаем оттуда какую-нибудь жирненькую формулу — как раз на 4 строчки, и долго-долго вчитываемся. Особенно, если пропустить 21 страницу комментариев.
К>Правда, у APL специфический синтаксис (все эти птички-кружочки) и порядок вычислений (слева направо без приоритетов, как у дешёвого калькулятора).
Знаем-знаем! В студенчестве читал книгу про него на IBM.
К>Дык берём matlab — там тоже всё с матрицами, но в ASCII. Кодируем упомянутую выше матстатистику, подсовываем студенту и злорадствуем.

К>

К>Язык Lisp не от хорошей жизни расшифровывают как lots of idiotic stupid parentheses (тыщща идиотских скобок).
К>Он, конечно, помногословнее, чем APL — но тоже способен вогнать в транс/
Да, это точно!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Проф. пригодность, boost, Александреску и Ko
От: korzhik Россия  
Дата: 04.10.04 15:16
Оценка:
Здравствуйте, Alexey Chen, Вы писали:

ну во-первых спасибо за поднятие интересной темы, хотя она рискует перерасти в нехилый флейм, ну да ладно...

AC> Особенность же 'наследует идеи STL' трудно назавать плюсом.

Почему же, я считаю это плюсом,
человеку знакомому с идиомами приминяемыми в STL будет легко начать работать с BOOST.

AC>Кстати, идеи STL местами тоже слишком универсальны...

так и должно быть и в BOOST тоже самое, на то оно и обобщённое программирование.

AC>в результате чего, меня, например, иногда упрекают, что здесь вот, я типа не использовал STL, а писал свое.

А зачем писать своё если есть готовое проверенное решение

AC>А то, что свое везде работает одинаково

А STL и BOOST тоже везде работают одинаково

AC> и в конкретном случае проще

а расширяемость?

AC>Воспользуйся, блин, готовым трактором. А если мне нужен именно легкий самокат, зачем мне трактор?

а вот это уже аргумент.
мне вот недавно нужен был простейший токенайзер, взял бустовский, посмотрел, повертел и не стал его использовать
потому что действительно для моей задачи это был скорее не велосипед, а трактор.
Написал свой токенайзер, который работает в несколько раз быстрее бустовского.

AC>Проблема то в том, что многие спецы считают что буст — решит все ваши проблемы,

не все, но многие может решить

AC>а как почему и сколько это будет стоить знать не надо

по хорошему конечно надо знать сколько будет стоить то или иное средство,

AC>Класическая схема ООП не так уж и плоха, только начитавшись данного исследования, об этом часто забывают.

А причём тут ООП и книга Александреску?

AC>Я сам не могу себе представить программирование на C++ без шаблонов (могу конечно но очень не хочется), но всему есть свое место и время.

золотые слова.

AC>Александреску крут

AC>Но на своей практике я уже не раз видел тупой копипаст с примеров из замечательной (без кавычек) книги, без понимания почему и для чего.
тупой копипаст — это плохо. Согласен

AC>Святая вера, блин. Имхо, это плохо.

Вы наверно имели ввиду слепая вера?
если да, то тоже согласен.
слепая вера — это плохо

AC>Если человек не спользует shared_ptr, а пишет свой класс в несколько строк

shared_ptr в несколько строк не напишешь, это очень мощная штука.

AC>Александреску и Маерс это плохие специалисты, я про то, что их книги это популизация методик

Ну Александреску я бы не рекомендовал читать новичкам, лишняя нагрузка на мозг.
А вот Саттера и Мейерса очень рекомендую.
Именно как популизацию грамотного стиля и методик программирования на C++.

AC>Да, мода рулит! Собственно, об этом я говорил, а не о том что в C++ не нужны шаблоны.


Ну в общем я думаю в конце этой дискуссии мы прийдём к выводу что как всегда виновата прокладка между стулом и монитором
Re[3]: Проф. пригодность, boost, Александреску и Ko
От: jazzer Россия Skype: enerjazzer
Дата: 04.10.04 15:33
Оценка: 21 (6)
Здравствуйте, Alexey Chen, Вы писали:

AC>Если человек не спользует shared_ptr, а пишет свой класс в несколько строк, и не тянет за собой дцать метров сырков он ламер

AC>Если он не использует мега-bind и function, а стыдно сказать, пишет свой кусочек кода в несколько строк он недостоен быть C++ программером Да, мода рулит! Собственно, об этом я говорил, а не о том что в C++ не нужны шаблоны.

Вот я который год работаю в проекте, который использует стороннюю библиотеку, практически без возможности (по разным причинам) от нее избавиться.

Так вот граблей в ней море и баги фиксятся в ней до сих пор, а некоторые баги уже объявлены багофичами, ибо их исправление повлечет поломку кода, который написан в объезд бага.

И все потому, что в той фирме как раз и сидят такие люди, которых жутко прет писать свои классы, а гемор, который потом придется разгребать пользователям их чудо-класса — это уже не их дело, даже наоборот — пока есть баги, нужна их поддержка, т.е. к ним приедет еще бабла, и т.д., и т.п.

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


Так что как только я слышу слова: "STL большая и страшная, и что еще хуже — модная, давайте лучше быстренько напишем свой класс списка" — я очень жалею, что я не менеджер и не могу этого человека немедленно уволить.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: Проф. пригодность, boost, Александреску и Ko
От: jazzer Россия Skype: enerjazzer
Дата: 04.10.04 15:36
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, mapa3m, Вы писали:


M>>Про "светлое будущее всех C++ программеров". Часто ли глядя на С++ код других людей (саппорт, рефакторинг и т.п.) ты можешь сказать что это писал профессионал, понимающий язык и его возможности? Я — не часто. БУСТ — пример того, как в трех строчках кода записать свою мысль наиболее выразительно, используя всю мощь языка. Не в "стиле С", как тебе уже отвечали, а "в стиле С++".

LVV>Я сам С++ люблю именно за всякие фичи, которые открываешь. И так можно, и этак, и еще вот эдак, блин!!!!!
LVV>Но вспоминаю высказывние одного гуру про язык APL: программу из 4 строчек он рашифровывал около 4 часов. Скоро С++ станет в этом смысле похож на APL.

А я вот вспоминаю свои собственные впечатления, когда в однострочной формуле из квантовой механики разбираешься месяц.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Проф. пригодность, boost, Александреску и Ko
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.10.04 15:38
Оценка: 124 (14) :))) :))) :))) :))) :))) :))) :))) :))
Здравствуйте, StanislavK, Вы писали:

SK>Думаю, что никак. Людей, которые обожают C++ для всего (т.е. говорят, что это универсальный современный язык, а не низкоуровневое средство), на мой взгляд, можно вполне назвать синтаксическими онанистами (только не бейте ).


Ударим железным кулаком синтаксического онанизма по компонентной проституции!
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Проф. пригодность, boost, Александреску и Ko
От: Alexey Chen Чили  
Дата: 04.10.04 15:51
Оценка:
Здравствуйте, jazzer, Вы писали:

JJ>И все потому, что в той фирме как раз и сидят такие люди, которых жутко прет писать свои классы, а гемор, который потом придется разгребать пользователям их чудо-класса — это уже не их дело, даже наоборот — пока есть баги, нужна их поддержка, т.е. к ним приедет еще бабла, и т.д., и т.п.

Что-то мне подсказывает, что STL и BOOST там не помогут, хотя возможно я и ошибаюсь

J>И успешный переезд с одной версии компилятора на другую мы отмечали большой пьянкой, потому что половина неработающего с другой версией того же компилятора кода была связана с этой библиотекой.


Хм, STL... переезд с одной версии копилятора на другую, резкое падение производительности.... предолжения?
Основных причины было две, по другому реализованы алокаторы и list имел линейную сложность для size().
Про std::string на нескольких процессорах вспоминать будем?

J>Так что как только я слышу слова: "STL большая и страшная, и что еще хуже — модная, давайте лучше быстренько напишем свой класс списка" — я очень жалею, что я не менеджер и не могу этого человека немедленно уволить.


Хм, задача, нужно переключать контексты при нотификации кондишина, не как получится, а по порядку. Решение?
Не забываем что хип в многопоточноп коде — просад производительноси в 5-10 раз.
А потом думаем, что лучше, сделать свой список и держать ноду в стеке функции ожидания, или юзать std::list, но через задний проход.
Re[2]: Проф. пригодность, boost, Александреску и Ko
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.10.04 16:01
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:

VD>Все нижесказанное мое личное мнение:

Use IMHO as default — on

VD>Дело в том, что С++ был спроектирован очень давно. Со временем этот язык стал стандартом универсального языка программирования. Но потребности постоянно росли и на сегодня С++ не отвечает современным требованиям рынка. Однако в С++ было введено одно мощьнейшее средство — шаблоны. С их помощью оказалось возможно эмулировать недостающие вомзожности языки и даже отчасти переписывать язык. Именно это и просходит в бусти и на страницах книг Александреску. Я не раз говорил, что С++ нужно реформировать, и что метапрограммирование на шаблонах далеко от идеала. Но многие согласны мериться с сложность, неуклюжестью и т.п. ради общего комулитивного эффекта язка.

Прости, а что ты называешь в данном случае "кумулятивным эффектом"?

VD>Ну, что же... время все расставит на свои места. Шарп/дотнет и Ява уже отъели немалый кусок рынка у С++ и отъедание продолжается. Если С++ не будет развиваться дальше, то все Бусты и Алексондреску ему не помогут. Но пока они продливают жизнь этому заслуженному языку.

Я скажу больше — VBA тоже имеет немалый кусок рынка. И что из того? C++ развивался совсем не имея в качестве цели монополизацию рынка. Так что, подобные аналогии здесь — "мимо кассы". Вопрос же не в массовости...

VD>Хорошо это или плохо вопрос сложный. С одной стороны С++ был бы значительно больше ограничен в средствах без них, но с другой именно эти фичи позволяют не развивать язык в нужных направлениях.

Правильно, потому что ответом на "новое направление" часто может быть только новая группа шаблонов. Чего шум-то поднимать?
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Проф. пригодность, boost, Александреску и Ko
От: Alexey Chen Чили  
Дата: 04.10.04 16:18
Оценка:
Здравствуйте, korzhik, Вы писали:

K>Здравствуйте, Alexey Chen, Вы писали:

AC>> и в конкретном случае проще
K>а расширяемость?
А вседа ли она нужна, и в каком виде? Расширять то можно тоже по разному.

AC>>в результате чего, меня, например, иногда упрекают, что здесь вот, я типа не использовал STL, а писал свое.

K>А зачем писать своё если есть готовое проверенное решение
Вспомним замечательный std::string, который фиг знает как работает, сколько памяти занимает, и в некоторых версиях компилиров не может содежать UNICODE и передаваться за пределы модуля (DLL)? У С++ очень странный стандарт.Это даже не стандарт, а рекомендации.
И полагать, что код сделаный из учета этих рекомендаций будет работать везде и всегда.... можно конечно, до первого столба.

AC>>Класическая схема ООП не так уж и плоха, только начитавшись данного исследования, об этом часто забывают.

K>А причём тут ООП и книга Александреску?
Он очень интересно относится к динамическим системам, ставя во главу угла статику. Причем очень жёстко очерчивая свою позицию.
Конкретно глава 1.2. Особенно мне понравилось про огромный размер и интеллектульные издержки... нет, это не про шаблоны.
Хм, размышления в этой главе относятся к очень узкому кругу задач и местами высосны из пальца. Но тем неменее, предодносятся как единственно верные. Java,C#,Eiffel и т.д. — 'очевидно, что идти этим путем не следует'. Вот именно за это я и не люблю популистов!

AC>>Если человек не спользует shared_ptr, а пишет свой класс в несколько строк

K>shared_ptr в несколько строк не напишешь, это очень мощная штука.
Хм, зависит от потребностей. Вам всегда были нужны все возможности? У меня есть проекты где достаточно класса в несколько строк кода. Но зато этот код локален, легко интегрируем и прозрачен.

C STL'ем все ясно и я от него не в восторге, излишеств в нем тоже хватает. Но мне действительно не понятно, зачем нужем такой монстр как BOOST, кроме как для академических целей. И зачем его тащить в стандарт? Это я к тому что последнее время часто слышу фразу типа — 'как? вы не используете boost — это же следующий стандарт!'.
Re[5]: Проф. пригодность, boost, Александреску и Ko
От: dmz Россия  
Дата: 04.10.04 17:15
Оценка: :)
JJ>>И все потому, что в той фирме как раз и сидят такие люди, которых жутко прет писать свои классы, а гемор, который потом придется разгребать
пользователям их чудо-класса — это уже не их дело, даже наоборот — пока есть баги, нужна их поддержка, т.е. к ним приедет еще бабла, и т.д., и т.п.
AC>Что-то мне подсказывает, что STL и BOOST там не помогут, хотя возможно я и ошибаюсь
Помогут. Вы бы видели ЭТИ хэши. И ЭТИ списки.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.