Re[3]: Любители Буста
От: LaptevVV Россия  
Дата: 28.12.12 09:36
Оценка: :)
Здравствуйте, MTD, Вы писали:

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


Q>>У меня для тебя плохая новость


MTD>У меня для тебя тоже плохая новость. Не в первый раз сталкиваюсь с твоим задором неофита, хотя вроде бы ты не студент. Так вот, по моему мнению, разработчик проходит три этапа:

MTD>1. Он еще мало, что знает и пишет так как может
MTD>2. Ему кажется, что он уже многое знает и тут начинаются трюки, стремление вместить побольше паттернов, обожествление Буста и Александреску
MTD>3. Он действительно знает и умеет, поэтому пишет простой, понятный и расширяемый код
Эффект второй системы, отмеченный еще Бруксом в его книге "Мифический человеко-месяц"
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Любители Буста
От: landerhigh Пират  
Дата: 28.12.12 10:26
Оценка: +1
Здравствуйте, Qbit86, Вы писали:

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


Q>У меня для тебя плохая новость: «хитрожопый бинд» переехал из Буста в Стандарт, теперь ты будешь встречать его всё чаще.


bind можно очень легко "использовать" так, что понадобится три Александреску, чтобы понять, что хотел сказать аффтар.

У нас на всех проектах есть джентельменское соглашение — не рисовать вложенные bind.
Re[3]: Об отладке
От: landerhigh Пират  
Дата: 28.12.12 10:42
Оценка: 1 (1) +1
Здравствуйте, MTD, Вы писали:

MTD>А теперь ссылка на столь почитаемых тобой авторитетов:

MTD>

MTD>Отладка — вдвое более сложный процесс, чем написание кода с нуля. Поэтому, если Вы пишите код на грани своих умственных сил, Вы по определению не будете достаточно умны, чтобы отладить его.

MTD>Брайан Керниган


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

Это скорее к недавней теме о юнит-тестах из соседнего форума.
Re[4]: Об отладке
От: MTD https://github.com/mtrempoltsev
Дата: 28.12.12 10:53
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Но вот что совершенно точно, та это то, что отладка — очень медленный, малоэффективный и совершенно не поддающийся автоматизации процесс.


Коллега, с этим спорить невозможно.

L>Поэтому я, например, пишу для своего кода юнит-тесты.


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

L>Отладкой собственного кода приходится заниматься ровно в двух случаях.


Здесь надо уточнить, что подразумевается под отладкой, если трассировка в отладчике, то я этим занимаюсь от силы раз в пол года, но с другой стороны я часто медитирую над логами — это отладка?
Re: i+++++i (но топик не про это :) )
От: alnsn Великобритания http://nasonov.blogspot.com
Дата: 28.12.12 11:14
Оценка:
Здравствуйте, Anpek, Вы писали:

A>Во почитал тут про просьбу накидать извратов в С++

A>И встал вопрос — зачем все это?
A>Я всю жизнь прогаю на С++, но никак не пойму — зачем писать код, который, чтобы понимать, надо хрен знает сколько знать?

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

A>Это я только пример привел, таких примеров куча
A>И не надо говорить, что я старый пердун и не хочу разбираться в новых технологиях и веяниях

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


А я с буста перешел на netbsd. Тоже самое сделал jmmv. А еще мы немного Lua балуемся :-;
Re[5]: Об отладке
От: landerhigh Пират  
Дата: 28.12.12 11:40
Оценка: 1 (1)
Здравствуйте, MTD, Вы писали:

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


L>>Но вот что совершенно точно, та это то, что отладка — очень медленный, малоэффективный и совершенно не поддающийся автоматизации процесс.


MTD>Коллега, с этим спорить невозможно.


Спасибо, я старался

L>>Поэтому я, например, пишу для своего кода юнит-тесты.


MTD>Я тоже пишу, но они иногда не работают, а иногда работают, но не работает программа (почему вопрос для отдельной темы).


Ну, у нас если юнит-тесты не работают, то билд банально не проходит. Они, впрочем, не панацея и иногда система все же не работает, но это и правда вопрос для отдельной темы.

L>>Отладкой собственного кода приходится заниматься ровно в двух случаях.


MTD>Здесь надо уточнить, что подразумевается под отладкой, если трассировка в отладчике, то я этим занимаюсь от силы раз в пол года, но с другой стороны я часто медитирую над логами — это отладка?


Думаю, что как Кернинган, так и большинство соучаснегов этого форума под отладкой понимают таки трассировку.
А по поводу логов — смотря что за логи. Если это логи типа "захожу в функцию, выхожу из функции, ой упало" (такое видел и не раз) — то это недалеко ушло от сиденья в дебаггере.

А вот если это пользовательский лог "не могу подключиться, потому что удаленный хост не отвечает" или инженерный, позволяющий легко восстановить последовательность событий вроде "отправили пакет А — получили ответ и успешно его обработали, отправили пакет Б — получили тонну каких-то кракозябр, которые разобрать не можем и посему отключились от греха подальше", то это уже совсем другое дело и порой без этого вообще никак.
Re: i+++++i (но топик не про это :) )
От: HolyNick  
Дата: 28.12.12 13:57
Оценка: +1 :)
"Когда ученым нечего исследовать, они начинают усовершенствовать орудия исследования."
Re[6]: Любители Буста
От: Кодт Россия  
Дата: 28.12.12 20:33
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Я уж не говорю про Хаскель — у него частичное применение по-человечески сделано только для начальных аргументов, а чтоб связать, скажем, только третий аргумент — придется лямбду писать и/или юзать костыли типа flip


J>Так что Boost.Bind — это совсем не плохой пример реализации этой функциональности.


Ну, flip — это для тех случаев, когда нельзя использовать сечения (x `foo`) / (`foo` x).
А если бы их можно было использовать — там получился бы такой адский инфиксный ад со скобками.
Так что вся эта игра в тацитную нотацию — это даже не от безысходности (как в APL/J/K), а больше от баловства (имхо). Не зря же хаскельщики один из комбинаторов так и называют: "оператор сиськи" (.)(.)

Местоимения хороши, когда они в язык встроены (хотя бы с помощью макросистемы, как в lisp/th/n). Иначе всякие заморочки вылезают, которые надо компенсировать многословностью (трёхэтажные bind'ы).
А так, велика ли разница написать \x y -> f x 123 y против f(_,123,_) ?
Перекуём баги на фичи!
Re[2]: Любители Буста
От: __kot2  
Дата: 28.12.12 22:36
Оценка: 1 (1)
Здравствуйте, Qbit86, Вы писали:
Q>У меня для тебя плохая новость: «хитрожопый бинд» переехал из Буста в Стандарт, теперь ты будешь встречать его всё чаще.
если что-то переехало в стандарт, то не факт что люди будут этим пользоваться. вон, auto_ptr или deque сто лет в стандарте и никто их не использует
Re[2]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 01:48
Оценка: 1 (1)
Здравствуйте, Qbit86, Вы писали:

Q>У меня для тебя плохая новость: «хитрожопый бинд» переехал из Буста в Стандарт, теперь ты будешь встречать его всё чаще.

Зачем бы это, при живых-то лямбдах?

Q>Почему не надо? Брюзжание про «любителей Буста» именно так и выглядит.

Например потому, что это переход на личности...

Q>Вгоняет в ступор бинд — ну что ж — плохо быть тобой. По возможности избегайте этого.


В ступор вгоняет не бинд, а его применение не по делу.
По идее продвинутые средства должны удешевлять поддержку кода, а не удорожать её...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 01:50
Оценка:
Здравствуйте, NeoCode, Вы писали:

Q>>У меня для тебя плохая новость: «хитрожопый бинд» переехал из Буста в Стандарт, теперь ты будешь встречать его всё чаще.


NC>Я считаю, что прежде чем вносить в Стандарт, нужно было подумать головой и сделать как следует — то есть добавить эту концепцию (и множество других) в сам язык, а не в библиотеку. Сделать ее атомарной (как массивы, функции и классы), а не реализованной на каких-то навороченных шаблонах и дефайнах. Чтобы была нормальная поддержка компиляторами, нормальные сообщения об ошибках и т.д.


Дык лямбды жеж...

NC>Не знаю что имел в виду топикстартер, но лично у меня претензия не к самой концепции (которая весьма неплоха и весьма полезна), а к тому что все это реализовано средствами, изначально для этого не предназначавшимися. То, что в нормальном языке должно быть потрохами компилятора, в С++ существует в открытом виде в хитрожопых инклудах буста.


Дык легаси...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 01:54
Оценка: 8 (1) +1 -1
Здравствуйте, Qbit86, Вы писали:

Q>Я пишу на разных языках, и C++ вовсе не самый предпочтительный. Буст и новый Стандарт — это вещи, которые делают процесс написания на C++ хоть сколь-нибудь сносным. Их наличие — этот тот минимум, с которым я ещё готов браться за C++.


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

Q>Использование большей части Буста не требует приложения чрезвычайных умственных усилий. Но использование Boost.Bind всё-таки предполагает понимание концепций функций высших порядков и замыканий. Если Boost.Bind вызывает сложности, то это скорее проблема не Буста, а понимания идей, за ним лежащих. Возможно, стоит начать с чего-то попроще, со Scala/C#/F#/Python (и не побоюсь этого слова Haskell). После этого суть «хитрожопых биндов» будет проще разглядеть за вырвиглазным плюсовым синтаксисом.


Ты рассказываешь о своих личных интеллектуальных трудностях, и твоей личной истории их преодоления, а не о проблемах бустовых биндов..
Проблема биндов в том, что если что-то не работает, то отлаживаться неудобно, а не в понимании концепции замыканий и функций, оперирующих с функциями...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 02:00
Оценка: -1
Здравствуйте, Qbit86, Вы писали:

Q>Если делать язык с нуля, то, разумеется, функции желательно делать первоклассными объектами, и поддержка частичных применений должна быть естественной.

Кому должна? Зачем ей быть естественной?
Тебя не смущает, что таких языков разработали просто тонны, и они все мало кому нужны почему-то?
Вот, например, всё, что ты хочешь было уже в LISP, который постарше плюсов будет...
И где тот LISP?..

Q>Всё верно. Но с учётом контекста и истории, на текущем этапе эволюции C++ внесение этих вещей в библиотеку, а не ядро — предпочтительнее.


Топик вообще не про это, а про другое.
Почему-то современным инженерам вообще не прививают идею, что писать надо как можно проще, а не как можно сложнее. Про это топик.
То, что ты смог таки одолеть идею биндов говорит о тебе только хорошо и позитивно, только я меня есть маленький совет. Не надо этим хвастаться. Тут есть дофига народу, для кого эта идея вообще никакой трудности не доставила. Для них твои похвальбишки выглядят слегка забавно
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 02:01
Оценка: -1 :)
Здравствуйте, Qbit86, Вы писали:

Q>Ок. Просто «любители Буста» звучало несколько провокационно и пренебрежительно.

Дык "профессионалы буста" -- это вообще диагноз
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 02:02
Оценка: +1
Здравствуйте, Ops, Вы писали:


Ops>А тебе не пофиг, как оно реализовано? Я вот очень давно не залезал в исходники ни буста, ни стандартной библиотеки, хотя использую все это каждый день.


А сколько у тебя подчинённых, которые время от времени кодят то, что потом не могут быстро отладить, когда заложенная ими мина таки бахнет?..
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Любители Буста
От: Erop Россия  
Дата: 29.12.12 02:07
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>bind можно очень легко "использовать" так, что понадобится три Александреску, чтобы понять, что хотел сказать аффтар.

Всё ещё хуже. Часто у некоторых аффторов полёт мысли достигает таких высот абстракции, что они и сами не в курсе, что же они хотели сказать...
А работает всё, в результате, по каким-то случайным причинам и не всегда, а когда повезёт, соответственно
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: Об отладке
От: Erop Россия  
Дата: 29.12.12 02:10
Оценка: +1
Здравствуйте, landerhigh, Вы писали:


L>Думаю, что как Кернинган, так и большинство соучаснегов этого форума под отладкой понимают таки трассировку.


Очень сильно сомневаюсь...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Любители Буста
От: jazzer Россия Skype: enerjazzer
Дата: 29.12.12 03:42
Оценка:
Здравствуйте, Кодт, Вы писали:

К>А так, велика ли разница написать \x y -> f x 123 y против f(_1,123,_2) ?

Второе очевидно короче и понятнее
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[7]: Любители Буста
От: Cyberax Марс  
Дата: 29.12.12 04:50
Оценка:
Здравствуйте, kaa.python, Вы писали:

J>>Юзай GDB >= 7.0 — там есть питоновские постпроцессоры, можно настроить на выкидывание из стектрейса всяких потрохов Boost.Bind, Boost.Test etc

KP>Я не уверен что на Mac OS X доступен GDB >= 7.0. Вернее я на 99% что он там не доступен и никогда не будет доступен, ибо GPL 3.0
Прекрасно он там доступен, просто руками надо собрать. Даже с XCode можно интегрировать при желании (а ещё с IntelliJ AppCode).

KP>И да, я говорю не только и не столько о стектрейсе, сколько о команде удобстве использования s, n, fin в этом случае.

Helper'ы рулят.
Sapienti sat!
Re[8]: Любители Буста
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 29.12.12 05:56
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Прекрасно он там доступен, просто руками надо собрать. Даже с XCode можно интегрировать при желании (а ещё с IntelliJ AppCode).


Да, пожалуй ты прав, в портах лежит 7.5. Слона то я и не приметил

KP>>И да, я говорю не только и не столько о стектрейсе, сколько о команде удобстве использования s, n, fin в этом случае.

C>Helper'ы рулят.

Кто рулит?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.