LINUX.ORG.RU

Ответ на: комментарий от imp

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

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

winger
() автор топика

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

haskell wiki

vint21h
()

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

http://ifolder.ru/7185135

anonymous
()

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

cathode
()
Ответ на: комментарий от anonymous

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

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

anonymous
()
Ответ на: комментарий от kingstone

немного оффтопика

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

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

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

Cy6erBr4in ★★★
()
Ответ на: комментарий от anonymous

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

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

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

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

anonymous
()
Ответ на: комментарий от Cy6erBr4in

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

Cy6erBr4in ★★★
()
Ответ на: комментарий от Cy6erBr4in

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

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

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

anonymous
()
Ответ на: комментарий от Cy6erBr4in

Сорри ответил не на то сообщение :) :)

anonymous
()
Ответ на: комментарий от anonymous

Ты плохо думаешь и ничего не замечаешь. Я от программирования на хаскеле почувствовал прежде всего одну вещь: реактивную скорость отдладки. Всё остальное неважно.

Joe_Bishop
()
Ответ на: комментарий от Joe_Bishop

Всегда пожалуйста :)

P.S.: за это и люблю ЛОР... я готов пролистать сотню флейм сообщений ананимусов, ради полезных ссылок, которых тут встречается неимоверное количество... люди как бы невзначай выпаливают ссылки, для них совершенно обычные, даже может быть "повседневные"... а кто-то возможно уже не один день/неделю/месяц ищет что-то подобное.

чтобы не говорили про ЛОР и его обитателей, я считаю его одним из полейзнейших сайтов :)

Cy6erBr4in ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.