Это копия, сохраненная 6 декабря 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Опыт байтоебства на С/С++ больше 10 лет.
Знаю еще C#, Python, Perl, JS. Какое то время задрачивал в D еще году в 2001.
Но до функциональных языков что-то никак не доходило. И вот сейчас хочу наконец-то постигнуть дзен.
Параллельно буду глубоко вникаться в функциональный анализ, теорию категорий, и потом в топологию.
В общем, уже довольно давно присматриваю язык себе, но никак не могу решить какой лучше, начинал даже как-то хаскель, но потом из-за работы забил и забыл про все это вообще. Но говорят у хаскеля куча недостатков и он годится толкьо как прототип для черпания идей для других языков. Семейство языков лисп меня отвращает своими ебучими скобками. F# вроде годно но майкрософт-параша. OCaml вроде мертв. В принципе ML языки выглядят вроде хорошо, но не понятно вообеще какие актуальные есть. Erlang впизду, синтаксис уебищный и вроде как там куча проблем есть. Elexir хз что за зверь. Scala не особо понятно что вообще за язык, но у меня на работе парни писали какие-то хайлод сервисы на нем, но с JVM неохото связываться.
В общем, обсуждаем, бугурдим, делимся опытом.
>Семейство языков лисп меня отвращает своими ебучими скобками.
С таким подходом ты далеко не уедешь. Тебе шашечки или ехать? Скобки там не просто так, для красоты. Благодаря им лиспы обладают гомоиконностью - важным свойством, которое позволяет иметь мощную и простую систему метапрограммирования. Наверное все-таки надо рационально оценивать инструменты и смотреть на их суть, а не выбирать по принципу "ой не хочу голубенький хочу розовенький".
Вообще, весь пост у тебя странный. Ты хочешь, чтобы мы тебя начали уговаривать что-то выучить, а ты бы ломался и находил причины, по которым ты ни хачу ни буду? Неочевидно, зачем тратить на это время.
Стандартный ответ на такие вопросы - sicp + racket. Оптимальный вариант, тем более для байтоеба.
Если хочется чего-то "математикообразного" для написания факториалов - standard ml\haskell. Учти, что хаскель ленивый. Алсо, учти, что к теории категорий он имеет весьма призрачное отношение (а к топологии и вовсе нутыпонел).
Алсо, есть такое мнение: https://profsjt.blogspot.ru/2017/10/is-haskell-right-language-for-teaching.html
Если тебе нужно не просто учить, а писать какие-то реальные приложение, то окамл\скала\фшарп, в зависимости от платформы. Окамл не мертв, просто нужно брать стороннюю стандартную либу. Если нужна динамика - кложа\эликсир, опять же в зависимости от задач.
Короче, либо определись, чего-то хочешь, и конкретизируй вопрос, либо я не знаю. Можешь хоть на перле в функциональном стиле писать тащем-то.
tldr: sicp
na takih ple4ah derzitsya /pr
Лиспы - это не функциональщина, а что-то вроде js с макросами. Учи хаскель, по нему материалов больше всего, комьюнити большое.
> Elexir хз что за зверь
Скажу лишь: на эликсире на удивление много (т.е. больше нуля) вакансий начало появляться.
Работа в :
Nokia, Motorola, Ericsson(дохуя вакансий). И конечно же для тех кто у них на аутсорсе. Плюс дохуя работы есть во всяких конторах, которые начали юзать модный эликсир. На ерланге также крайне дохуя аутсорса для разных компаний, симуляторы, дата генераторы, бекенды. Scala есть еще больше работы, но туда не вкатишься на джуна вообще никак. Кто с калиниграда может съебать в польску и там кайфовать или в швецию-финку.
По кложуру вакансий еще больше. У walmart (крупнейший ритейлер в сша, на минуточку) бэкенд на кложур. Вакансии есть даже в России, причем не только в дс. Плюс модный функциональный клиент-сайд стек на реакт+рефлукс+графкуэль. Можно даже использовать в проектах под видом библиотеки, ибо не тащит за собой свою платформу.
но ерланг с еликсиром тоже няшки :3
Да нахуй эту гомоикунность. Понятно, что заебешься их набирать постоянно и это уже весомый аргумент в пользу неудобности языка, с таким же успехом я могу дальше говнокодить на шаблонах в с++. А все таки ФП язык должен быть изящым и выразительным, что не относится к лиспу.
Думаю стоит прояснить зачем мне нужен ФП язык:
- Познать тему ФП.
- Выбрать себе язык для написания всего что не уместно писать на С. То есть хочу избавиться от с++, работать байтоебом на С, все остальное делать на ФПязыке.
Еще я не собираюсь в ближайшем будущем искать работу на ФП языке, так что мне не важно есть там вакансии или нету. Но хотелось бы чтобы язык был более менее живой и существовали библиотеки для реализации Х на нем.
Пока склоняюсь больше к хаскелю, ибо
- чисто функциональный без всяких там ооп и императивщины.
- хорошая документация и куча материала.
- Вроде как дохуя либ для чего угодно.
- Большое комьюнити.
Спасибо и тебе бро, про кложуру не знал, в сраной белорахе нихуя не было и я в москве не был. Хорошо что в треде мы практики. Буду знать.
Ясно, ОП - хуй.
>заебешься их набирать постоянно
Чувак... Ты в блокноте пишешь? Скобки расставляет редактор\иде. Алсо, в лиспокоде в среднем отношение количества скобок к общему числу символов меньше, чем в джаве\спп. Какой-то чувак заморочился и померял, читал пост в блоге пару лет назад, ржал.
>изящым и выразительным
Изящность и выразительность - это не про синтаксис, а про семантику, привет. Короче, я не вижу смысла тебя переубеждать и вообще обсуждать эту тему - просто имей в виду, что ты не прав. Лиспы есть за что не любить, но вот конкретно аргумент про синтаксис - это хипстерство и петушня. Не ожидал такого услышать от байтоеба, кстати.
> всего что не уместно писать на С
Ну нихуя ты загнул, конечно.
Но вообще - да, бери хаскель. Там ведь еще и книжки оче годные.
Только учти, что для замены с++ лучше бы подошел окемл, а после хаскеля у тебя на окемл будет аллергия ГДЕ ТАЙПКЛАССЫ?! ЧТО ЗА .+ СУКА ГОВНО ПИЗДА?!?!1717, но это в общем-то хуйня.
/thread?
В общем, не хочу я пока начинать с лиспа. Может быть потом в будущем я и буду топить за лисп, но точно не сейчас.
Хочется язык, на котором можно писать будто математические выражения. Думаю, что да хаскель для этого все такие больше всего подходит.
>в лиспокоде в среднем отношение количества скобок к общему числу символов меньше, чем в джаве\спп
Лиспофантазии.
Тебе надо - возьми да погугли. Мне лень зэку-петуху что-то доказывать. инб4: СЛИЛСЯ ХАХА МАМ ОН СЛИЛСЯ
>Если я скажу что слился, то не сольюсь
Ты слился, пиздабол малолетний. Хотя чего ещё ждать от скобкоёба?
Попроси мамку дать тебе таблетки.
Настроил как приличный хипстерок Atom, поставил jdkявахуйню, и думаю пока навернуть этого лиспатребья за обще щеки ну а потом ебануть хаскелем.
> Параллельно буду глубоко вникаться в функциональный анализ, теорию категорий, и потом в топологию.
И как успехи? По-твоему функциональный анализ как-то релейтед к функциональному погромированию, да?
>>1085113
> Хочется язык, на котором можно писать будто математические выражения.
Ага, я тоже когда-то с такими мыслями вкатывался в хаскель.
Оказалось что даже всякие теорем пруверы как-то далеки от нормальной математики, ибо опираются на костыли теории типов вместо костылей теории множеств.
А среди математиков всем насрать на теорию типов, кроме её немногочисленных адептов.
>Опыт байтоебства на С/С++ больше 10 лет.
Если бы у тебя был такой опыт, ты бы не задал такие вопросы.
Может ты не шаришь просто. Теорией типов называют формальные системы. Если ты не осилил, то проблема не в системе. Если ты такой умный, создай свою формальную систему. Ну или хотя бы опровергни хоть одну из существующих.
>Atom
>приличный хипстерок
Ебать ты не в тренде, ставь LightTable пока тебя в коворкинге не обоссали.
Да все он правильно сказал, cs к математике имеет такое же отношение, какое html имеет к программированию. Среди ТРУ Ъ НАСТОЯЩИХ ИСТИННЫХ математиков отношение соответствующее.
Но (тебе|опу) так-то похуй должно быть, тебе(ему) не тусовочку же вливаться и не в нму поступать, а чисто ДЛЯ ДУШИ.
>Да все он правильно сказал, cs к математике имеет такое же отношение, какое html имеет к программированию.
Что такое математика? Формальная система. В природе математики не существует, не существует чисел, и всего остального. Их придумали, как формальную систему, для решения определенных задач. Лямбда-исчисление тоже формальная система, опирающаяся на формальную систему математику, а точнее на мат. логику и другие более узкие формализмы. Так что твое утверждение в корне не верно.
>>1085596
>Но (тебе|опу) так-то похуй должно быть, тебе(ему) не тусовочку же вливаться и не в нму поступать, а чисто ДЛЯ ДУШИ.
Мне не все равно. Я математик, и мое мышление математическое, поэтому я исследую CS с точки зрения математики. Рассматриваю CS как формальные системы.
если формально подойти к изученияю функциональщины, то это пиздец как долго. там дохуя понятий по которым нет популярных книжечек. точнее, есть, но они не помогут. есть научные работы. если их не читать, то получится еще один верун. поэтому сразу лучше перейти к первоисточнику, к библии.
Заходишь на http://scrappers.space там смотришь на сколько востребован язык в СНГ и на западе, смотришь какие зарплаты для него в СНГ и на Западе и выбираешь.
>А ты я смотрю интересная личность)) доставь-ка нам определением этой формальной системы под названием "математика"))
Это не формальное определение. Но вообще то, мат. логика формальная система. Числа откуда, как они придуманы, откуда ты знаешь, что 2 это два? Это же формальный язык. Еще 2 можно римскими цифрами написать, - снова формальный язык.
>>1085766
>Сильное утверждение. Проверять мы его, конечно, не будем. Что закончил? Сколько публикаций, какие темы?
Это никого не касается кроме меня. Я не буду перед тобой оправдываться.
>Это не формальное определение.
>Что такое математика? Формальная система.
Братан, я запутался, ты объясни по-простому. То есть математика - это формальная система, у которой неформальное определение, так?
> Я не буду перед тобой оправдываться.
За что оправдываться-то, братан? Оправдываться за то, что ты математик, да?
Только у меня эта параша показывает в топе раст с 30к вакансий что ждунов что синьков?
Какая разница какой лисп, без lisp mode тыкать скобочки это неблагодарное занятие, если честно.
Баг видимо какой-то.
диван, ну куда ты лезешь?
Вводные: говнокодю на рельсах(основа) и js(как дополнение к рельсе, а не что-то самостоятельное).
Хочется дивгаться дальше. Java- банально, хоть и наверное неплохо с точки зрения карьерно-зарплатного роста.
Так вот. Почему-то(ирарчционально, просто как-то хочется и все) хочется попробовать Elixir(а может быть ив ообще начать с Erlang). Мозг подсказывает(может ошибается?) что по соотношению саморазвитие/получить перспективы для карьеры лучший выбор Scala.
Что думаешь анон, какие подводные?
Вместо того, чтобы терзаться вопросом ОЙ ЧТО ЖЕ МНЕ ВЫБРАТЬ ВДРУГ ОШИБУСЬ, за это время уже успел бы прочитать первый туториал по эликсиру и написать хелло-ворлд на фениксе.
Учи Elixir.
Такой вопрос есть. У меня сейчас есть руби, который по сути нахуй никому не нужен кроме узкой сферы в виде рельс. Не будет ли то же с Эликсиром и Фениксом? Не получу ли я те же яйца только в профиль?
Тебе зачем язык нужен? Чем рельсы не устраивают? Если ты хочешь сказать что на руби нет работы, то это ложь. Ты наверное плохо искал.
Никакой язык не нужен кроме узкой сферы.
Ты как из каменного века, её богу. Сейчас не 80е, мы живём в полиглот-эпоху, учи всё что интересно, ёпта.
Вместо того, чтобы терзаться вопросом ОЙ ЧТО ЖЕ МНЕ ВЫБРАТЬ ВДРУГ ОШИБУСЬ, за это время уже успел бы прочитать первый туториал по эликсиру и написать хелло-ворлд на фениксе.
Я могу заполгода научиться писать хеллоуворды на 100500 языках. Только толку от этого, если уж заниматься чем-то, то на уровне более глубоком, чем хелловорд.
Зачем мне язык? У меня есть работа на руби, она меня на данный момент устраивает. Но не сидеть же на месте, надо же развиваться.
>Я могу заполгода научиться писать хеллоуворды на 100500 языках.
>Я могу
Но вместо этого сидишь на мейлру. Три дня назад вопрос свой задал - сколько уже хеллоуворлдов написал? За это время как раз мог бы настроить енв для скалы и феникса, написать на обоих хеллоуворлды, скачать все нужные книжки, прочитать первые главы и выбрать то, что тебе больше понравилось.
> Но не сидеть же на месте, надо же развиваться.
Ну и платформу выбрали адекватную (js как основной таргет), а не хуй знает откуда взявшуюся и кому нужную виртуальную машину
Ты сам юзаешь OCaml? Вопрос не праздный, хотел когда то поставить окамл, но не осилил. Под убунту нет готовых пакетов (есть старые в репе убунты), собирать из сорцов не умею. Вроде можно установить окамл через OPAM?
>Под убунту нет готовых пакетов
Поэтому если кодишь, надо ставить арч-маньяро. Там в AUR все есть, а если нет, PKGBUILD за минуту пишется.
> Под убунту нет готовых пакетов
Хуль ты мне пиздишь?
> есть старые в репе убунты
Так есть или нету? Старые, блядь, пиздец просто.
> Вроде можно установить окамл через OPAM?
https://opam.ocaml.org/doc/Install.html первая ссылка в гугле, блядь.
>>1095004
Арчедебил, съеби уроки делать.
мимо-злой-мл
>https://opam.ocaml.org/doc/Install.html первая ссылка в гугле, блядь.
Эту ссылку я смотрел уже. Вопрос не как поставить опам, а как ставить сам окамла из опама, и как им пользоваться потом?
P.S. Кстати официального пакета опама для xenial нет, есть только для trusty и vivid.
>Ты сам юзаешь OCaml? Вопрос не праздный, хотел когда то поставить окамл, но не осилил. Под убунту нет готовых пакетов (есть старые в репе убунты), собирать из сорцов не умею. Вроде можно установить окамл через OPAM?
>
Под убунту как раз все и заточено. Все возможные пакеты есть. Конечно ставь Opam
самое смешное что ты все равно даун в конце
>Под убунту как раз все и заточено. Все возможные пакеты есть. Конечно ставь Opam
Под 16.04 нет пакетов окамла/опама от Inria.
>https://opam.ocaml.org/doc/Install.html
>Вопрос не как поставить опам, а как ставить сам окамла из опама, и как им пользоваться потом?
Ах ты сука, ты издеваешься значит, да?
https://opam.ocaml.org/doc/Usage.html
Ссылку открой и посмотри. Пакеты опама и окамла в репе датируются 2 летней давностью. Во вторых, под ubuntu xenial пакетов в репе нет. Надеюсь до тебя дойдет смысл слов, а то складывается впечатление, что у тебя слабоумие.
Еще раз повторяю. Даже в PPA пакеты 2 летней давности. И в этом PPA нет пакетов под ubuntu xenial.
>ФП язык должен быть изящым и выразительным
В лиспе ты можешь нахуячить сколь угодно охуенную выразительность, даже с изменить парсер под свои нужды. Но таки, это не обязательно функциональное программирование.
С выразительностью хаскеля ты соснёшь с проглотом. Твой код будет состоять из лифтов чуть более, чем полностью.
>лифтов
Значение знаешь?
Алсо, окамл не мёртв.
Чтобы понять Суть (тм) ФП хаскель идеально подходит, окамл чуть более практичный, если у тебя stateful-код, но там нет некоторых фишечек (что не критично, в замен есть другие фишечки).
Ну и rust более подходящая замена C++, тоже с многими функциональными фичами, но он, конечно, не совсем функциональный ЯП.
opam собирает версии окамла в ~ каких угодно версий, хоть nightly билдов. Так что похуй какая там версия окамла в твоём дистрибутиве.
Чем тебя не устраивает эта версия https://packages.ubuntu.com/xenial/ocaml/opam ?
Тогдв уже лучше Agda, Coq уж слишком чисто прувер.
Это же старьё. Авторы забили на поддержку своего продукта. Поэтому на Окамле мало кто пишет. Да и развитие идет очень медленно. Я стараюсь не использовать такие инструменты. Замучаешься потом с багами. Ответы будет негде искать. Если бы я точно знал что окамл в чем то лучше других языков, то я бы нашел способ установить свежую версию, скомпилил бы в докер контейнере например. А так как я не уверен, у меня нет мотивации это делать. Если авторы хотят повысить популярность своего языка, им нужно позаботиться о простоте его получения. Там скорее всего с библиотеками тоже самое.
Что ты несешь? В твоем манямирке из того, что в убунте протухшая версия компилятора и тебе уже сказали, что ЭТО НЕВАЖНО, блядь, ты через опам любую версию все равно ставить будешь следует, что авторы забили на "поддержку своего продукта"? Хуйню не неси, братан.
> Да и развитие идет очень медленно. Я стараюсь не использовать такие инструменты.
Тогда не вздумай использовать джаву и си - замучаешься потом с багами, ага.
> я бы нашел способ установить свежую версию
Не, ты либо дебил, либо тралишь. Нахуя тебе что-то искать, але? Ставишь опам, ставишь компилятор. Все. На сайте пошаговые инструкции, здесь тебе уже несколько анонов объяснили - нет, ты до сих пор ищешь способ установить свежую версию, лол. У тебя не с мотивацией походу проблемы, а с пониманием написанного текста - ты уж извини за прямоту.
>в убунте протухшая версия компилятора
Не компилятора, а ОПАМА. Компилятор конечно тоже протухший. Почему INRIA не может поставлять свежие версии, хотя бы в своих реплах?
>и тебе уже сказали, что ЭТО НЕВАЖНО, блядь, ты через опам любую версию все равно ставить будешь
Я не ставлю пакеты 2 летней давности. ОПАМ там 2015 года.
>Тогда не вздумай использовать джаву и си - замучаешься потом с багами, ага.
У них всегда свежие версии под любую платформу есть. У INRIA даже под Xenial нету.
>Не, ты либо дебил, либо тралишь. Нахуя тебе что-то искать, але?
Читай первый ответ.
>Почему INRIA не может поставлять свежие версии
>В репозитории убунты
>INRIA
> Я не ставлю пакеты 2 летней давности.
Блядь, ты реально упоротый. https://opam.ocaml.org/doc/Install.html - что тебе тут непонятно?
> У них всегда свежие версии под любую платформу есть
Ага, особенно у джавы. Дебил, блядь.
> Читай первый ответ.
Да я уже и так понял, что ты дебил.
вообще, все развитие с++ - это попытки сделать язык надежней за счет увеличения строгости системы типов, но и при этом собственно сократить объем кода требующийся для этого (по сути все с++11 - с++17 как раз и решают вторую задачу)
в свое время эта же проблема была решена и в ml семействе
другое дело, что таки создавать реальные приложения придется все равно на с++ так как у ml-семейства традиционные проблемы с "бэкендом" если так можно сказать - нехватает инструментария, "оптимизирующие" компиляторы это только на словах, проблемы с параллельностью и прочее, кстати чем f# и хорош, тем что он "нахаляву" использует возможности огромной платформы .net
Это копия, сохраненная 6 декабря 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.