Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Заблокирован
1

История дизайна языка Haskell

24.02.2017, 14:38. Показов 1499. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Haskell is a wonderful programming language - I'm surprised it's not used more in psychology as it'd make for some really great case studies in Stockholm Syndrome.

Here's a stylized history of Haskell design, in which they've been digging themselves deeper and deeper with each decision:

Traditional static typing doesn't handle high level functions well, so let's add a really sophisticated type system.
Our new sophisticated type system requires too much typing, so let's add type inference.
Type inference cannot handle programs with mutable state, so let's remove all mutable state.
Without mutable state we cannot actually do much, so let's add monads.
Nobody understand monads, so let's make hundreds of tutorials "explaining" monads in terms of containers, astronauts, dragon liars, and high grade nuclear waste.
and so on

What's surprising is how many Haskell programmers don't understand that monads are simply a hack to make I/O in Haskell bearable, they seriously think monads are the greatest thing ever which should be ported to programming languages that don't really need them, and everything else Haskell did as a part of general digging itself deeper and deeper is the One True Way to Program.

Disregarding that rant, while monads (and comonads, and arrows, and the rest of such insanity) have no place in any sane language, they are fun to play with for a bit.

http://t-a-w.blogspot.ru/search/label/haskell
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2017, 14:38
Ответы с готовыми решениями:

Haskell: совершенствование языка vs популярные крупные проекты
По мотивам Haskell: цель или всё-таки средство?. Тема похоже назрела, хотелось бы вынести это...

История человечества - это история огня?
У меня есть пара вопросов. 1. Вот древний человек добывал огонь с помощью трения. А сколько...

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

История создания, ключевые понятия языка сценариев JavaScript
История создания, ключевые понятия языка сценариев JavaScript (понятия сценарий и программа,...

13
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
24.02.2017, 15:46 2
Частное мнение... А вот другие:

http://eax.me/why-haskell/
http://camlunity.ru/swap/haskell/whyhaskell.pdf
http://vshabanov-ru.blogspot.r... skell.html
0
Заблокирован
24.02.2017, 16:31  [ТС] 3
забавные аргументы по первой ссылке
Функциональные языки освобождают программиста от этой непростой обязанности. Память выделяется неявно, автоматически, а специальный сборщик мусора (garbage collector) возвращает системе неиспользуемые куски памяти
Можно подумать что GC -- эксклюзивная фича функциональных языков.
Да, Haskell умеет работать с бесконечными списками. Это возможно благодаря механизму ленивых вычислений
по факту, для ленивых списков лень вообще не нужна, достаточно генераторов, или даже простых замыканий или объектов.

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

And so on

В общем, история продолжается
0
Curry
24.02.2017, 16:39
  #4

Не по теме:

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

0
Заблокирован
24.02.2017, 16:45  [ТС] 5
KolodeznyDiver,

Не по теме:

Ad hominem

0
_Ivana
24.02.2017, 16:48
  #6

Не по теме:

Цитата Сообщение от actionpattern Посмотреть сообщение
В общем, история продолжается
Воистину :) Поэтому игнор, как и в прошлой истории.

0
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
24.02.2017, 19:27 7
Цитата Сообщение от actionpattern Посмотреть сообщение
http://t-a-w.blogspot.ru/search/label/haskell
Баттхерт неосиляторов
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
25.02.2017, 13:29 8
Цитата Сообщение от actionpattern Посмотреть сообщение
What's surprising is how many Haskell programmers don't understand that monads are simply a hack to make I/O in Haskell bearable
And what is really surprising is how many not-Haskell programmers don't understand that monads are not about I/O.
0
Заблокирован
25.02.2017, 14:37  [ТС] 9
Цитата Сообщение от korvin_ Посмотреть сообщение
And what is really surprising is how many not-Haskell programmers don't understand that monads are not about I/O
Yeah, monads are not only about IO. They're also about B&D, like haskell itself. Monads -- just latent objects, often with a muttable state, they're not about grade nuclear waste, astronauts etc

Добавлено через 8 минут
Also, they're about how to sweep ander the rug bad, inconsistent design of the programming language
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
25.02.2017, 16:50 10
Цитата Сообщение от Voivoid Посмотреть сообщение
Баттхерт неосиляторов
- совершенно точная формулировка.
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
25.02.2017, 20:57 11
Цитата Сообщение от actionpattern Посмотреть сообщение
Yeah, monads are not only about IO. They're also about B&D, like haskell itself. Monads -- just latent objects, often with a muttable state, they're not about grade nuclear waste, astronauts etc

Also, they're about how to sweep ander the rug bad, inconsistent design of the programming language
Понятно, очередной неосилятор монад.
0
Заблокирован
25.02.2017, 21:01  [ТС] 12
Цитата Сообщение от korvin_ Посмотреть сообщение
Понятно, очередной неосилятор монад.
типичный отмаз
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
25.02.2017, 21:05 13
Цитата Сообщение от actionpattern Посмотреть сообщение
типичный отмаз
Типичный ход неосилятора: признаться в неосиляторстве и сделать морду крипичём.
0
Заблокирован
25.02.2017, 21:13  [ТС] 14
Цитата Сообщение от korvin_ Посмотреть сообщение
Типичный ход неосилятора: признаться в неосиляторстве и сделать морду крипичём.
там осиливать нечего, все банально. Проблема не в том, что кто-то их не осиливает, а в том что хаскеллисты, "осиливая" их(зазубривая конкретные примеры), не понимают вообще, что это такое. Причем, до такой степени, что даже не могут толком объяснить свое собственное псевдопонимание.

А впрочем, что уж там о монадах, если хаскеллисты даже не понимают что такое ФП, у каждого свое мнение на этот счет, навеянное кем то другим.
В частности, многие адепты поддерживают вот эту бессмертную интерпретацию:

http://steve-yegge.blogspot.ru... nouns.html
0
25.02.2017, 21:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2017, 21:13
Помогаю со студенческими работами здесь

Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?)
"У нас" ? А где преподавание этой экзотики на высоте? Добавлено через 2 минуты А где такие...

История ICQ, Skype и история браузеров. Как экспортировать и где хранится?
Доброго времени суток. Требуется из телефона на базе ОС Андроид, а именно аппарат Lenovo 700i,...

История открытых/созданных файлов в программе файлов (история), записывать в файл либо бд, или ещё как-то
Ребят, помогите нужно сделать историю открытых/созданных файлов в menustrip1 Как это сделать?...

Плагины для 1С Битому: "Избранное", история просмотров, история посещения
Всем здравствуйте. Ситуация следующая: я разрабатываю сайт годового отчета. Посмотрел отчеты других...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru