VE>>Очень люблю слова "очевидно", они обычно скрывают то, что _кажется_ очевидным автору. RD>Если у Вас не команда, а сброд идиотов, то не надо высоких технологий чтобы случась беда. Они себе вилкой глаза выколят и привет.
Это как-то связано с дебаггером и/или Хаскелем?
RD>Если же у Вас нормальные люди (а я наивно предполагал, что FP в основном пользуются именно такие), то они будут писать нормальный софт и дебаггер им не понадобится. Поэтому дебаггер (как и любая другая не критичная фича) не является в нормальной ситуации вредной.
На дебаггер тратятся усилия разработчиков ЯП, которые могли бы быть потраченными на другие вещи, на исправление тех же ошибок, например.
Поэтому наличие дебаггера в ЯП, при условии его неиспользования подавляющим большинством, является вредным.
RD>Но поскольку в отличии от некоторых я не страдаю красноглазием, то могу предположить, что в каких-то экзотических условиях дебаггер может оказаться полезен даже в Хаскелле. Лично я, конечно, с такими случаями не сталкивался (и дай Бог, чтоб не столкнулся).
Я не "красноглазен", глаза у меня серо-голубые, а склера голубоватая, как у любого здорового человека.
Я просто стараюсь быть логичным и последовательным, стараюсь рассмотреть феномен с разных сторон.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
T>>Я думаю, отсутствие отладчика не критерий для умного программиста. А потом перестанет быть критерием и для остальных. MC>Отладка отладке (и отладчик отладчику) рознь. Я вот вполне обхожусь без брейкпоинтов и прохода по шагам в haskell и scheme. Но для той же scheme без возможности поглядеть результат развертки макроса бывает туго. Так что инструментарий должен быть адекватен языку.
От Template Haskell у меня похожие ощущения.
MC>Кстати, а с чего вообще было решено, что для haskell нет средств отладки? Определенное количество тулзеней отчетливо гуглится (например, hood).
В ghc отладчик есть.
ghci :? выводит среди команд :trace, :step, :break и тп.
Но попытаться поселить сомнения в несомненной пользе наличия отладчика надо.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
RD>>Вообще-то ваша беспочвенная самоуверенность рискует стать легендой. T>Моя уверенность имеет под собой основания.
Верится с трудом. Даже через силу не получается.
А вообще-то мужики, что сжигали товарища Бруно, тоже были уверены на все 100% в своей правоте. И говорят, у них были на то все основания. Ведь Бруно не только утверждал что Земля вращается вокруг Солнца а еще и колдовством баловался.
T>Ты не путай зависимости, возникающие на Java и зависимости, возникающие на ФЯ.
Ага, конечно. Я вижу, Вы уже готовы начать лекцию на тему side effects. Зависимости они и в Африке зависимости. То, что на тот же объем кода у Haskell зависимостей меньше чем у Java, еще не значит что их нет.
T>Тогда в чём проблема?
Да ни в чем. Пожалуй только в том, что черное любите называть белым.
T>Ты, по-моему, не смог соотнести eeek в ссылке и eeek в тексте по ссылке. T>Ничего про exchange я не говорил и писать его не собираюсь (пока не собираюсь).
Ну хорошо, eeek так eeek. У меня тоже была подобная история. В offscreen bitmap была неправильная битность и лечилось это рисованием синей линии вне границ этого битмапа. Причем было это только в одной версии JVM и только на одной платформе. И что? Просто баг в сторонней библиотеке. Некоторые не исправляют годами. И можешь писать свою программу сколь угодно модульно, все равно от проблем в сторонних библиотеках это не защитит.
RD>>Если честно, то я тоже сдержался и не нахамил после вашей заяки про debuggerы. T>Высокое жюри не сможет учесть этот факт. Он не был запротоколирован, в отличии от моего.
Мне высокое жюри побоку. Его основная задача — объяснять приехавшим по вызову бригадам, что это на самом деле Гений, и забирать его не надо.
Здравствуйте, Rtveliashvili Denys, Вы писали:
RD>А вообще-то мужики, что сжигали товарища Бруно, тоже были уверены на все 100% в своей правоте. И говорят, у них были на то все основания. Ведь Бруно не только утверждал что Земля вращается вокруг Солнца а еще и колдовством баловался.
Самокритично.
Это мужики считали очевидной плоскостность земли, да
VE>>>Очень люблю слова "очевидно", они обычно скрывают то, что _кажется_ очевидным автору. RD>>Если у Вас не команда, а сброд идиотов, то не надо высоких технологий чтобы случась беда. Они себе вилкой глаза выколят и привет.
T>Это как-то связано с дебаггером и/или Хаскелем?
см. ниже
RD>>Если же у Вас нормальные люди (а я наивно предполагал, что FP в основном пользуются именно такие), то они будут писать нормальный софт и дебаггер им не понадобится. Поэтому дебаггер (как и любая другая не критичная фича) не является в нормальной ситуации вредной.
T>На дебаггер тратятся усилия разработчиков ЯП, которые могли бы быть потраченными на другие вещи, на исправление тех же ошибок, например.
1. усилия разработчиков _ЯП_ на дебаггер не тратятся. На это тратятся усилия как правило других команд. По крайней мере так происходит в mainstream.
2. Haskell появился в 1990г. Если 18 лет это так мало, но и 180 будет мало чтобы сделать окружение ЯП удобным.
T>Поэтому наличие дебаггера в ЯП, при условии его неиспользования подавляющим большинством, является вредным.
глупости. см. выше.
RD>>Но поскольку в отличии от некоторых я не страдаю красноглазием, то могу предположить, что в каких-то экзотических условиях дебаггер может оказаться полезен даже в Хаскелле. Лично я, конечно, с такими случаями не сталкивался (и дай Бог, чтоб не столкнулся).
T>Я не "красноглазен", глаза у меня серо-голубые, а склера голубоватая, как у любого здорового человека.
Есть такое понятие как "образное выражение". Видимо Вам оно не знакомо.
T>Я просто стараюсь быть логичным и последовательным, стараюсь рассмотреть феномен с разных сторон.
Что-то Ваши разные стороны находятся с одного боку.
RD>>А вообще-то мужики, что сжигали товарища Бруно, тоже были уверены на все 100% в своей правоте. И говорят, у них были на то все основания. Ведь Бруно не только утверждал что Земля вращается вокруг Солнца а еще и колдовством баловался.
VE>Самокритично. VE>Это мужики считали очевидной плоскостность земли, да
Нет, дорогой товарищ. Было очеведно что Бруно — колдун. Для тех кто в танке: колдун не потому, что Земля летает вокруг Солнца, он действительно занимался магией. А на все остальное легла тень именно из-за этого. И потому что те, кто его судили, тоже были очень во всем уверенны.
А как вы нашли самокритичность — тема для глубокого научного изыскания.
RD>>>Вообще-то ваша беспочвенная самоуверенность рискует стать легендой. T>>Моя уверенность имеет под собой основания. RD>Верится с трудом. Даже через силу не получается. RD>А вообще-то мужики, что сжигали товарища Бруно, тоже были уверены на все 100% в своей правоте. И говорят, у них были на то все основания. Ведь Бруно не только утверждал что Земля вращается вокруг Солнца а еще и колдовством баловался.
Умолкаю.
А то ещё сожгут.
Хотя Бруно сожгли за то, что воровал и колдовал, а множественность миров к тому времени публично обсуждалась на уровне кардиналов и ересью не считалась.
T>>Ты не путай зависимости, возникающие на Java и зависимости, возникающие на ФЯ. RD>Ага, конечно. Я вижу, Вы уже готовы начать лекцию на тему side effects. Зависимости они и в Африке зависимости. То, что на тот же объем кода у Haskell зависимостей меньше чем у Java, еще не значит что их нет.
Это качественное отличие.
T>>Тогда в чём проблема? RD>Да ни в чем. Пожалуй только в том, что черное любите называть белым.
Это надо доказывать, поскольку тянет на оскорбление.
Поэтому — р-р-разворачивай!
T>>Ты, по-моему, не смог соотнести eeek в ссылке и eeek в тексте по ссылке. T>>Ничего про exchange я не говорил и писать его не собираюсь (пока не собираюсь). RD>Ну хорошо, eeek так eeek. У меня тоже была подобная история. В offscreen bitmap была неправильная битность и лечилось это рисованием синей линии вне границ этого битмапа. Причем было это только в одной версии JVM и только на одной платформе. И что? Просто баг в сторонней библиотеке. Некоторые не исправляют годами. И можешь писать свою программу сколь угодно модульно, все равно от проблем в сторонних библиотеках это не защитит.
Я попрошу привести пример такой же ошибки в библиотеках на любом современном ФЯ.
Чтобы я перестал пребывать в уверенности, что в случае библиотек на современных ФЯ это невозможно.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
RD>>>Если у Вас не команда, а сброд идиотов, то не надо высоких технологий чтобы случась беда. Они себе вилкой глаза выколят и привет. T>>Это как-то связано с дебаггером и/или Хаскелем? RD>см. ниже
см. ниже.
RD>>>Если же у Вас нормальные люди (а я наивно предполагал, что FP в основном пользуются именно такие), то они будут писать нормальный софт и дебаггер им не понадобится. Поэтому дебаггер (как и любая другая не критичная фича) не является в нормальной ситуации вредной.
T>>На дебаггер тратятся усилия разработчиков ЯП, которые могли бы быть потраченными на другие вещи, на исправление тех же ошибок, например.
RD>1. усилия разработчиков _ЯП_ на дебаггер не тратятся. На это тратятся усилия как правило других команд. По крайней мере так происходит в mainstream.
Даже не знаю, что сказать.
Этот пункт справедлив только для ограниченного количества компиляторов: gcc, msvc, xlc и icc. Ну, ещё, наверное, cc от Sun. Ну, ещё .net. И Java.
У всех остальных всё по-другому. Те, кто разрабатывает компиляторы, те и пишут отладчики.
Организация вычислений-то разная. Те же вложенные функции Паскаля, например, если не далеко уходить от Си.
RD>2. Haskell появился в 1990г. Если 18 лет это так мало, но и 180 будет мало чтобы сделать окружение ЯП удобным.
Ну-ка, когда появились отладчики для Си? Через сколько лет после его появления?
T>>Поэтому наличие дебаггера в ЯП, при условии его неиспользования подавляющим большинством, является вредным. RD>глупости. см. выше.
Глупости. см. выше.
RD>>>Но поскольку в отличии от некоторых я не страдаю красноглазием, то могу предположить, что в каких-то экзотических условиях дебаггер может оказаться полезен даже в Хаскелле. Лично я, конечно, с такими случаями не сталкивался (и дай Бог, чтоб не столкнулся). T>>Я не "красноглазен", глаза у меня серо-голубые, а склера голубоватая, как у любого здорового человека. RD>Есть такое понятие как "образное выражение". Видимо Вам оно не знакомо.
А ты, значит, не знаком с термином "подыграть".
T>>Я просто стараюсь быть логичным и последовательным, стараюсь рассмотреть феномен с разных сторон. RD>Что-то Ваши разные стороны находятся с одного боку.
Если говорить о том, что современные ЯП в большинстве своём полное... полный... отстой, в общем, то да, я односторонен.
Но к этому выводу я пришёл после рассмотрения с многих сторон, а также после многочисленных экспериментов.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
RD>>>А вообще-то мужики, что сжигали товарища Бруно, тоже были уверены на все 100% в своей правоте. И говорят, у них были на то все основания. Ведь Бруно не только утверждал что Земля вращается вокруг Солнца а еще и колдовством баловался. VE>>Самокритично. VE>>Это мужики считали очевидной плоскостность земли, да RD>Нет, дорогой товарищ. Было очеведно что Бруно — колдун. Для тех кто в танке: колдун не потому, что Земля летает вокруг Солнца, он действительно занимался магией. А на все остальное легла тень именно из-за этого. И потому что те, кто его судили, тоже были очень во всем уверенны.
Ещё раз: множественность миров и всё такое нормально обсуждалась на высшем церковном уровне и до Бруно, и после. Ересью не считалась.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, Rtveliashvili Denys, Вы писали:
RD>А как вы нашли самокритичность — тема для глубокого научного изыскания.
Просто когда человек оперирует очевидностями, "глупость"ями, и там и тут сомневается в опыте оппонента, жутко уверен в своей правоте (даже сомнений нет, но оснований почему-то кроме перечисленных выше нет), и вдруг заявляет, что это как раз оппонент "уверен на 100%", то это выглядит как минимум глупо.
Подозревая, что Вы человек неглупый, я подумал, что Вы это о себе.
Здравствуйте, thesz, Вы писали:
C>>Mercurial тоже. T>Это такое абсолютное утверждение? [url=http://allmydata.org/pipermail/tahoe-dev/2007-November/000228.html]Исключений[/url быть не может?
Это проблемы реализации сетевого протокола в Mercurial, так что неинтересно. В Mercurial интересна их система хранения файлов, оптимизированая для быстрой локальной работы.
T>>>С функционалом? C>>У darcs — средненький функционал для современных dvcs. T>Существуют и другие мнения. T>Поэтому — р-разворачивай.
Ну вот, опять спать не дают...
T>Я попрошу привести пример такой же ошибки в библиотеках на любом современном ФЯ. T>Чтобы я перестал пребывать в уверенности, что в случае библиотек на современных ФЯ это невозможно.
Я не собираюсь тратить свое время и искать там ошибки, что были бы настолько вопиющими. Сходу ни одной назвать не могу. Но это просто от того, что я не так много этими библиотеками пользовался.
С другой стороны, не много пользовался потому что мелких недочетов полно. Элементарный пример: поддеркжа unicode в Haskell библиотеках вообще никакая. Такое ощущение, что люди просто не догадываются, что кроме ASCII бывают еще и другие кодировки. Но у этой проблемы ноги растут от лени и пофигизма разработчиков а не от недочетов ЯП.
Здравствуйте, thesz, Вы писали:
T>А чего ты здесь не спрашиваешь? T>Узнать, как быть в какой-то ситуации, можно двумя способами: 1) попасть в неё самому, и 2) спросить у попадавших в неё.
А зачем мне спрашивать? И здесь и в других местах достаточно ответов и вопросов. Ответы меня пока не убедили, поэтому хотелось бы подкрепить их примером. Достойных примеров вне компиляторостроения я не видел.
T>"Попасть в ситуацию самому" ты не хочешь. Для этого надо начать использовать Хаскель. T>Из чего следует неопровержимый вывод, что использовать Хаскель (ФЯ вообще) ты не хочешь.
Я не "не хочу использовать Хаскель", а не могу оправдать риски связанные с ним в "индустриальной" среде. Дома я с удовольствием с ним поковыряюсь, как и большинство здесь. Хаскель это очень серьезный прыжок, переползти плавно на него нельзя. Предсказуемость в нашем ремесле и так ниже плинтуса, а тут предлагается сменить лыжи на коньки. Тебе, фанату и эксперту, все это представляется ерундой, но влезь в мою шкуру.
T>(мутабельные числодробилки после переноса на ФЯ приобретают интересные возможности, кстати)
RD>>>>А вообще-то мужики, что сжигали товарища Бруно, тоже были уверены на все 100% в своей правоте. И говорят, у них были на то все основания. Ведь Бруно не только утверждал что Земля вращается вокруг Солнца а еще и колдовством баловался. VE>>>Самокритично. VE>>>Это мужики считали очевидной плоскостность земли, да RD>>Нет, дорогой товарищ. Было очеведно что Бруно — колдун. Для тех кто в танке: колдун не потому, что Земля летает вокруг Солнца, он действительно занимался магией. А на все остальное легла тень именно из-за этого. И потому что те, кто его судили, тоже были очень во всем уверенны.
T>Ещё раз: множественность миров и всё такое нормально обсуждалась на высшем церковном уровне и до Бруно, и после. Ересью не считалась.
Какой такое "еще раз"? При чем вообще тут множественность миров? Или Вы это в категорию "колдовство" отнесли?
Здравствуйте, thesz, Вы писали:
RD>>2. Haskell появился в 1990г. Если 18 лет это так мало, но и 180 будет мало чтобы сделать окружение ЯП удобным.
T>Ну-ка, когда появились отладчики для Си? Через сколько лет после его появления?
Здравствуйте, Rtveliashvili Denys, Вы писали:
RD>Ага, и взрывает потребление памяти там, где этого не ждешь. В проекте <1K lines может быть это и не проблема. А если <1M lines? Не согласны? Приведите успешный контр-пример.
xmonad. И на рабочей и на домашней машине живет без перезагрузки по много-много дней и немного месяцев. Потом выходит новое ядро, я перегружаю машину и оно опять живёт и не ликает.
Здравствуйте, novitk, Вы писали:
BZ>>Евгений Кирпичёв работает в яндексе афаик
N>Вопрос не в том где кто работает (SPJ, например, работает в MS),
команды ghc и f# работают в Кембридже, где находятся лаборатории MS Research. т.е. всё-таки это "академики, работающие на индустрию", и в частности эти джве группы как раз и создают технологии компиляции для будущих студий
jkff и thesz же работают в коммерческих компаниях, и применяют хаскел для зарабатывания денег
N>а готов ли ты вложить значительные ресурсы в разработку на Хаскеле? Посмотри на риски...
насчёт меня смешно спрашивать — я как раз пятый год пишу freearc на хаскеле
риски — надо сравнивать, а то ты рассуждаешь так, как будто при работе с явой рисков никаких. так вот, на одной стороне находятся риски того, что ваши программисты не освоят хаскел на том же уровне, что они уже освоили яву, и поэтому у вас возникнут сложности с отладкой, оптимизацией и т.п. на жругой стороне находятся риски большего проекта, который рискует погибнуть под своей тяжестью. просто риски второго типа хоршо хнакомы и никто тебя не убьёт, если ты с ними не справишься
N>Как быть с тем, что тебя с Зефировым мне не нанять, а если и нанять, то предметную область вы не знаете? Как быть с тем, что моей команде надо мозги кипятить полгода миниум, что бы просто овладеть всеми этими deforestation и zipper? А предметная область не компилятор, где есть хоть какой-то опыт, а числодробилка, где все существующие алгоритмы мутабельные? Добавь, что все это происходит в коммерческой компании, а не в "универе", и заказчики стоят над душой "неподетски"?
что касается числодробилок, то afaik хаскел для них сейчас малоинтересен. тут идёт активная академическая работа, рабочих инструментов пока не видно. впрочем, это не моя область — готов ошибиться
что касается вообще, то процесс внедрения новых технологий вроде не хаскел-специфичен, стоит ли 120-й раз повторять чужие слова?
N>Это все громадные риски, на которые можно пойти только если реально видеть свет в конце туннеля. Извини, но я его не вижу. Где "killer app", где "success stories"? И это при том, что среда (GHC) уже давно на вполне индустриальном уровне.
в подписи как раз вполне success story (на killer app она не тянет ввиду малопопулярности архиваторов вообще). кратко — это аналог rar/7-zip, разработанный в несколько раз быстрее. конкретно, я сравнивал 7-zip и fa, когда набор их фич примерно совпадал — размеры моих исходников были втрое меньше
N>Вот ты можешь честно сказать сейчас, что Хаскель дал бы реальный выигрыш при реализации FreeArc-а по сравнению с F# или Scala?
как языки они находятся где-то посредине между c++ и хаскелом. а вот внешняя среда у f# к 2010-му году будет несравненно лучше, чем у хаскела
BZ>>ps: я лично полагаю, что f# станет переходным вариантом и хаскел пойдёт в индустрию во второй половине 2010-х
N>Буду рад, хотя мне нужна открытая платформа, поэтому я хочу что-нибудь Scala-подобное...
scala и f# — это всё же две большие разницы: ооп+фп и фп+ооп. имей в виду, что это не одно и то же