Re[22]: "LINQ как шаг к ФП". Стиль изложения.
От: VoidEx  
Дата: 30.01.09 16:27
Оценка:
Здравствуйте, Qbit86, Вы писали:

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


VE>>"ФП (Хаскель) не панацея" слышно только от тебя.


Q>Не только от Влада, я тоже подпишусь, так что нас уже двое 


Ты бы моё сообщение до конца дочитал что ли.

Когда будешь подписываться, заодно подумай, кто тут говорит, что ФП панацея?

— Вот вы говорите ФП панацея
— Простите, я говорю?
— Хорошо, не говорите, думаете. А между тем...

Re[23]: "LINQ как шаг к ФП". Стиль изложения.
От: Qbit86 Кипр
Дата: 30.01.09 16:42
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>кто тут говорит, что ФП панацея?


Thesz. Я несколько раз слышал (в смысле, читал) от него фразу, которая однозначно может трактоваться как «Хаскель — серебряная пуля».
Например, здесь есть ссылка на пост «Серебряная пуля есть» (правда, это не совсем та ссылка, что я искал, т. к. по ней не только Хаскель, но ещё и Ырланг серебряная пуля).

Хотя, возможно, ты скажешь, что «серебрянная пуля» и «панацея» в данном контексте два совершенно различных понятия.
Глаза у меня добрые, но рубашка — смирительная!
Re[21]: "LINQ как шаг к ФП". Стиль изложения.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.09 16:54
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Я могу говорить только за себя. Так вот, впечатление обманчивое. У меня, например, впечатление, что когда я говорю о преимуществах Хаскеля, то ты воспринимаешь это как замечания об отсутствии преимуществ у других языков. Возможно это особенности интернет-общения — или говоришь долго, чтобы точнее передать мысль и тогда все докапываются до отдельных её кусков, или говоришь кратко, но это выглядит категорично.


Может быть...

VD>>Все это компромиссные решения имеющие как достоинства так и недостатки. Большинству кто хочет писать софт для современных корпораций скорее будет нужно чтобы язык поддерживал систему типов Явы или дотнета. Потом есть такие фишки как компонентность о которой при разработке Хаскеля просто не задумывались.


L>Чем модули не устраивают, поясни.


А причем тут модули? Я говорю о компонентном подходе. Когда можно в работающем приложении подгружать разные компоненты и получать разное поведение. Когда можно иметь дизайнер аналогичный дизайнеру WPF и т.п.

L>Ленивость нет, но non-strictness — обязательное свойство безкомпромисного ФП, ага. Лямбда исчисление и "функция в математическом смысле", никуда не денешься!


Не бывает ничего бескомпромиссного. Хаскелевская бескомпромиссность — это компромиссы в других местах.
Лично по мне так чем дальше инструмент от математического смысла, тем лучше.

L>Кстати, я тоже не предлагал использовать Haskell без оглядки на задачи и условия,


Возможно такое ощущение складывается когда "слышишь какофонию" получающуюся в результате всех высказываний. Но иногда ощущение, что Хаскель предлагают использовать для всего.

L>и сомневаюсь, чтобы кто нибудь предлагал.


А откуда тогда разговоры о Хаскеле взялись в этой теме? А как он появился в теме переписывания кода с С на Шарп?
Я что это все придумал?

VD>>А посмотри что вы вытворяете?... Парень спрашивает как ему С на C# перевести, а ему отвечают, что есть такая замечательная штука как экстер-си в С++ и Хасклевый экспорт. Это вообще вменяемый ответ?


L>Где я такое писал??


Ты очень часто оказываешся рядом с теми кто это начинает и вольно или не вольно поддерживаешь почин. Вот эта тема отличный тому пример. Не ты, наверно, свернул ее к Хаскелю, но ведь кто-то свернул?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: "LINQ как шаг к ФП". Стиль изложения.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.09 16:55
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>"ФП (Хаскель) не панацея" слышно только от тебя. И несмотря на то, что каждый раз тебе отвечают "ну... да, а это к чему?", всё равно ты никак себя не убедишь. И всё-то тебе кажется, что остальные говорят обратное. Чудной ты человек.


Как раз таки нет. Не то что отвечают. Переодически заявляют, что самая, что ни на есть панацея.
Понятно, что не все. Но есть товарищи...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: "LINQ как шаг к ФП". Стиль изложения.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.09 17:12
Оценка: :)
Здравствуйте, VoidEx, Вы писали:

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


Ты уже достал. Любые утверждения за которыми не следует формального доказательства можно назвать голословными. Но тогда ты сам сплошь и рядом рассыпашь голословные утверждения.

Что если на любое твое утверждение потребовать с тебя доказательства?

VE>Верующие во что?


Это ты лепишь мне ярлык. Ты и объясняй во что. И главное не забывай доказывать. А то ты возомнил себя правым в последней инстанции и разговариваешь тоном ментора. Смешно право.

VE>Я, в отличие от тебя, знаю, что Хаскель не идеален


В отличии от меня? Ну, вот и обоснуй свое голословное утверждение о том, что я считаю Хаскель идеальным.
А то, на мой взгляд, оно даже не то чтобы голословное, а очевидно ложное.

VE>(ну по крайней мере чаще всего именно ты говоришь, что ФП панацея),


Да? Примеры в студию!

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


Где заговорил? В каком контексте?

VE>Вот на Немерле код — как спагетти по сравнению с Хаскелем.


Ну, считай так сколько тебе влезет.
Конечно любое восприятие субъективно. Так что можно говорить только о массовости того или иного восприятия. И тут как раз Хаскель в полном пролете, так как в массе своей программисты привыкли к сишному синтаксису, а хаскелевско-мльный синтаксис ну очень от него далек (в отличии от...).

VE> Я правда доказывать ничего не буду. Это просто факт.


Ты и так ни одного своего слова не то что бы не доказал, даже обосновать не потрудился. Так что о чем ты тыут ведешь речь я не пойму.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: "LINQ как шаг к ФП". Стиль изложения.
От: EvilChild Ниоткуда  
Дата: 30.01.09 18:42
Оценка: +1
Здравствуйте, Qbit86, Вы писали:

Q>Что лично меня раздражает в Хаскеле, так это лексика и синтаксис. Хоть убей не пойму, как его можно назвать простым? Все эти лексемы типа «::», «:l», «++» (для бинарного оператора), «@», «$» и тому подобный мусор совсем не способствуют восприятию неофитами кода на Хаскеле. Я понимаю код на Схеме, Немерле, ОКамле, вполне воспринимаю математическую нотацию (лямбда-исчисление, основы теории категорий). Но как только вижу статью про Хаскель (да вот хотя бы твои посты на Хабре) — так сразу глаза и мозг возмущаются, глядя на это синтаксическое недоразумение. Сколько раз открывал книжки Душкина, чтоб таки проникнуться — раз за разом неодолимое отторжение.

Книжки Душкина просто написаны очень странным языком (особенно первая), это проблема книги, а не Haskell.
now playing: Squarepusher — Zounds Perspex
Re[24]: "LINQ как шаг к ФП". Стиль изложения.
От: VoidEx  
Дата: 30.01.09 20:04
Оценка:
Здравствуйте, Qbit86, Вы писали:

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


VE>>кто тут говорит, что ФП панацея?


Q>Thesz. Я несколько раз слышал (в смысле, читал) от него фразу, которая однозначно может трактоваться как «Хаскель — серебряная пуля».


Вот, от него я тоже такое слышал. Осталось понять, почему всех остальных тоже под одну гребёнку.
Re[22]: "LINQ как шаг к ФП". Стиль изложения.
От: VoidEx  
Дата: 30.01.09 20:12
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


VE>>"ФП (Хаскель) не панацея" слышно только от тебя. И несмотря на то, что каждый раз тебе отвечают "ну... да, а это к чему?", всё равно ты никак себя не убедишь. И всё-то тебе кажется, что остальные говорят обратное. Чудной ты человек.


VD>Как раз таки нет. Не то что отвечают. Переодически заявляют, что самая, что ни на есть панацея.

VD>Понятно, что не все. Но есть товарищи...

Ну не знаю. Я лично слышал "ФП — серебряная пуля" только от thesz. Только знаешь в каком смысле (не с потолка смысл пишу, у него есть пояснение)? Что по совокупности всех факторов Хаскель предпочтительнее всего остального. Ты говоришь абсолютно то же самое, разница только в языке.
Я, правда, с Вами обоими не согласен, так как серебряность не определяется в отрыве от: человека, задачи, внешних условий.
Поэтому можно сказать разве что так: для меня при моих задачах и условиях, язык <имярек> является серебряной пулей.
Если же начинать рассуждать, что "естественно я подразумевал себя и свои задачи", то так можно до чего угодно договориться.
Re[22]: "LINQ как шаг к ФП". Стиль изложения.
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.02.09 10:33
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Чем модули не устраивают, поясни.

VD>А причем тут модули? Я говорю о компонентном подходе. Когда можно в работающем приложении подгружать разные компоненты и получать разное поведение.

Всё таки я не понимаю, где здесь проблемы. Есть возможность подгружать код, есть возможность использовать разные типы данных, получая разную функциональность. Раскроешь?

VD>Когда можно иметь дизайнер аналогичный дизайнеру WPF и т.п.


Я совершенно не в теме насчёт WPF. Если ты про ad-hoc полиморфизм, то он есть в Haskell.

L>>Ленивость нет, но non-strictness — обязательное свойство безкомпромисного ФП, ага. Лямбда исчисление и "функция в математическом смысле", никуда не денешься!

VD>Не бывает ничего бескомпромиссного. Хаскелевская бескомпромиссность — это компромиссы в других местах.

Само собой, я говорю о бескомпромиссности в смысле сияюще чистого ФП

VD>Лично по мне так чем дальше инструмент от математического смысла, тем лучше.


Это вопрос культуры. Они у нас разные, скорее всего из-за инструментов. Я пользуюсь несколько другими паттернами при написании кода на Haskell. Например, твоя функция fillDic — скорее всего, она у меня была бы написана по другому из-за близости инструмента к математике. Объяснить быстро не получится, а долго — много писать. В общем, это тема отдельного поста.

L>>Кстати, я тоже не предлагал использовать Haskell без оглядки на задачи и условия,

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

Я понимаю, но быть черезчур корректным в своих высказываниях, постоянно подчёркивая граничные условия, субъективность высказывания и прочие ограничения не хочется. Получится не коммент, а одни оправдания. Я, например, надеюсь, что sapienti sat.

L>>и сомневаюсь, чтобы кто нибудь предлагал.

VD>А откуда тогда разговоры о Хаскеле взялись в этой теме? А как он появился в теме переписывания кода с С на Шарп?
VD>Я что это все придумал?

Насколько я понимаю из сути статьи — ФП для императивщиков (переписывание с С на Шарп я не нашёл ).
Вот как это получилось:

eao197: "Откуда информация о том, что у большого количества императивных программистов несложная обработка преобразуется в плохочитаемому коду и т.д.?"
Ты: "Из практики чтения чужого кода. Поверь, не малой практики."
thesz: "Наша практика говорит об обратном. А у нас она, пожалуй, одна из самых крупных, и ФЯ почище некоторых."
Ты: "Сам себе противоречишь. Если у вас "ФЯ почище некоторых", то код уже не императивный."
EvilChild: "Как здесь недавно совершенно верно заметили на чистом ФЯ вполне можно программировать императивно."
LaPerouse: "Более того, на чистом ФЯ нужно программировать императивно (нужно == приходится). Вопрос — нахрена тогда чистый ФЯ."
Тут я (первое упоминание Haskell) с дурацкой шуточкой.
Затем мы с LaPerouse обсуждаем императив на чистых ФЯ.

Вот такая игра в ассоциации

VD>>>А посмотри что вы вытворяете?... Парень спрашивает как ему С на C# перевести, а ему отвечают, что есть такая замечательная штука как экстер-си в С++ и Хасклевый экспорт. Это вообще вменяемый ответ?

L>>Где я такое писал??
VD>Ты очень часто оказываешся рядом с теми кто это начинает и вольно или не вольно поддерживаешь почин. Вот эта тема отличный тому пример. Не ты, наверно, свернул ее к Хаскелю, но ведь кто-то свернул?

Все мы люди-человеки.
Re[15]: "LINQ как шаг к ФП". Стиль изложения.
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.02.09 11:03
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Если решишся, создай новую тему в которую каждый сможет кинуть свое решение и где их можно будет сравнить и обсудить. Это позволит людям сравнивать то как на том или ином языке решают проблемы.


Почитал. Действительно, хорошая задача для демонстрации ФП подхода, но я пока не уверен, что хочу её делать. Скорее всего я буду писать что то своё.

VD>Вот если бы ФП можно было легко использовать в Шарпе или Яве, то они может и попробовали бы при наличии внятного объяснения. А так... Не ужели не ясно, что Хаскель и Схема совершенно "враждебын" человеку писавшему до этого только на С++ или Паскале?


В общем, я понимаю твою позицию. Правда, не скажу, что согласен. Я, например, зная только Паскаль и С, с удовольствием учил Пролог. Схему я учил чуть позже, зная кучу императивных языков. Но перед ней был смолтолк. Я думаю, мы говорим только о своём опыте, а это не очень правильно, если мы хотим знать как большинство идёт к ФП. Можно устроить опрос, например.

VD>Лично я считаю, что огромная заслуга авторов Скалы и Немерла именно в том, что они смогли поместить полноценные ФЯ в облик ООЯ с привычным синтаксисом. О ЛИНК-е вообще даже говорить не чего. Это просто кусок ФП прямо во вдоску императивном языке.


Вот уж насчёт синтаксиса я совершенно не согласен. Думаю, заслуга именно в гибридности языка.

VD>Ну, ты не видишь, что ли, что ты один из тысячи кто дошел к вершине этого, казалось бы, не высокого холмика? Или ты как еао187 считашь, что проблем с пониманием ФП нет как класс?


Я во-первых только иду Во-вторых, насчёт тысячи. Я аналогию не очень понял — я один дошёл, а тысяча осталась позади, или всего тысяча дошла?

Мы же говорим о тысячах, интересующихся ФП? Тех, что пришли к Булату понять насколько он им нужен и как его применять?

Они потому и пришли, что проблемы с пониманием ФП есть, именно их я и пытаюсь понять в этой дискуссии. Мне интересно, как помочь этим тысячам и себе в их числе.

А! Ещё вот что подумал (в конце концов мы же в философии!). Обычно как идёт получение нового знания? Сначала мы чего то не знаем, потом это узнаём, начинаем применять, затем формализуем. Затем эту формализацию даём, а нам говорят: сухо, мутно, наукообразно. Люди (предположительно, большинство) не хотят получать формализованные знания. Твой подход: сначала нужно дать среднее между этапами "узнаём-применяем", чтобы они "въехали". Этап Булата — "применяем" (минус: скачок с этапа "не знаем", плюс: полезно, для тех, кто уже знает и им надо набить руку). Затем, наверное, они сами будут искать формализацию полученных знаний, пытаться их систематизировать. Это предположение сделано на основе моего опыта. Как-то так.

L>>Мой опыт говорит, что это не так. Знакомые мне ФП программисты вовсе не впечатлительные и доверчивые — это умные и интересные люди.

VD>Это разные люди. Но многие прагматичные и весьма не глупые люди так и не освоили ФП. Хотя многие из них и хотели этого всей душой.

Причины могут быть разные — время, например, даже элементарное не осилил". Но, вполне возможно, что материалы по ФП вызвали отвращение. Это надо их спрашивать.

L>>Насчёт того, что надо объяснять как мыслить — полностью согласен.

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

Ну как же! Я когда ФП учил массу таких статей, постов читал. Возьми, например, Functional Pearls Ричарда Бёрда. Из русского — на софткрафте была статья про декларативное программирование. Частично тот же Why FP matters. У Вадлера читал пару таких статей. Там, по большому счёту надо понять, что не фиг писать "сначала это, потом то". Надо сразу объявлять что есть что. У меня этот переход занял около двух недель. Но я тугодум.
Re[25]: "LINQ как шаг к ФП". Стиль изложения.
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.09 22:28
Оценка:
Здравствуйте, VoidEx, Вы писали:

Q>>Thesz. Я несколько раз слышал (в смысле, читал) от него фразу, которая однозначно может трактоваться как «Хаскель — серебряная пуля».


VE>Вот, от него я тоже такое слышал. Осталось понять, почему всех остальных тоже под одну гребёнку.


Потому что вы обычно выступаете как единая команда. Вот ты найдешь хотя бы одну ссылку когда бы ты возразил на подобные заявления поклонников хаскеля?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: "LINQ как шаг к ФП". Стиль изложения.
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.09 22:39
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Ну не знаю. Я лично слышал "ФП — серебряная пуля" только от thesz. Только знаешь в каком смысле (не с потолка смысл пишу, у него есть пояснение)? Что по совокупности всех факторов Хаскель предпочтительнее всего остального. Ты говоришь абсолютно то же самое, разница только в языке.


Где я такое говорил? Не надо мне приписывать того что я не говорил.

VE>Я, правда, с Вами обоими не согласен, так как серебряность не определяется в отрыве от: человека, задачи, внешних условий.


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

Немерле лучше окружающий только в конкретных условиях и при конкретных предпочтениях. Точно так же как Хаскель, ОКамл, ФШарп и т.п. Лично для меня Немерле оптимальный выбор. Я сто раз описывал причины этого. Могу описать в 101-ый раз, если это интересно. Тот же Хаскель для меня вообще не средство разработки по причины медленности и отсуствия интеграции с дотнетом. Но это для меня. И я никогда не говорил о полном и тотальном превосходстве.

VE>Поэтому можно сказать разве что так: для меня при моих задачах и условиях, язык <имярек> является серебряной пулей.


Я думаю, что и так говорить нельзя. "Серебряная пуля" — это хреновая калька с английского означающая — панацея.
Сказать можно проще и точнее. Для меня язык Х предпочтительнее по совокупности достоинств.

VE>Если же начинать рассуждать, что "естественно я подразумевал себя и свои задачи", то так можно до чего угодно договориться.


Ну, пока кто-то не говорит, что Х лучше при любых условиях (пример мы тут все видели), то это его предпочтения.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: "LINQ как шаг к ФП". Стиль изложения.
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.09 22:57
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Почитал. Действительно, хорошая задача для демонстрации ФП подхода, но я пока не уверен, что хочу её делать. Скорее всего я буду писать что то своё.


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

L>В общем, я понимаю твою позицию. Правда, не скажу, что согласен. Я, например, зная только Паскаль и С, с удовольствием учил Пролог. Схему я учил чуть позже, зная кучу императивных языков. Но перед ней был смолтолк. Я думаю, мы говорим только о своём опыте, а это не очень правильно, если мы хотим знать как большинство идёт к ФП. Можно устроить опрос, например.


Я говорю скорее не о своем опыте обучения программированию, а о своем опыте общения с людьми. Это конечно не научное исследование, но все же.

VD>>Лично я считаю, что огромная заслуга авторов Скалы и Немерла именно в том, что они смогли поместить полноценные ФЯ в облик ООЯ с привычным синтаксисом. О ЛИНК-е вообще даже говорить не чего. Это просто кусок ФП прямо во вдоску императивном языке.


L>Вот уж насчёт синтаксиса я совершенно не согласен. Думаю, заслуга именно в гибридности языка.


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

Кстати, то что ты знал Пролог могло сильно упростить тебе изучение ФЯ, так как Пролог уже помог тебе переломить сознание. Как минимум понять паттерн-матчинг в Хаскле не проблема если ты знаком с Прологом.

VD>>Ну, ты не видишь, что ли, что ты один из тысячи кто дошел к вершине этого, казалось бы, не высокого холмика? Или ты как еао187 считашь, что проблем с пониманием ФП нет как класс?


L>Во-вторых, насчёт тысячи. Я аналогию не очень понял — я один дошёл, а тысяча осталась позади, или всего тысяча дошла?


Первое. Плюс — это гипербола. Не надо понимать мои слова буквально.

L>Мы же говорим о тысячах, интересующихся ФП? Тех, что пришли к Булату понять насколько он им нужен и как его применять?


L>Они потому и пришли, что проблемы с пониманием ФП есть, именно их я и пытаюсь понять в этой дискуссии. Мне интересно, как помочь этим тысячам и себе в их числе.


У них проблема в понимании, изучении, но не в применении ФП. А в той теме просто подменялись понятия. А какие могут быть выводы на неверных предпосылках?

L>А! Ещё вот что подумал (в конце концов мы же в философии!). Обычно как идёт получение нового знания? Сначала мы чего то не знаем, потом это узнаём, начинаем применять, затем формализуем. Затем эту формализацию даём, а нам говорят: сухо, мутно, наукообразно. Люди (предположительно, большинство) не хотят получать формализованные знания. Твой подход: сначала нужно дать среднее между этапами "узнаём-применяем", чтобы они "въехали". Этап Булата — "применяем" (минус: скачок с этапа "не знаем", плюс: полезно, для тех, кто уже знает и им надо набить руку). Затем, наверное, они сами будут искать формализацию полученных знаний, пытаться их систематизировать. Это предположение сделано на основе моего опыта. Как-то так.


Елы-палы. Вот тебе пример с LaPerouse. Ты ему что-то показал. Он сказал "О, да! Кажись ФП короче..." и уже через пост стал говорить тоже самое, что и в начале. Не ужели не видно, что вариант "смотрите как круто" не работает просто потому, что для них показанная крутизна не более чем непонятный код который всего лишь чуть короче оригинала?

VD>>Это разные люди. Но многие прагматичные и весьма не глупые люди так и не освоили ФП. Хотя многие из них и хотели этого всей душой.


L>Причины могут быть разные — время, например, даже элементарное не осилил". Но, вполне возможно, что материалы по ФП вызвали отвращение. Это надо их спрашивать.


Надо.

L>>>Насчёт того, что надо объяснять как мыслить — полностью согласен.

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

L>Ну как же! Я когда ФП учил массу таких статей, постов читал. Возьми, например, Functional Pearls Ричарда Бёрда. Из русского — на софткрафте была статья про декларативное программирование. Частично тот же Why FP matters. У Вадлера читал пару таких статей. Там, по большому счёту надо понять, что не фиг писать "сначала это, потом то". Надо сразу объявлять что есть что. У меня этот переход занял около двух недель. Но я тугодум.


Why FP matters я пробовал читать когда пытался въехать в ФП. Результат был — скепсис и непонимание.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: "LINQ как шаг к ФП". Стиль изложения.
От: VoidEx  
Дата: 01.02.09 23:02
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Q>>>Thesz. Я несколько раз слышал (в смысле, читал) от него фразу, которая однозначно может трактоваться как «Хаскель — серебряная пуля».


VE>>Вот, от него я тоже такое слышал. Осталось понять, почему всех остальных тоже под одну гребёнку.


VD>Потому что вы обычно выступаете как единая команда.


Пусть тебя это не вводит в заблуждение.

VD>Вот ты найдешь хотя бы одну ссылку когда бы ты возразил на подобные заявления поклонников хаскеля?


Ну ежели ты думаешь, что человек должен возражать каждый раз, когда он не согласен, то тогда твой вывод обоснован. Заодно можно понять и твоё рвение в спорах
Re[17]: "LINQ как шаг к ФП". Стиль изложения.
От: FR  
Дата: 02.02.09 04:33
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Не понял твоего посыла про синтаксис, но синтаксис очень даже причем. Когда людям не приходится ломать привычки в области синтаксиса и семантики базовой части языка (или приходится, но не много), то им намного проще освоить сам ФП, так как для них ФП становится всего лишь новыми фичами которые нужно "доучить".


Синтаксис на самом деле ерунда, например перейти с си на паскаль несложно и возможно без всякой ломки.
Вот то что нужно "доучить" как раз и сложно.

VD>В случае скажем Хаскля или ОКамла человек вынужден сильно и одномоментно ломать свое сознание.


В случае OCaml'а сознание практически не ломается, а хаскель как я понимаю требует такой ломки, например я в нем "все понимаю но разговаривать не могу"
Re[24]: "LINQ как шаг к ФП". Стиль изложения.
От: thesz Россия http://thesz.livejournal.com
Дата: 02.02.09 05:14
Оценка:
VE>>кто тут говорит, что ФП панацея?
Q>Thesz. Я несколько раз слышал (в смысле, читал) от него фразу, которая однозначно может трактоваться как «Хаскель — серебряная пуля».
Q>Например, здесь есть ссылка на пост «Серебряная пуля есть» (правда, это не совсем та ссылка, что я искал, т. к. по ней не только Хаскель, но ещё и Ырланг серебряная пуля).
Q>Хотя, возможно, ты скажешь, что «серебрянная пуля» и «панацея» в данном контексте два совершенно различных понятия.

Именно. "Серебряная пуля" — это средство, сокращающее труд программистов вдвое и больше. "Панацея" — это средство от всего.

См. определения.

Поэтому я никогда не говорил, что Хаскель — панацея.

А вот весело и с шиком провести программистское время с помощью Хаскеля можно. Поскольку он "серебряная пуля", его можно заложить в ломбард.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[25]: "LINQ как шаг к ФП". Стиль изложения.
От: FR  
Дата: 02.02.09 05:31
Оценка:
Здравствуйте, thesz, Вы писали:

T>Именно. "Серебряная пуля" — это средство, сокращающее труд программистов вдвое и больше. "Панацея" — это средство от всего.


То есть смена стиля программирования и использование правильных библиотек это тоже серебряная пуля?
Например я на C++ или тем более питоне используя разные стили могу спокойно в два или даже более раз
сократить свой труд.
Re[17]: "LINQ как шаг к ФП". Стиль изложения.
От: Курилка Россия http://kirya.narod.ru/
Дата: 02.02.09 06:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Елы-палы. Вот тебе пример с LaPerouse. Ты ему что-то показал. Он сказал "О, да! Кажись ФП короче..." и уже через пост стал говорить тоже самое, что и в начале. Не ужели не видно, что вариант "смотрите как круто" не работает просто потому, что для них показанная крутизна не более чем непонятный код который всего лишь чуть короче оригинала?


Ммм, ты вот про это
Автор: LaPerouse
Дата: 29.01.09
:

Начал рефакторить схему на на immutable, потому что в том виде, в котором она сейчас реализована со связкой по состоянию получается слишком печально.

Re[25]: "LINQ как шаг к ФП". Стиль изложения.
От: Qbit86 Кипр
Дата: 02.02.09 08:22
Оценка:
Здравствуйте, thesz, Вы писали:

T>Именно. "Серебряная пуля" — это средство, сокращающее труд программистов вдвое и больше.


Хаскель сокращает время «вдвое и больше» — по сравнению с чем? По сравнению с C++ весьма вероятно. По сравнению с .NET — сомневаюсь.
Глаза у меня добрые, но рубашка — смирительная!
Re[26]: "LINQ как шаг к ФП". Стиль изложения.
От: FR  
Дата: 02.02.09 08:41
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Хаскель сокращает время «вдвое и больше» — по сравнению с чем? По сравнению с C++ весьма вероятно. По сравнению с .NET — сомневаюсь.


Если под NET используется F# или Nemerle конечно сомнительно. Если же Шарп то по моему все таки Хаскель намного более выразительный язык.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.