Re: Чего бы почитать про Haskell?

Re: Чего бы почитать про Haskell?

Спасибо, это уже читал, собственно из-за этой статьи и заинтересовался.

Хотелось бы чего-нибудь по-подробней

Re: Чего бы почитать про Haskell?

Ну если это http://roman-dushkin.narod.ru/ не устроит или уже читал, то только по Англицки.

Re: Чего бы почитать про Haskell?

> Subj. (желательно на русском, но не обязательно)

Re: Чего бы почитать про Haskell?

вот можно для начала

Re: Чего бы почитать про Haskell?

Функциональное программирование. Учебное пособие для ВУЗов.

Re: Чего бы почитать про Haskell?

На русском практически ничего нет. Интереует именно Хаскель или ФП вообще?

Re: Чего бы почитать про Haskell?

Re: Чего бы почитать про Haskell?

Re: Чего бы почитать про Haskell?

ну и http://community.livejournal.com/ru_lambda/profile - тут можно найти интересного. а можно не найти, но спросить

Re: Чего бы почитать про Haskell?

А потом обязательно (. ) вот это:

Re: Чего бы почитать про Haskell?

Re: Чего бы почитать про Haskell?

Хаскель - С++ 21-го века.

Re: Чего бы почитать про Haskell?

>Хаскель - С++ 21-го века.

по началу кажется офигенным языком, а потом понимаешь какое говно?

Re: Чего бы почитать про Haskell?

> Хаскель - С++ 21-го века.

Будет так же популярен?

Re: Чего бы почитать про Haskell?

Re: Чего бы почитать про Haskell?

>по началу кажется офигенным языком, а потом понимаешь какое говно?

а потом понимаешь, что он не для программирования, а для computer science. Например, массивы там задаются вот так:

a = array (i_min, i_max) [(i_min, x_min), . (i_max, x_max)],

где i_min и i_max соответствующий минимальный и максимальный индекс, а в [] перечислены соответствия индекса элементу. Вроде функции. Может быть это и правильно с точки зрения функциональщины, но использовать такие штуки на практике неудобно.

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

Re: Чего бы почитать про Haskell?

> немного оффтопика []

Сам ты узкоспециализированный! Если ты не делаешь акцент на формальное описание системы, вот интересно: когда ты пишешь программу на своем любимом языке ты прыгаешь с бубном призывая добрых богов, развешиваешь чеснок, что бы отпугнуть злых, а также сверяешься с вазой луны и картой звездного неба.

Re: Чего бы почитать про Haskell?

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

Глупости. Описание само сабой всплывает в голове, иногда рисую на бумаге квадратики и стрелочки, чтобы показать как связаны различные части программы. Отдельные вычислительные алгоритмы используют формальное математическое описание, но оно уже есть и его не нужно создавать заново. В масштабе всей программы формализация мне не нужна, потому что я знаю что программа заработает так, как от нее требуется. Доказательство тому - работа программы.

Re: Чего бы почитать про Haskell?

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

Re: Чего бы почитать про Haskell?

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

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

> В масштабе всей программы формализация мне не нужна, потому что я знаю что программа заработает так, как от нее требуется. Доказательство тому - работа программы.

Все равно формализация есть, просто ты ее делаешь подсознательно. В результате принятия необдуманных решений велика вероятность, что получится программа в кишках которой все ноги переломаешь. Прелесть Haskell в том, что он заставляет думать ВСЕГДА, это большой ПЛЮС!

Re: Чего бы почитать про Haskell?

для вас что не на Haskell - все индусокод? Чтобы грамотно написать программу, нужно для начала хорошо представлять, что она должна делать, разбить задачу на подсистемы, выявить взаимосвязи. Затем наложить получившееся описание на структуры данных языка программирования и закодировать алгоритмы. Есть простые объективные критерии качества программы, в частности это корректность и эффективность алгоритмов, абстрактность программных сущностей, модульность, хороший стиль кодирования. Разумеется, программист должен иметь базовые знания в областях, связанных с программированием и такие безграмотные перлы вроде проверки boolean на что-то отличное от true и false исключаются.

Корректность 99,9% программ формально не доказывается. Есть проект и есть его реализация, ошибки исправляются в процессе эксплуатации. Все остальное - теория, имеющая отдаленное отношение к практики.

Re: Чего бы почитать про Haskell?

Хорошая изначальная продуманность и формализация позволяет избежать большенство проблем и ошибок. и я вообще не про haskell говорил, а впринципе.

Re: Чего бы почитать про Haskell?

> В масштабе всей программы формализация мне не нужна

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

Эти высказывания противоречат друг другу.

Re: Чего бы почитать про Haskell?

Ты сначало посмотри кто написал первое утверждение.

Re: Чего бы почитать про Haskell?

да и второе :)) я тут вроде как нипричём. а вообще да, всё верно, очень даже противоречат %)

📎📎📎📎📎📎📎📎📎📎