Re[21]: [haskell] considered mainstream
От: Tonal- Россия www.promsoft.ru
Дата: 08.03.09 08:29
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:
T>>Если мы таки о кривой работе стандартной библиотеке haskell с WinApi, то мне видится 2 нормальных решения:
BZ>нет, мы о другом — о том, что FFI должен был предоставить операции и типы, скрывающие от программиста особенности платформы, после чего любой код, обращающийся к posix api, должен автоматом работать на обеих платформах
Это в смысле что не следует использовать haskell в винде? Всё равно будет глючить?

На винде нормальная реализация posix api ест в 2х видах cygwin и irix. Обе они не являются достаточно распространёнными.
Кстати, приведённый тобой пример был именно из WinApi.

Тот же python, честно закрывает от пользователя все эти несуразности вполне успешно, не кивая на кривую поддержку posix api.

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

Иначе простые утилиты, приходится писать на python-е — в нём и с кодировками, и с файлами, и с регэкспами всё нормально.
... << RSDN@Home 1.2.0 alpha 4 rev. 0>>
Re[22]: [haskell] considered mainstream
От: BulatZiganshin  
Дата: 08.03.09 08:51
Оценка:
Здравствуйте, Tonal-, Вы писали:

T>>>Если мы таки о кривой работе стандартной библиотеке haskell с WinApi, то мне видится 2 нормальных решения:

BZ>>нет, мы о другом — о том, что FFI должен был предоставить операции и типы, скрывающие от программиста особенности платформы, после чего любой код, обращающийся к posix api, должен автоматом работать на обеих платформах
T>Это в смысле что не следует использовать haskell в винде? Всё равно будет глючить?

это то, что предлагает мой оппонент. а я ему объяснил, почему это невозможно
Люди, я люблю вас! Будьте бдительны!!!
Re[26]: [haskell] considered mainstream
От: BulatZiganshin  
Дата: 08.03.09 09:15
Оценка:
Здравствуйте, pgregory, Вы писали:

P>Или ты реально считаешь, что FP так же интуитивно, как и ООП? (Чувствую, как люди с горящими глазами бросились писать «Да! Да! Да!!!»


P>Если так, то что же, я с этим не согласен. Если не очевидно, почему, могу попытаться обосновать.


бытиё определяет сознание. ты знаешь, что у некоторых племён дикарей принято дарить женщинам половые органы растений? согласись, странный обычай. причём делается это ровно раз в год, в годовщину события, связанного с наиболее унижаемой прослойкой этих женщин. словом, нелепица на нелепице. тем не менее, дикари свои обычаи странными не считают. они просто живут так, как жили их предки, и верят что их обычаи совершенно нормальны и естественны. но мы-то, цивилизованные люди, так не считаем! возьмёшься доказать им, что их традиции глупы?
Люди, я люблю вас! Будьте бдительны!!!
Re[24]: [haskell] considered mainstream
От: Klapaucius  
Дата: 08.03.09 09:26
Оценка:
Здравствуйте, pgregory, Вы писали:

K>>Сможете объяснить в двух словах, что такое коммутативное кольцо с единицей?

P>Нет. А вот что такое множество целых чисел (являющееся коммутативным кольцом с единицей, я правильно нашел подвох? — не сомневаюсь.

Начнем с того, что множество целых чисел таковым не является, а является таковым множество целых чисел с двумя бинарными операциями над ним — сложением и умножением, но принимая во внимание ваш ответ здесь
Автор: pgregory
Дата: 08.03.09
я думаю, что вы поняли первую половину аналогии правильно. Подвоха же никакого нет. Я просто пытаюсь понять, как вы определяете что сложно, а что нет. Пока у меня это не получается — наоборот я в смятении после вашего утверждения о том, что целые числа это проще чем кольцо. Звучит как "Планета Земля на несколько порядков проще, чем материальная точка".
Тут точно что-то не так. Поэтому, раз уж вы не сомневаетесь, что сможете в двух словах объяснить что такое множество целых чисел (да еще самое страшное, не будучи уверенным при этом что сможете объяснить что такое кольцо) может вы прямо сейчас в двух словах и объясните? Мне кажется что это будет гораздо худшее объяснение, чем объяснение монад как перегруженного оператора ;.

P>Так что — разворачивай!


Ну а там и развернем, если понадобится, когнечно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[26]: [haskell] considered mainstream
От: Klapaucius  
Дата: 08.03.09 09:26
Оценка: 2 (2) +4
Здравствуйте, pgregory, Вы писали:

P>Или ты реально считаешь, что FP так же интуитивно, как и ООП? (Чувствую, как люди с горящими глазами бросились писать «Да! Да! Да!!!»


Нет, конечно. ООП интуитивно только для тех, кто широко практикует ООП.
Интуиция основана на опыте — так что интуитивно то, что хорошо знакомо. Сейчас, когда всех программистов учат ООП — оно интуитивно для программистов — только и всего.
С другой стороны — математике учат всех и все знания полученные в процессе обучения (за вычетом курса по ООП, естественно, для тех, у кого он был) работает против него. Мы 15 лет воспринимали a = 2 + 2 как утверждение, декларацию. Но внезапно выясняется, что за декларацией скрыта какая-то зависящая от времени работа — мы с ужасом видим как синглетону 2 посылают сообщение {+, 2} — но с годами можно, конечно, и к такому привыкнуть.
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[25]: [haskell] considered mainstream
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.03.09 09:32
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>написано в 93-м году. нынешней молодёжи трудно представить, как все 80-е годы ООП боролось за умы программистов, имея в те времена точно такую же ауру мощной, но трудноиспользуемой технологии


Трудноиспользуемой ООП не была. ООП я начал использовать на втором курсе универа, после прочтения первых нескольких глав первого издания книги "Язык программирования C++". Причем я тогда даже не знал, что это ООП. А узнал об этом спустя несколько лет.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[27]: [haskell] considered mainstream
От: pgregory Россия  
Дата: 08.03.09 09:37
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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


P>>Или ты реально считаешь, что FP так же интуитивно, как и ООП? (Чувствую, как люди с горящими глазами бросились писать «Да! Да! Да!!!» :-)


P>>Если так, то что же, я с этим не согласен. Если не очевидно, почему, могу попытаться обосновать.


BZ>бытиё определяет сознание. ты знаешь, что у некоторых племён дикарей принято дарить женщинам половые органы растений? согласись, странный обычай. причём делается это ровно раз в год, в годовщину события, связанного с наиболее унижаемой прослойкой этих женщин. словом, нелепица на нелепице. тем не менее, дикари свои обычаи странными не считают. они просто живут так, как жили их предки, и верят что их обычаи совершенно нормальны и естественны. но мы-то, цивилизованные люди, так не считаем! возьмёшься доказать им, что их традиции глупы?


Очень увлекательно.

Скажи, ты споришь, чтобы лучше понять свою и чужую точку зрения, или чтобы любой ценой оставить последнее слово за собой?

Неужели моя позиция до сих пор не ясна, и есть необходимость натягивать эти нелепые аналогии с дикарями?
--
In code we trust.
Re[25]: [haskell] considered mainstream
От: pgregory Россия  
Дата: 08.03.09 09:39
Оценка:
Здравствуйте, Klapaucius, Вы писали:

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


K>>>Сможете объяснить в двух словах, что такое коммутативное кольцо с единицей?

P>>Нет. А вот что такое множество целых чисел (являющееся коммутативным кольцом с единицей, я правильно нашел подвох? :-) — не сомневаюсь.

K>Начнем с того, что множество целых чисел таковым не является, а является таковым множество целых чисел с двумя бинарными операциями над ним — сложением и умножением,


Начнем с того, что слова «коммутативное кольцо с единицей» также, строго говоря, требуют дополнения. Давай не будем придираться к словам, ок?

K>но принимая во внимание ваш ответ здесь
Автор: pgregory
Дата: 08.03.09
я думаю, что вы поняли первую половину аналогии правильно. Подвоха же никакого нет. Я просто пытаюсь понять, как вы определяете что сложно, а что нет. Пока у меня это не получается — наоборот я в смятении после вашего утверждения о том, что целые числа это проще чем кольцо. Звучит как "Планета Земля на несколько порядков проще, чем материальная точка".


Забавно.

K>Тут точно что-то не так. Поэтому, раз уж вы не сомневаетесь, что сможете в двух словах объяснить что такое множество целых чисел (да еще самое страшное, не будучи уверенным при этом что сможете объяснить что такое кольцо) может вы прямо сейчас в двух словах и объясните? Мне кажется что это будет гораздо худшее объяснение, чем объяснение монад как перегруженного оператора ;.


Даже не знаю, ты (можно на ты — не против?) реально хочешь от меня услышать рассказ о том, что «у Пети было 2 яблока, а у Маши — целых 239»?

Это — просто. Этому учат в детей садике. Коммутативное кольцо с единицей — это сложно. Этому учат в вузах.

Am I clear?
--
In code we trust.
Re[26]: [haskell] considered mainstream
От: Klapaucius  
Дата: 08.03.09 09:40
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Трудноиспользуемой ООП не была. ООП я начал использовать на втором курсе универа,


Думаю, что начни вы использовать ФП на втором курсе универа, трудноиспользуемым ФП вы также не назвали бы.

E>Причем я тогда даже не знал, что это ООП.


Вот в этом и заключается секрет успеха. Программисты на C# 3, например, в настоящее время широко используют монады и, в массе своей, не подозревают об этом. Однако же, когда тьюториалы по монадам с примерами на C# в блогах перестанут быть еденичными явлениями, а станут массовыми — все они осознают каким сложным делом они все это время занимались и случится катастрофа.
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[28]: [haskell] considered mainstream
От: Mr.Cat  
Дата: 08.03.09 09:50
Оценка:
Здравствуйте, pgregory, Вы писали:

P>Забавно то, что никто не написал реального определения монады.

Потому что это не было бы запрошенным объяснением на пальцах.

P>Итак, монада — это некая сущность, для которой мы можем определить эти четыре операции так, что они будут удовлетворять monad laws.

P>Поэтому да, монада — это сложная штука.
И что в ней сложного? С чисто практической точки зрения?

P>Или ты не разделяешь мое мнение, что «коммутативное кольцо с единицей» — на пару порядков более сложное понятие, чем «целое число»?

Целые числа — такое же болото, как и вся математика.
Re[27]: [haskell] considered mainstream
От: pgregory Россия  
Дата: 08.03.09 09:52
Оценка: 6 (1)
Здравствуйте, Klapaucius, Вы писали:

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


E>>Трудноиспользуемой ООП не была. ООП я начал использовать на втором курсе универа,


K>Думаю, что начни вы использовать ФП на втором курсе универа, трудноиспользуемым ФП вы также не назвали бы.


http://lambda-the-ultimate.org/node/1840

Интересно услышать комментарии.

E>>Причем я тогда даже не знал, что это ООП.


K>Вот в этом и заключается секрет успеха. Программисты на C# 3, например, в настоящее время широко используют монады и, в массе своей, не подозревают об этом.


Неужели не очевидно, что весь разговор именно об этом?! Программисты, например, в большинстве своем (нет, лично я не измерял) не знают, что целые числа образуют коммутативное кольцо с единицей (а также абелеву группу по ... и еще ... и еще ...). И это не мешает им писать программы, и делать это хорошо.

За простыми вещами должны следовать сложные, но не наоборот. Don't pay for what you don't need. Make simple things easy, but hard things possible. И так далее. Что здесь не ясно???
--
In code we trust.
Re[26]: [haskell] considered mainstream
От: Klapaucius  
Дата: 08.03.09 09:53
Оценка:
Здравствуйте, pgregory, Вы писали:

K>>Тут точно что-то не так. Поэтому, раз уж вы не сомневаетесь, что сможете в двух словах объяснить что такое множество целых чисел (да еще самое страшное, не будучи уверенным при этом что сможете объяснить что такое кольцо) может вы прямо сейчас в двух словах и объясните? Мне кажется что это будет гораздо худшее объяснение, чем объяснение монад как перегруженного оператора ;.

P>Даже не знаю, ты (можно на ты — не против?) реально хочешь от меня услышать рассказ о том, что «у Пети было 2 яблока, а у Маши — целых 239»?

Ну я и говорил — объяснение хуже чем перегруженная ;

P>Это — просто. Этому учат в детей садике. Коммутативное кольцо с единицей — это сложно. Этому учат в вузах.


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

P>Am I clear?


А я?
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[22]: [haskell] considered mainstream
От: Mr.Cat  
Дата: 08.03.09 09:54
Оценка:
Здравствуйте, Tonal-, Вы писали:

T>Мне кажется, если уж позиционировать haskell систему программирования общего назначения, то уж работу с файлами

А можно напомнить, что с ними не так?

T>Так же как и библиотеку регулярных выражений

+1
Re[23]: [haskell] considered mainstream
От: BulatZiganshin  
Дата: 08.03.09 09:57
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

T>>Мне кажется, если уж позиционировать haskell систему программирования общего назначения, то уж работу с файлами

MC>А можно напомнить, что с ними не так?

"но я не понял, что ты имела в виду"

уже сколько треплемся о том, что стд. библиотека не держит файлы с юникодными именами
Люди, я люблю вас! Будьте бдительны!!!
Re[28]: [haskell] considered mainstream
От: BulatZiganshin  
Дата: 08.03.09 09:58
Оценка: +1
Здравствуйте, pgregory, Вы писали:

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


а для программирования на хаскеле необходимо знать теорию категорий?
Люди, я люблю вас! Будьте бдительны!!!
Re[26]: [haskell] considered mainstream
От: Mr.Cat  
Дата: 08.03.09 09:58
Оценка:
Здравствуйте, pgregory, Вы писали:
P>Это — просто. Этому учат в детей садике.

Теории чисел тоже в детском садике учат?
Re[24]: [haskell] considered mainstream
От: Mr.Cat  
Дата: 08.03.09 10:00
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:
BZ>уже сколько треплемся о том, что стд. библиотека не держит файлы с юникодными именами

Я видимо немного пропустил эту ветвь. Пойду перечитаю.
Re[27]: [haskell] considered mainstream
От: pgregory Россия  
Дата: 08.03.09 10:09
Оценка:
Здравствуйте, Klapaucius, Вы писали:

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


P>>Даже не знаю, ты (можно на ты — не против?) реально хочешь от меня услышать рассказ о том, что «у Пети было 2 яблока, а у Маши — целых 239»?


K>Ну я и говорил — объяснение хуже чем перегруженная ;


Ерунда. Это не объяснение понятия коммутативного кольца, это объяснение понятия целого числа. А вот про ; — это именно попытка объяснения сложной штуки под названием «монада». Фиговая. Моя мысль о том, что понятие «целые числа» != понятию «коммутативное кольцо» понятна, надеюсь?

P>>Это — просто. Этому учат в детей садике. Коммутативное кольцо с единицей — это сложно. Этому учат в вузах.


K>С монадами то же самое.

K>Можно сначала просто "считать", а потом, в институте, систематизировать разрозненные практические знания.

То есть, наконец-то, очевидный факт, что Maybe — это просто, а монады — это сложно, признан? Ура!
--
In code we trust.
Re[29]: [haskell] considered mainstream
От: pgregory Россия  
Дата: 08.03.09 10:23
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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


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


BZ>а для программирования на хаскеле необходимо знать теорию категорий?


Надеюсь, ты — исключение, и общая культура спора на рсдн все же выше.

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

В последний раз, специально для тебя, разжую.

Для программирования простых вещей на хаскеле необходимо знать сложное понятие монада. (Посмотри оглавление Real World Haskell, прежде чем возражать, ок?) Это плохо. Ни в одном сколько-нибудь распространенном языке, чтобы оперировать числами, не требуется знать, что такое коммутативное кольцо. (Прежде чем возражать, раздобудь ссылку, это опровергающую, ок?)

Это моя позиция, и я ее аргументировал. Ясно?

Еслы ты не согласен, нормально аргументируй свою позицию, или не пиши ничего. Если твои ответы и дальше будут представлять из себя придирки и передергивания, я буду их просто игнорировать.
--
In code we trust.
Re[28]: [haskell] considered mainstream
От: Klapaucius  
Дата: 08.03.09 10:24
Оценка:
Здравствуйте, pgregory, Вы писали:

P>http://lambda-the-ultimate.org/node/1840

P>Интересно услышать комментарии.

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

P>Неужели не очевидно, что весь разговор именно об этом?! Программисты, например, в большинстве своем (нет, лично я не измерял) не знают, что целые числа образуют коммутативное кольцо с единицей (а также абелеву группу по ... и еще ... и еще ...).


Допустим.

P>И это не мешает им писать программы, и делать это хорошо.


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

P>За простыми вещами должны следовать сложные, но не наоборот. Don't pay for what you don't need. Make simple things easy, but hard things possible. И так далее. Что здесь не ясно???


Мне не ясна ваша методика определения сложности.
Кроме того, мне не ясно — вы предъявляете претензии к языку или к структуре образовательных курсов по этому языку?
Ну, допустим GITH вашим требованиям не соотвествуют — а YAHT и RWH — вполне.
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.