С Новым годом! Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Результаты опроса: Лучший учебник
Душкин Р. Функциональное программирование на языке Haskell 3 12.00%
Липовача М. Выучи Haskell во имя Добра! 8 32.00%
Мена А. Изучаем Haskell 2 8.00%
Холомьев А. Учебник по Haskell 3 12.00%
Шевченко Д. О Haskell по-человечески 4 16.00%
Другой 5 20.00%
Голосовавшие: 25. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.53/68: Рейтинг темы: голосов - 68, средняя оценка - 4.53
Модератор
5106 / 3334 / 535
Регистрация: 01.06.2013
Сообщений: 6,999
Записей в блоге: 9
1

Лучший учебник для начинающих доступный на русском

04.01.2017, 22:34. Показов 14237. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Какой, по вашему, самый лучший учебник для начинающих доступный на русском языке?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
04.01.2017, 22:34
Ответы с готовыми решениями:

Какой лучший учебник по Pascal 7.0 для начинающих?
Сабж? Где скачать/заказать онлайн? Стоимость?

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

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

Учебник С++для начинающих
Всем привет. Прошу посоветовать учебную литературу для начинающего по С++. Начал изучать по...

21
4820 / 2286 / 287
Регистрация: 01.03.2013
Сообщений: 5,970
Записей в блоге: 29
04.01.2017, 22:59 2
Не конкретизирована цель опроса. Самый лучший для чего? Для успешной сдачи и последующего забывания как страшный сон, для написания сферических задачек в вакууме, для практических задач, для последующего погружения в глубины теории?... Самое забавное, что и рекомендации будут соответственно разные: никакой, Липовача, Мена/Шевченко, Холомьев/море разливанное статей и диссертаций...

Поэтому выберу Липовачу - я там сидел с него начинал
1
Модератор
5106 / 3334 / 535
Регистрация: 01.06.2013
Сообщений: 6,999
Записей в блоге: 9
05.01.2017, 00:42  [ТС] 3
Млин! Забыл "Шевченко Д. О Haskell по-человечески" вписать.

Добавлено через 21 минуту
_Ivana, начинающие пускай начинают, а потом уже они разберутся, факториалы им считать, сделать дектопный GUI полностью на Haskell или стать академиком по ТК.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28046 / 15779 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
05.01.2017, 08:53 4
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Млин! Забыл "Шевченко Д. О Haskell по-человечески" вписать.
добавил.
ну коли уж влез в тему, а какие практические преимущества имеет Haskell перед теми же Делфями и Плюсами с Шарпами?
можете за вброс посчитать, (собственно и есть вброс ) можно еще и Яву приплюсовать для сравнения.
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
37416 / 20788 / 4278
Регистрация: 12.02.2012
Сообщений: 34,200
Записей в блоге: 14
05.01.2017, 09:32 5
Лучший ответ Сообщение было отмечено magirus как решение

Решение

Опрос (с моей точки зрения) некорректен принципиально. Отдаёт школярством ("Я интересуюсь программированием... Посоветуйте лучший учебник...). Среди книг редко бывает ситуация, когда одна книга лучше всех остальных и возвышается над ними, как Эльбрус. Поэтому, если уж проводить опрос, то против названия книги должны стоять не радиокнопки, а чек-боксы. А по поводу списка могу сказать следующее:

1. Душкин - академический курс, предполагающий определенную математическую подготовку. Для начинающих малопригоден.

2. Липовача - методически очень хорошо построен. Охват удачно сочетается с доступностью изложения. Подходит для перв. ознакомления

3. Мена - не видел

4. Холомьев - продуманное изложение, очень хорошо издан (pdf). Подходит для перв. ознакомления

5. Шевченко - подход, несколько отличный от п.4, но тоже хороший. Минус (на мой взгляд) - ориентация на *nix.

Вывод: из приведенного пожалуй только Душкин не подходит для полных новичков (не видел книгу Мена)
2
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,084
05.01.2017, 10:23 6
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Я бы разделил эти книги на классы.
Простые книги, в которых слабо описана теоретическая часть:
-Miran Lipovaca: LYAH - самая простая книга, для тех кто начинает с 0, но оригинал то на английском...
-Шевченко Д. "О Haskell по-человечески" - книга находится в промежуточном состоянии, сейчас можно почитать только начало.
Академические книги, с хорошей теорией:
-Душкин Р. Функциональное программирование на языке Haskell - плохо знаком
-Холомьев А. "Учебник по Haskell" - в книге всё хорошо описано, очень хорошие схемы, формулировка упражнений немного размыта.
Практические книги:
-Мена А. "Изучаем Haskell" - не стал её читать, так как в начале книги устаревший материал по Eclipse, но я согласен, что книга полезная. Некоторые части почитаю потом.

Курсы Дениса Москвина(как и Erik Meijer-a) во многом выигрывают по изложению материала у книг.

Я стараюсь больше ориентироваться на репутацию авторов, поэтому для меня лучшие русские преподаватели это Денис Москвин и Антон Холомьев - все их материалы понятны и очень полезны.

Цитата Сообщение от magirus Посмотреть сообщение
ну коли уж влез в тему, а какие практические преимущества имеет Haskell перед теми же Делфями и Плюсами с Шарпами?
Денис Москвин отвечал на этот вопрос:
https://www.youtube.com/watch?... grAOPp7QLr
Об этом же можно почитать в начале книги Мена. Вся книга Шевченко Дениса, это по сути сравнение Haskell-я с C++.
Просто функциональное программирование знать нужно - это факт.

Для дальнейших дискуссий:
ФЯП или ООП?
Common Lisp vs D
Common Lisp vs D (2) - тема, которая привела меня в функциональное программирование.
3
Модератор
5106 / 3334 / 535
Регистрация: 01.06.2013
Сообщений: 6,999
Записей в блоге: 9
05.01.2017, 12:56  [ТС] 7
Цитата Сообщение от magirus Посмотреть сообщение
добавил
Спасибо!
Цитата Сообщение от magirus Посмотреть сообщение
какие практические преимущества имеет Haskell перед теми же Делфями и Плюсами с Шарпами?
Действительно, флеймоопасное направление.
XRuZzz, уже привёл ссылки.
Насчёт именно практичности. Из своего небольшого опыта. Меня приятно удивило что, в отличии от других языков (мне известных), время отладки существенно меньше. При чём, много времени уходит на то что бы заставить программу (нетривиальную) вообще откомпилироваться, за то потом почти сразу отлаживается. Суммарное время меньше получается. Недостатков для практического применения, к сожалению, тоже полно, хотя они относятся не к языку, как к таковому, а к имеющимся пакетам, IDE нет нормального.

Цитата Сообщение от Catstail Посмотреть сообщение
Душкин - академический курс, предполагающий определенную математическую подготовку.
У меня с ним как с Пастернаком : "не читал но считаю". Вчера только посмотрел страницу, показалось что у него неряшливость в определениях. "выделение списков" - это видимо list comprehension, генератор списков, списковое включение. "Пара" в задании упражнения без уточнения что это (читатель в соседнем топе понял как список из двух элементов). В лиспе есть пара с точкой. А в haskell чаще кортеж из двух элементов. Предполагаю, что Душкин, как многие теоретики, в первую очередь лиспер, ну и не "перестроился" достаточно под Haskell. Впрочем, м.б. это была одна из первых книг о Haskell на русском и терминология ещё была не устоявшаяся. Возможно, даже существует исправленное издание.
2
61 / 46 / 1
Регистрация: 25.06.2015
Сообщений: 78
08.01.2017, 13:55 8
Если под книгой Мена имеется в виду Beginning Haskell, то это очень хорошая книга. Видно, что автор действительно глубоко понимает тему, то есть, не пишет всякую ерунду про монаду IO и побочные эффекты, какую часто пишут некоторые другие неопытные авторы, устраивая религиозные войны без должного понимания предмета. Для меня это как лакмусовая бумага в оценке книг по Haskell.

Только в книге Beginning Haskell есть разделы, которые трудны для понимания даже опытному хаскелисту. Тем не менее, однозначно хорошая книга, с которой можно начинать изучать язык, и которую, может быть, потом придется перечитывать, возможно, не раз. Книга современная, а слегка устаревшее упоминание Eclipse можно считать за некоторую рекламу того, к чему причастен непосредственно сам автор книги) Stack же, который появился чуть позже, а потому не вошел в книгу, можно освоить самостоятельно.

Про другие книги из этого списка сказать ничего определенного не могу, потому что не читал, может быть, пробежался только краем глаза.

Из англоязычных мне очень нравится The Haskell School of Expression by Paul Hudak - моя любимая)
3
Эксперт функциональных языков программированияЭксперт Java
4542 / 2736 / 486
Регистрация: 28.04.2012
Сообщений: 8,647
09.01.2017, 21:36 9
Цитата Сообщение от Catstail Посмотреть сообщение
Минус (на мой взгляд) - ориентация на *nix.
Вообще не минус, ИМХО, программистам лучше уж с *nix начать, чем с винды, на nix гораздо больше программерских тул работает и работает корректно, без плясок с бубном, любители Ruby on Rails подтвердят, например, да и многие другие. Спасибо MS, но адекватно программить под их ОСь можно только на их инструментах (.NET, и т.п.) или на тех, что с древности серьёзно адаптировали поддержку win (типа Java).

Добавлено через 58 секунд
Цитата Сообщение от magirus Посмотреть сообщение
ну коли уж влез в тему, а какие практические преимущества имеет Haskell перед теми же Делфями и Плюсами с Шарпами?
А какие практические преимущества у magirus перед Catstail?
0
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,084
14.01.2017, 23:18 10
В новой версии "O Haskell ..." в теме "Новый тип", Денис как то умолчал о том, что newtype используется для определения нескольких экземпляров одного класса для одного типа. Будем надеяться, что он найдёт время доработать этот момент.
У Липовача, Холомьёва и Мена(как и в курсах Москвина) этот момент достаточно подробно описан. Видимо, у Липовача подробнее всех...

А что есть хорошие книги для начинающих, которые не переведены на русский?
2
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
15.01.2017, 11:35 11
Цитата Сообщение от XRuZzz Посмотреть сообщение
А что есть хорошие книги для начинающих, которые не переведены на русский?
https://www.it.uu.se/edu/cours... askell.pdf

Добавлено через 8 минут
https://pdfs.semanticscholar.o... 0e5991.pdf
2
Модератор
5106 / 3334 / 535
Регистрация: 01.06.2013
Сообщений: 6,999
Записей в блоге: 9
15.01.2017, 14:37  [ТС] 12
__py__, это не учебникик, а слайды к докладам. Учится по всякому, конечно, можно. Но учебники специально для этого предназначены.
The Haskell School Of Expression. Paul Hudak.
Real World Haskell. Bryan O’Sullivan, John Goerzen, and Don Stewart (не уверен что для начинающих, но начинающие разные бывают).
2
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
09.02.2017, 14:19 13
Я бы рекомендовал просто взять и начать делать задачки, пусть самые простые, на этом сайте, а также на codeabbey и codewars. Пусть даже сначала будет уходить час на каждую задачу, а получаться будет плохой код. На codewars, кстати, очень удобно смотреть чужие решения, чтобы почерпнуть что-то для себя новое. А потом уж можно книги читать, хотя бы отдаленно понимая, что там вообще и про что оно. Голые знания тут же выветриваются из головы, а вот на хоть какой-то, пусть самый небогатый опыт они наслаиваются прекрасно.

Например, я сегодня первый раз взял в руки шашки, то бишь Хаскелл. Тупо перевел с С простейшую программу, буквально на уровне два плюс два. Получилось как-то так:

Haskell
1
2
y :: Int -> Int
y x = if x < 2 then 0 else (x - 1) * 2
А вот какое решение я увидел:

Haskell
1
2
y :: Int -> Int
y = max 0 . (2 *) . pred
Красиво! И даже немного понятно. Как конкатенативность, только задом наперед. Сразу возникла мысль: "Я тоже так хочу!" Теперь я хоть знаю, что в книгах (а лучше в интернете) искать. А если бы я выбирал книги, какая лучше, какая хуже, пытаясь понять чисто теоретические выкладки - не то что второй, первый бы вариант до сих пор не написал.
2
Модератор
5106 / 3334 / 535
Регистрация: 01.06.2013
Сообщений: 6,999
Записей в блоге: 9
09.02.2017, 15:05  [ТС] 14
Цитата Сообщение от ata Посмотреть сообщение
если бы я выбирал книги, какая лучше, какая хуже, пытаясь понять чисто теоретические выкладки
Вы же их (книги) не видели. Там, не только теория. В большинстве её, в начале, по крайней мере, мало. У Шевченко почти нет. Липовача пишет в стиле "весёлые картинки". Да и остальные учебники, а не академические труды по теории категорий.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37416 / 20788 / 4278
Регистрация: 12.02.2012
Сообщений: 34,200
Записей в блоге: 14
09.02.2017, 17:59 15
Цитата Сообщение от ata Посмотреть сообщение
Я бы рекомендовал просто взять и начать делать задачки, пусть самые простые
- полностью согласен!

Цитата Сообщение от ata Посмотреть сообщение
Красиво! И даже немного понятно.
- непонятно и некрасиво. Разве что для целей обфускации. Код должен легко читаться и соотноситься с постановкой.
0
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,084
09.02.2017, 21:24 16
Обучение должно быть комплексное:
книги + задачи + опытный наставник + курсы + ЗОЖ + проекты + фундаментальные знания + свои мысли
Если плохо запоминается теория, то пишите руками на бумаге по памяти через некоторое время после прочтения.
3
Модератор
Эксперт функциональных языков программированияЭксперт Python
37416 / 20788 / 4278
Регистрация: 12.02.2012
Сообщений: 34,200
Записей в блоге: 14
01.04.2017, 14:43 17
Кстати, на Stepik-е завтра открывается курс Д.Москвина "Хаскелл часть 2"
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
37416 / 20788 / 4278
Регистрация: 12.02.2012
Сообщений: 34,200
Записей в блоге: 14
22.05.2017, 22:28 18
Я его прошел. Но решил не все задачи (последние - достаточно суровые).
2
Curry
22.05.2017, 22:42  [ТС]
  #19

Не по теме:

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

0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37416 / 20788 / 4278
Регистрация: 12.02.2012
Сообщений: 34,200
Записей в блоге: 14
23.05.2017, 10:43 20
Схема такая. Регистрируетесь. Заходите в курс - от состоит из отд. шагов. Каждый шаг (step) это либо видеолекция (минут на 5-10), либо тест, либо задача. Задачу надо решить и ввести в тестирующую систему. Если успешно - вам начисляются баллы. Решать можно в любое удобное время (до наст. дедлайна). По набранным баллам выдается сертификат (бесплатно).

Есть курсы двух видов - бессрочные (учиться можно хоть 5 лет, пока не наберете баллы) или со сроками. Курсы по Хаскелл были со сроками.
1
23.05.2017, 10:43
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
23.05.2017, 10:43
Помогаю со студенческими работами здесь

лучший учебник С#
посоветуйте плиз учебник который вы считаете лучшим. на данный момент пользуюсь Герберт Шилдт....

Лучший учебник
Добрый день! Посоветуйте мне, пожалуйста, книгу, учебное пособие, которое могло бы мне помочь с...

Учебник по Lisp для начинающих
Build Your Own Lisp. Learn C and build your own programming language in under 1000 lines of code: ...

Нужен учебник по C++ для начинающих
вообщем посмотрел литературу, которая в прикрепленной теме - понимаю через слово. у меня есть...


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

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