Страницы

Поиск по вопросам

четверг, 19 декабря 2019 г.

Предподготовка к изучению функционального программирования и Haskell. Книги, статьи, советы [закрыт]

#haskell


        
             
                
                    
                        
                            Закрыт. Этот вопрос не по теме. Ответы на него в данный
момент не принимаются.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Update the question so it's
on-topic for Stack Overflow на русском.
                        
                        Закрыт 4 года назад.
                                                                                
           
                
        
Решил для себя, что пришло время окунуться в мир функционального программирования
и попробовать изучить язык Haskell. 

Я уже немало наслышан про функциональное программирование, про его высокий порог
входа. Наслышан, что есть проблемы к терминологией, её переводом и трактовкой на русском. 

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

Еще у меня есть проблема с английским языком: читать документацию могу и перевожу
достаточно свободно, но только те темы, которые я более-менее знаю, т.е. чтобы расширить
знания. Когда тема абсолютно новая, сперва стараюсь почитать про неё на русском, понять
суть, а потом уже читать на английском, уже достаточно быстро разбираясь. Т.е. в английском
я не ноль, но и не в совершенстве владею.

Хотелось бы услышать:


Какие темы из различных областей: вышки, информатики, программирования, алгоритмов
и структур данных (извиняюсь за сумбур в названии этих областей, но это тоже тема достаточно
спорная, думаю бОльшинство меня поймёт)  следует предварительно закрепить, подучить,
обратить внимание, разобраться. Цель - облегчить самому себе порог входа в функциональное
программирование. Т.е. не хочется начать изучать Haskell, тут же увидев там кучу абсолютно
неизвестных мне слов и понятий. Хочется быть подготовленным.
Какие материалы, какие книги, статьи, возможно форумы посоветуете для выполнения
пункта 1. Понятное дело, что лучше читать английский оригинал, но я уже написал, что
тяжко порой читать на английском что-то абсолютно новое, хотелось бы начать с чего-то
на русском языке.
По Haskell я нашел неплохой сайт learnyouahaskell.com, слышал многие рекомендации.
После того, как пройду подготовительную стадию - хочу изучать по нему. Если кто-то
мне посоветует что-то лучше (и в особенности на русском) - буду только рад.


Спасибо!

P.S. Надеюсь не будет холивара, что лучше изучать какой-то другой функциональный
язык. Я пока остановился на Haskell.
    


Ответы

Ответ 1



Никакой высшей математики для программирования на Haskell и функциональных языках вообще знать не нужно. Это стереотип из серии, что C++ древний, Python — жутко тормозной и жрет память гигабайтами, скрипты на Perl совершенно нечитаемы, на PHP пишут только ученики 8-х и 9-х классов и так далее. В действительности у функциональных языков больше общего с процедурными и объектно-ориентированными, чем различий. Вы сами быстро это поймёте, когда начнёте во всём разбираться. Насчёт материалов. Learn You a Haskel хороший учебник. Если нужно на русском, обратите внимание на язык Haskell: о пользе и вреде лени + какие-то ссылки я собирал в этой заметке: причины, по которым мне нравится Haskell. Обратите внимание на блог darkus — там раз в месяц устраиваются конкурсы по функциональному программированию, которые помогут вам отточить владение Хаскелем. Из форумов могу предложить функциональные и логические языки.

Ответ 2



Пришли не из него, а из общих предков. Есть книги по Haskell, среди них, наверняка есть переводы, есть книги на русском, например Душкина. Что касается лямбда- и комбинаторных затей, то я бы порекомендовал J.Harrison Introduction to Functional Programming, правда там ML, не haskell (проект перевода её на русский -- funprog-ru). В TMR-13 (The Monad.Reader Issue 13) статья Typeclassopedia (для понимания классов типов). Из форумов -- есть на rsdn форум по декларативному программированию.

Ответ 3



Какие темы из различных областей: вышки, информатики, программирования, алгоритмов и структур данных (извиняюсь за сумбур в названии этих областей, но это тоже тема достаточно спорная, думаю бОльшинство меня поймёт) следует предварительно закрепить, подучить, обратить внимание, разобраться. Можно обратить внимание на «теорию категорий для программистов», хотя это не обязательно. Касаемо изучения самого языка, https://anton-k.github.io/ru-haskell-book/book/toc.html выглядит неплохим пособием. Кроме материалов, упомянутых в других ответах, советую обратить внимание на замечательную статью: «What I Wish I Knew When Learning Haskell», в которой разбираются многие прикладные аспекты языка.

Комментариев нет:

Отправить комментарий