baur.sha
Aleksei (astynax)
Я думаю, лучше начать изучение с своего проекта, пусть бесполезного. Я так в свое время изучил ruby (on rails), angular, erlang, и сейчас ковыряюсь в haskell
Лучше попробовать таки найти куратора, а проект делать свой :) Только нужно а) сильно хотеть б) иметь достаточно усидчивости и времени. Потому как мне, например, как куратору, было бы неудобно возвращаться к чужому учебному проекту раз в месяц.
Aleksei (astynax)
Никто не будет брать новичка, который просто хочет приобщиться.
Aleksei (astynax)
Кто-то может взять человека, который интересен своим опытом, но не умеет Haskell, и при этом очень хочет оный изучить и хочет работать в этой конкретной компании
Andrei
ну то есть я лично за полгода встретил буквально одну вакансию junior haskell developer
Aleksei (astynax)
Нет. Прошлый "хоть какой-то" опыт нерелевантен. Потому как бесполезен
Aleksei (astynax)
Вот если компания пишет, скажем, вебчик с распознаванием изображений, и есть кандидат, кторый не знает хаскеля, но умеет вебчик и распознавание на достаточном уровне, тут звёзды могут сойтись
Aleksei (astynax)
> по себе скажу, что скорее мешает есть такое. Но всё зависит от конкретного человека - одним проще перестроиться, чем другим
Andrei
ваистену
Aleksei (astynax)
Мне, например, ФП вообще зашло, несмотря на то, что я с 12 лет процедурю, и вообще BASIC и Pascal - мои отей и мать :)
Aleksei (astynax)
Из моих наблюдений: больше всего мешает сильная приверженность ООП
Aragaer
а я просто еще пока не нашел какой-то задачи, где бы я мог заюзать хаскел 8(
Aragaer
при решении йолки за 15-й год в одной задачке я седом сгенерил хаскельный код, но и все
Aleksei (astynax)
Так он для всего подходит - общего назначения же язык :)
Aleksei (astynax)
Можно вон шелл-скрипты на хаскеле писать, вместо баша
Aleksei (astynax)
(бессовестно пиарю свой будущий доклад на FPConf)
Andrei
Хотя вот прошлый опыт всё-таки в одном полезен — поворочав руби и паттерны лет десять, начинаешь особенно ценить прелести ФП
Aragaer
да, наверно. Просто у меня сейчас языков уровня "просто открыл редактор и пошел фигачить код" три штуки - си, питон и тот же баш.
Aleksei (astynax)
Простой haskell быстро доводится до такого же уровня
Aleksei (astynax)
"Просто хаскель" == "всё в IO и вообще процедурно" :)
Aragaer
я несколько раз начинал, добирался до монад и застревал
Aragaer
но рано или поздно я это тоже одолею
Aleksei (astynax)
LyAH мне лично помогла именно с монадами. А вообще IO можно научиться юзать и без особого понимания монад
Anonymous
Понимание монад поначалу будет даже мешать. main = do putStrLn "Hello, what's your name?" name <- getLine putStrLn ("Hello, " ++ name ++ "!")
Vasiliy
Можно вон шелл-скрипты на хаскеле писать, вместо баша
подтверждаю: не так давно переписал простыню с баша с хаскель - жить сразу стало легче
Aleksei (astynax)
Гонзалес Turtle делал как раз так, чтобы новичкам было просто осваивать. Так что с шеллскриптинга вполне можно начинать :)
Anonymous
этот курс годный? http://www.seas.upenn.edu/~cis194/fall16/
Anonymous
в этом роадмапе нашёл https://github.com/bitemyapp/learnhaskell/blob/master/guide-ru.md
fgsdgs
а не, он изменился
fgsdgs
http://www.cis.upenn.edu/~cis194/spring13/lectures.html
Anonymous
http://www.cis.upenn.edu/~cis194/spring13/lectures.html
этот я тоже видел, подумал, чем новее тем лушче
Anonymous
а я ещё и переводить его взялся
Alexander
\o/ fast-builder теперь с поддержкой capacity когда в handle пишешь
Alexander
осталось чтобы CStringLen замержили
Anonymous
как перевести Wholemeal programming на русский?
Alexander
контекст?
Alexander
а то программирование непросеяной муки получается
🍅Ťомат
Программирование с отрубями.
🍅Ťомат
wholemeal is a focusing on entire data structures rather than their elements
🍅Ťомат
Взято с SO
Leonid 🦇
цельнозерновое
Anonymous
посмотрел определение из курса
Anonymous
вроде как это оперирование целыми структурами данных: списками, а не последовательностями к примеру
Alexander
что тут имеется ввиду под последовательностью?
Leonid 🦇
наверно что ты используешь foldы а не доступ по индексу
🍅Ťомат
Wholemeal programming means to think big: work with an entire list, rather than a sequence of elements; develop a solution space, rather than an individual solution; imagine a graph, rather than a single path. The wholemeal approach often offers new insights or provides new perspectives on a given problem. It is nicely complemented by the idea of projective programming: first solve a more general problem, then extract the interesting bits and pieces by transforming the general program into more specialised ones."
Alexander
фолды мапы и прочее что работает над структурой
🍅Ťомат
Короч, мыслить масштабнее.
Alexander
а тогда какая-то филосовщина..
Leonid 🦇
некогда мыслить масштабно, нужно не забыть if err != nil
🍅Ťомат
некогда мыслить масштабно, нужно не забыть if err != nil
Это местный юмор? Я просто из ФП только полкниги по Хаскеллю успел.
Alexander
это отсылка к более успешным (с т.з. популярности) языкам программирования
Alexander
@lonokhov тебя в гриме не узнать сразу
🍅Ťомат
Go?
Alexander
да
Leonid 🦇
сорян
Cheese
некогда мыслить масштабно, нужно не забыть if err != nil
пфф, повесил на горячую клавишу, и всё!
Alexander
да, да, вон на макоклавах специальная настраеваемая падель есть
Alexander
кстати в случае го лучше наоборот делать: по <CR> вставлять в начале строки это, а на горячую клавишу забиндить удаление
Alexander
реже жать придётся
Leonid 🦇
Ага, и все популярные контейнеры должны быть в снипетах, указал типы и вжух! женерики!
Alexander
data structure specialization
Alexander
в haskell-ю уже 20 лет как, а он это не умеет
Cheese
тогда и программы по NPE падать не будут. ну, то есть не чаще раза в неделю
Alexander
написал data Foo a = .. a .. и привет боксинг
Leonid 🦇
еще 2-3 мажорных релиза и рюкзак в продакшен можно будет (но это не точно)
Alexander
а на TypeFamilies решения страшновато выглядят
Leonid 🦇
а как на TF?
Alexander
статья ж вводящая TF про это была?
Leonid 🦇
data family ?
Cheese
написал data Foo a = .. a .. и привет боксинг
а разве ! и -funbox-strict-fields не справляются?
Alexander
нет конечно