Вот, некоторые люди на работе пишут на Haskell. Как они до этого доходят?
Какая мотивация в владельца бизнеса применять столь экзотический язык, на котором пишут очень не многие, который весьма сложен в изучении да и которому, скажем прямо, нигде не учат?
Где вообще можно научиться Haskell? Система образования чаще всего придерживается классики (C, C++, Java и на крайняк C#). Ну да, экзотике могут посвятить несколько часов — только чтобы глаза круглыми сделали.
Курсов по нему тоже нет — курсы есть на популярные технологии.
Здравствуйте, Shmj, Вы писали:
S>Как до него вообще доходят?
Haskell это один из представителей ML языков.
Доходят просто — в попытке расширить познание устройства вселенной и достичь большего совершенства в софтостроении.
И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.
Re: Реальные проекты на экзотике (Hascell и пр.) - как?
Здравствуйте, Aquilaware, Вы писали:
A>И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.
А пример такого кода могли бы привести?
Re: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, Aquilaware, Вы писали:
A>Доходят просто — в попытке расширить познание устройства вселенной и достичь большего совершенства в софтостроении.
A>И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.
Познакомившись с Haskell/OCaml/F#, вы перестанете писать код. Вместо этого вы будете писать посты в бложек о новом способе вычисления чисел фибоначи и проповедовать функциональное учение на форумах.
Re: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, Shmj, Вы писали:
S>Вот, некоторые люди на работе пишут на Haskell. Как они до этого доходят?
S>Какая мотивация в владельца бизнеса применять столь экзотический язык, на котором пишут очень не многие, который весьма сложен в изучении да и которому, скажем прямо, нигде не учат?
Единственный проект на хаскеле, который я знаю (кроме самого компилятора хаскеля) — это оконный менеджер XMonad. Но им вроде никто не пользуется.
На Ocaml пишут в Jane Street.
Re[2]: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, nekocoder, Вы писали:
N>Единственный проект на хаскеле, который я знаю (кроме самого компилятора хаскеля) — это оконный менеджер XMonad. Но им вроде никто не пользуется. N>На Ocaml пишут в Jane Street.
Scala можно назвать полноценным функциональным языком? Там монады тоже используются.
Re: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, Shmj, Вы писали:
S>Какая мотивация в владельца бизнеса применять столь экзотический язык, на котором пишут очень не многие, который весьма сложен в изучении да и которому, скажем прямо, нигде не учат?
Скорее всего хозяин не доглядел. Фактически у него повышаются шансы не найти новых людей, но есть много хороших разработчиков, которым будет интересно пописать на хаскеле, и они согласны на меньшую зарплату.
S>Где вообще можно научиться Haskell? Система образования чаще всего придерживается классики (C, C++, Java и на крайняк C#). Ну да, экзотике могут посвятить несколько часов — только чтобы глаза круглыми сделали.
Программистов, которым для освоения языка надо, чтобы какой-нибудь профессор в ВУЗе им прочитал курс, надо сразу в биореактор. Не место таким в профессии. Языкам у нас, да думаю не только у нас, учат посредственно. И в большинстве случаев язык вообще не важен, нужны другие знания (хорошее понимание базовых алгоритмов, устройства железа, умения организовывать код и др.).
Re[2]: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, alzt, Вы писали:
A>Программистов, которым для освоения языка надо, чтобы какой-нибудь профессор в ВУЗе им прочитал курс, надо сразу в биореактор. Не место таким в профессии. Языкам у нас, да думаю не только у нас, учат посредственно. И в большинстве случаев язык вообще не важен, нужны другие знания (хорошее понимание базовых алгоритмов, устройства железа, умения организовывать код и др.).
Учить язык нужно за деньги — т.е. когда тебе за это платят — иначе мотивации никакой не будет. Т.е. начинать с Junior-а.
Если уже одну платформу освоил, то на освоение второй (родственной) уйдет 2-3 месяца. Т.е. эти 2-3 месяца нужно устроиться на позицию с меньшей оплатой и предупредить что у тебя нет опыта.
Но кто будет платить за то, что ты будешь учить Haskell ?
Re: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, Shmj, Вы писали:
S>А пример такого кода могли бы привести?
Пример занял бы много места и внимания. Поэтому приведу аналогию, которую можно моментально осознать.
Python и C# — два хороших языка. Но что их отличает — Python имеет динамическую типизацию, и следовательно наименьщую строгость компилятора. Поэтому значительная часть багов Python программы проявляется не в процессе компиляции, а во время выполнения. То есть:
Python — низкая строгость компилятора; большинство дефектов (90%) проявляется во время выполнения скомпилированной программы
C# — средняя строгость компилятора; много дефектов (50%) выявляется еще на этапе компиляции.
Теперь перейдем к ML языкам, напрмер к F# (является братом-близнецом OCaml и Haskell). F# rомпилятор обадает высокой строгостью. Поэтому 90% дефектов выявляется еще на этапе компиляции. Но уж если программа скопмилировалась, вероятность проявления дефектов во время выполнения очень низкая (всего 10%, в то время как у C# 50%). Отсюда и получается эта цифра: "багов меньше в 5 раз".
Re[3]: Реальные проекты на экзотике (Hascell и пр.) - как?
Здравствуйте, nekocoder, Вы писали:
N>Познакомившись с Haskell/OCaml/F#, вы перестанете писать код. Вместо этого вы будете писать посты в бложек о новом способе вычисления чисел фибоначи и проповедовать функциональное учение на форумах.
Юмор юмором, но это подобно позиции необразованного человека, который заявлял бы что: "познакомившись с алгеброй, вы забудете таблицу умножения".
Re[3]: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, Shmj, Вы писали:
S>Учить язык нужно за деньги — т.е. когда тебе за это платят — иначе мотивации никакой не будет. Т.е. начинать с Junior-а.
Сильно зависит от типа личности, а мы все разные. По-моему, то, что ты описал, в одной забавной классификации называется "линейным программистом".
Как пример, Haskell применяют в компании Facebook для фильтрации сообщений, т.е. принятия решений, что можно вводить в базу сообщений, а что нельзя. Есть прослойки на С++, но основные решения принимает код на Haskell. https://www.youtube.com/watch?v=mlTO510zO78
Это что, получается, гнать менеджеров из компании Facebook?!
Re[4]: Реальные проекты на экзотике (Hascell и пр.) - как?
Здравствуйте, Aquilaware, Вы писали:
N>>Познакомившись с Haskell/OCaml/F#, вы перестанете писать код. Вместо этого вы будете писать посты в бложек о новом способе вычисления чисел фибоначи и проповедовать функциональное учение на форумах.
A>Юмор юмором, но это подобно позиции необразованного человека, который заявлял бы что: "познакомившись с алгеброй, вы забудете таблицу умножения".
Это наблюдение необразованного человека. Которое подтверждается отсутствием проектов на всех этих суперязыках.
Re[2]: Реальные проекты на экзотике (Haskell и пр.) - как?
Здравствуйте, nekocoder, Вы писали:
N>Здравствуйте, Shmj, Вы писали:
S>>Вот, некоторые люди на работе пишут на Haskell. Как они до этого доходят?
S>>Какая мотивация в владельца бизнеса применять столь экзотический язык, на котором пишут очень не многие, который весьма сложен в изучении да и которому, скажем прямо, нигде не учат?
N>Единственный проект на хаскеле, который я знаю (кроме самого компилятора хаскеля) — это оконный менеджер XMonad. Но им вроде никто не пользуется.
В касперском насколько я знаю пишут на Haskell, генерирует С код для какого-то проекта.
Re[2]: Реальные проекты на экзотике (Hascell и пр.) - как?
Здравствуйте, Aquilaware, Вы писали:
A> И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.
А ещё трава зеленее станет, и пиписька крепче стоять будет.
Слышали мы такие лозунги неоднократно.