Re: Реальные проекты на экзотике (Haskell и пр.) - как?
От: Zhendos  
Дата: 30.08.19 16:32
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот, некоторые люди на работе пишут на Haskell. Как они до этого доходят?


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


S>Где вообще можно научиться Haskell? Система образования чаще всего придерживается классики (C, C++, Java и на крайняк C#). Ну да, экзотике могут посвятить несколько часов — только чтобы глаза круглыми сделали.


S>Курсов по нему тоже нет — курсы есть на популярные технологии.


S>Как до него вообще доходят?



1. А какая разница чему учит или не учит система образования? Куча народа на территории ex СССР
стала программистами, хотя и не учились на них. Они естественно изучали язык с помощью книг,
статей, блогов и т.д.
По экзотическим языкам типа Haskell конечно есть книги, стать и т.д.

2. Экзотика относительна. Вот например:
https://www.theregister.co.uk/2019/08/16/dropbox_gives_up_on_sharing_c_code_between_ios_and_android/
Dropbox пришлось переписать кучу кода потому что не нашла C++ программистов.
Поэтому вполне возможно, что экзотический язык "в среднем по палате" совсем не экзотический в какой-то
предметной области. Например Rust довольно экзотический на сегодня, но довольно часто финансовые стартапы со словом
"blockchain" в описании ищут разработчиков на Rust или например Fortran, довольно экозотический язык на данный момент,
но в некоторых областях умение его понимать необходимо, и думаю еще долго так будет.
Re[3]: Реальные проекты на экзотике (Haskell и пр.) - как?
От: alzt  
Дата: 30.08.19 20:18
Оценка: 6 (1) +2
Здравствуйте, Shmj, Вы писали:

A>>Программистов, которым для освоения языка надо, чтобы какой-нибудь профессор в ВУЗе им прочитал курс, надо сразу в биореактор. Не место таким в профессии. Языкам у нас, да думаю не только у нас, учат посредственно. И в большинстве случаев язык вообще не важен, нужны другие знания (хорошее понимание базовых алгоритмов, устройства железа, умения организовывать код и др.).


S>Учить язык нужно за деньги — т.е. когда тебе за это платят — иначе мотивации никакой не будет. Т.е. начинать с Junior-а.


Не знаю ни одного человека, кто бы "выучил язык за деньги". Большинство учило, т.к. им было интересно программировать. Желающих учить/программировать на функциональных языках много. Им не нужно оплачивать обучение, они уже сами всё выучили. Мотивация у всех внутренняя — это интересно.

Может какие-то работодатели платят за курсы по языку, но я очень сомневаюсь, что это того стоит. Я с таким никогда не сталкивался. И нормальные программисты, когда переходили на другой проект с другим для себя языком, через некоторое время хорошо САМИ изучали новый язык.
Re[4]: Реальные проекты на экзотике (Haskell и пр.) - как?
От: Shmj Ниоткуда  
Дата: 31.08.19 00:56
Оценка: -1
Здравствуйте, alzt, Вы писали:

A>Может какие-то работодатели платят за курсы по языку, но я очень сомневаюсь, что это того стоит. Я с таким никогда не сталкивался. И нормальные программисты, когда переходили на другой проект с другим для себя языком, через некоторое время хорошо САМИ изучали новый язык.


Зачем курсы? Просто начинают работать и получают зарплату за то что учат язык (по факту).
Отредактировано 31.08.2019 0:56 Shmj . Предыдущая версия .
Re[2]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: AleksandrN Россия  
Дата: 31.08.19 11:01
Оценка:
Здравствуйте, Aquilaware, Вы писали:

A>И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.


Если серебрянная пуля уже есть, почему она мало используется?
Re[3]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Poopy Joe Бельгия  
Дата: 31.08.19 16:00
Оценка: +1
Здравствуйте, AleksandrN, Вы писали:

AN>Здравствуйте, Aquilaware, Вы писали:


A>>И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.


AN>Если серебрянная пуля уже есть, почему она мало используется?


Потому что люди консервативны и очень не любят менять привычки. Особенно, если новое требует поставить под сомнение весь предыдущий опыт.
Re[4]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Shmj Ниоткуда  
Дата: 31.08.19 22:32
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

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


Вы спешите с выводами.

Технология должна пройти проверку практикой. Да, есть случаи где Haskell крут — это те же парсеры всевозможные. Но жизнь не состоит только лишь из парсеров — это лишь незначительный процент.
Отредактировано 01.09.2019 2:04 Shmj . Предыдущая версия .
Re[3]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: 0xCAFEDEAD  
Дата: 01.09.19 02:52
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>Здравствуйте, Aquilaware, Вы писали:


A>>И это дает свои плоды. Познакомившись с Haskell/OCaml/F# один раз, вы уже не будете писать на С/C++/Java/C#/JavaScript как прежде. Никогда. Качество и скорость вашей работы возрастет в разы, а плотность багов на единицу кода уменьшится в 5 раз.


AN>Если серебрянная пуля уже есть, почему она мало используется?


Да как раз именно сейчас и используется по полной. Просто немного другим путем. Haskell/OCaml — академические проекты, скорее всего ими и останутся. Но именно они и им подобные являются и вдохновителями, и донорами идей для новых фич в мейнстримовых языках. Во многих новых языках уже есть функциональные типы, паттерн матчинг, и тд. Эти же фичи активно внедряются в существующие языки по мере сил и возможностей.

И народ уже считает лямбду ругательством. Всего лишь 20-30 лет поскитались и вот в мейнстриме!
Re[4]: Реальные проекты на экзотике (Haskell и пр.) - как?
От: AlexGin Беларусь  
Дата: 01.09.19 05:13
Оценка:
Здравствуйте, уважаемый alzt, Вы писали:

A>Не знаю ни одного человека, кто бы "выучил язык за деньги". Большинство учило, т.к. им было интересно программировать.

+100500
Да, именно потому, что интересно!
А если интересно, то будт тебе работа в радость!
Тогда-то и за оплатой твоего труда — дело не станет!

A>Желающих учить/программировать на функциональных языках много. Им не нужно оплачивать обучение, они уже сами всё выучили. Мотивация у всех внутренняя — это интересно.


Тут надо понимать, что есть люди, которые живут функциональщиной.
И их не смущает, что они далеки от майнстрима.

A>Может какие-то работодатели платят за курсы по языку, но я очень сомневаюсь, что это того стоит. Я с таким никогда не сталкивался. И нормальные программисты, когда переходили на другой проект с другим для себя языком, через некоторое время хорошо САМИ изучали новый язык.

+100500
Да, работодатели — обычно ожидают готового специалиста. Их можно (и нужно) понять. За более чем 15 лет работы в беларусском IT,
я ни разу не встречал работодателя, который оплатит человеку курсы по программированию. Если человеку интересно, то он учиться сам,
на рабочем месте.
В конце-концов именно обучение на рабочем месте — это тот фактор, что позволяет специалисту профессионально, а нередко и карьероно, расти.
Re[2]: Реальные проекты на экзотике (Haskell и пр.) - как?
От: AlexGin Беларусь  
Дата: 01.09.19 05:25
Оценка:
Здравствуйте, уважаемый Zhendos, Вы писали:

Z> ... или например Fortran, довольно экозотический язык на данный момент,

Z> но в некоторых областях умение его понимать необходимо, и думаю еще долго так будет.

FORTRAN — древний язык.
Если его просто понимать, то ИМХО любой адекватный девелопер современного стека (C++, C# или Java, JS) его поймёт.
Другое дело, что обычно в старых проектах на FORTRAN, требовались хорошие математические познания, что имеется всё-таки весьма редко
Re[5]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Poopy Joe Бельгия  
Дата: 01.09.19 06:01
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, Poopy Joe, Вы писали:


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


S>Вы спешите с выводами.


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

S>Да, есть случаи где Haskell крут — это те же парсеры всевозможные. Но жизнь не состоит только лишь из парсеров — это лишь незначительный процент.


Ты начал тему с ошибочного написания названия языка, но уже через два дня даешь экспертную оценку где хаскель крут, а где не очень.
Вот это вот все вообще зачем, кроме как для оправданий? Ведь никто же на него силком не тянет.
Re: Реальные проекты на экзотике (Haskell и пр.) - как?
От: namespace  
Дата: 01.09.19 11:38
Оценка:
S>Какая мотивация в владельца бизнеса применять столь экзотический язык,
А он ни сном ни духом, ему главное — чтобы работало и пользователи не жаловались. Это уже потом, когда оценивают затраты на поддержку...

В кровавом ынтерпрайзе все еще хуже. Находится деятельный менеджер, который успешно впаривает высшему руководству полуфабрикаты наподобие 1С, но заточенные под конкретный бизнес. Затем обучают людей птичьему языку той системы.
Система растет, вокруг нее наворачивают обходные костыли, отлавливают все ее баги. Вокруг этой системы вырастает целый зоопарк.
А через >20 лет вдруг оказыается, что некому писать на ней. Ищут долго и упорно, не один год. Находят в Москве одного(!) опытного, желающего ее поддерживать, но тот просит 450тр за работу на полставки тк здоровье не позволяет больше.
Re[6]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Shmj Ниоткуда  
Дата: 01.09.19 17:32
Оценка: -1 :)
Здравствуйте, Poopy Joe, Вы писали:

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

PJ>Вот это вот все вообще зачем, кроме как для оправданий? Ведь никто же на него силком не тянет.

Ошибка в названии ни о чем не говорит — для меня это слово без смысла. Можно изучать историю языка, причину появления названия — тогда ошибку не сделаешь.

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

Даже самое простое — для объявления функции нужно минимум синтаксиса. Потому что язык заточен не под данные а под функции. Но в реальной жизни все крутится вокруг данных.
Re[7]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Poopy Joe Бельгия  
Дата: 01.09.19 17:47
Оценка: +2
Здравствуйте, Shmj, Вы писали:


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




S>Даже самое простое — для объявления функции нужно минимум синтаксиса. Потому что язык заточен не под данные а под функции. Но в реальной жизни все крутится вокруг данных.



Вот про такое я и говорил.
Re[8]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Shmj Ниоткуда  
Дата: 01.09.19 17:52
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

PJ>Вот про такое я и говорил.


А сам то хоть одну строчку на Haskell написал?
Re[9]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Poopy Joe Бельгия  
Дата: 01.09.19 18:06
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>А сам то хоть одну строчку на Haskell написал?


Написал, не переживай за меня. Дело не в том, сколько ты строчек написал, есть люди которые ни строчки не писали на хаскеле или других фя, но понимают концепцию и могут использовать идеи в императивных языках, хоть и выходит многословно и коряво. Дело в том, что ты в принципе не понимаешь о чем говоришь, и у тебя нет ни малейшего интереса, иначе бы ты не озвучивал глупости выше. Достаточно было бы пары вводных статей или видео, чтобы это понять. Зачем этот топик трогать вообще? Вы себя пытаетесь уговорить что ли, что реальных проектов нет? А зачем?
Re[7]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 01.09.19 18:07
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Даже самое простое — для объявления функции нужно минимум синтаксиса. Потому что язык заточен не под данные а под функции. Но в реальной жизни все крутится вокруг данных.


Т.е. до главы об объявлении данных не дошел. Но выводы сделал.
Re[10]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Shmj Ниоткуда  
Дата: 01.09.19 22:48
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

PJ>Дело в том, что ты в принципе не понимаешь о чем говоришь, и у тебя нет ни малейшего интереса, иначе бы ты не озвучивал глупости выше.


В C# уже немало элементов функциональных, так что сказать что совсем не понимаю — я бы не сказал.

Задай вопрос — посмотрим понимаю или нет.
Re[11]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Poopy Joe Бельгия  
Дата: 02.09.19 09:24
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, Poopy Joe, Вы писали:


PJ>>Дело в том, что ты в принципе не понимаешь о чем говоришь, и у тебя нет ни малейшего интереса, иначе бы ты не озвучивал глупости выше.


S>В C# уже немало элементов функциональных, так что сказать что совсем не понимаю — я бы не сказал.


Сами по себе элементы мало что дают, и уж точно не дают понимания принципов, увы.

S>Задай вопрос — посмотрим понимаю или нет.


Я не собираюсь никому устраивать экзаменов. Выше ты уже дал достаточный ответ.
Я могу предложить следующий критерий, без претензий на его полноту или формальную корректность: если монады кажутся помехой, костылем к языку, чтобы "решать проблемы которых нет в функциональных языках (с)" или "способ писать императивно на хаскеле" то ты точно не понимаешь базовых принципов.
Re[12]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Shmj Ниоткуда  
Дата: 02.09.19 12:25
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

PJ>Сами по себе элементы мало что дают, и уж точно не дают понимания принципов, увы.


А как узнать понял принципы или нет?

PJ>Я не собираюсь никому устраивать экзаменов. Выше ты уже дал достаточный ответ.


Зачем экзамен? Обычно достаточно задать пару наводящих вопросов. Но это хотя бы будет конкретика и толчек для человека, который позволит ему понять действительно ли есть проблема.

Пока похоже что ты просто хочешь доминировать примативным путем.

PJ>Я могу предложить следующий критерий, без претензий на его полноту или формальную корректность: если монады кажутся помехой, костылем к языку, чтобы "решать проблемы которых нет в функциональных языках (с)" или "способ писать императивно на хаскеле" то ты точно не понимаешь базовых принципов.


Если хочешь понять что такое монады — читай пост IT http://rsdn.org/forum/flame.comp/7530546.1
Автор: IT
Дата: 30.08.19


Это всего лишь способ избавиться от "служебного кода".
Re[13]: Реальные проекты на экзотике (Hascell и пр.) - как?
От: Poopy Joe Бельгия  
Дата: 02.09.19 13:20
Оценка:
Здравствуйте, Shmj, Вы писали:

S>А как узнать понял принципы или нет?


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

S>Зачем экзамен? Обычно достаточно задать пару наводящих вопросов. Но это хотя бы будет конкретика и толчек для человека, который позволит ему понять действительно ли есть проблема.

Так я тебе и задал. Вместо ответа на него, ты начала разбираться кто должен быть альфой. С тобой все хорошо?

S>Пока похоже что ты просто хочешь доминировать примативным путем.

Над кем и зачем? Пока похоже на то, что ты любитель делать категоричные заявления высасывая их из пальцев.

S>Если хочешь понять что такое монады — читай пост IT http://rsdn.org/forum/flame.comp/7530546.1
Автор: IT
Дата: 30.08.19

Это цитата первой строки из википедии. Так себе объяснение, честно говоря.
Вот это гораздо лучше http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html
Но я говорил не том, что такое монада, а об отношении к ним. Потому что если не понял, то вот это все будет выглядеть как "а нафига вот это всё вообще надо?".

S>Это всего лишь способ избавиться от "служебного кода".

И чем это фраза отличается от дженерики это лишь способ избавиться от служебного кода и интерфейсы это лишь способ избавиться от служебного кода итд?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.