Ayrat
А где можно предыдущую часть почитать?
https://habr.com/company/microsoft/blog/415189/
Erlium
Скажите, а в F# обычно приходят после C#? Дело в том, что я не могу определиться со стеком технологий. Я прочитал первую часть СИКП, попробовал разные языки, но большая их часть вызывает у меня отвращение. А те которые нравятся, их сложно изучать без продакш опыта, и работы на них очеь мало. Имею ввиду функциональные языки. Мне понравился .NET стек, но C# не идет, слишком в нем много лишних слов, непонятных для меня фич. Больше всего нравятся Лиспы, но писать на них за деньги почти нереально. F# тоже понравился. Вот хочу понять, стоит ли изучать F# в моей ситуации, найду ли работу? Может вопрос не по адресу, или слишком наивный, прошу не судить строго.
SuddenGunter
gsomix
@clojure_ru
Erlium
если нравятся лиспы, может Clojure?
Немножко трогал его. По сравнению с C# конечно очень простой язык. Мне только не понравилась его экосистема. .NET Core как то больше понравился, все собрано в одном месте, некоторые инструменты более продвинутые.
Pavel
Нет работы на f# в постсовке. Да и на западе начинать с f# я бы не рекомендовал.
Erlium
Хорошо, тогда еще один вопрос. Если немного понял функциональную парадигму и она мне близка, как теперь понять императивную, что почитать толкового? Может показаться смешным, но я не могу думать в императивном стиле. ФП парадигма для меня понятна, она очень похожа на математику, но императивная никак не идет. Особенно плохо заходят концепции традиционных ООП языков, C#, Java, etc. Если по ФП есть такие книги как СИКП, что читать по ООП так чтобы объяснялось зачем все это нужно и как использовать?
Vasily
Я бы рекомендовал что-то про паттерны проектирования, если хочется упороться
Vasily
Ddd, вот это вот все
gsomix
Любая, которая понравится.
Vasily
Керниган Ритчи, издание года 80 :)
Vasily
Или Страуструп
Vasily
Чтобы упороться
gsomix
Или Страуструп
Я говорю про Си, не C++.
Vasily
Ну можно и по плюсам упороться
gsomix
Не нужно, это отвлечет от сути.
Vasily
Дык походу человек и хочет отвлечься
gsomix
Что читать про ООП -- хз.
gsomix
Ничего не читал.
gsomix
Впервые вижу такого человека :)
Нас просто троллят, а мы ведемся. Ничего удивительного.
Erlium
Ничего не читал.
А вы на C# писали/пишите? Там же все вот эти вот классы и прочее, как с помощью них писать код если ничего не читать? Вот я читал по C# книгу, а там какая то инкапсуляция в объектах, и другие подобные штуки, что в СИКП не было. Я эти фичи поняь не могу, а нормального объяснения им пока не нашел. Мне это все кажется излишней сложностью. Не могу понять зачем это, какие решает задачи.
Ayrat
я честно пытался осилить PoEAA. дичь, не дочитал. вы только посмотрите сколько он паттернов нашёл https://martinfowler.com/eaaCatalog/index.html
Vasily
Скорее всего троллят,да
Vasily
Ну классификация паттернов это такое, да
gsomix
А! Еще иногда нужно читать код.
gsomix
Вот.
Erlium
Нас просто троллят, а мы ведемся. Ничего удивительного.
Вы ошибаетесь. Может для вас это дикость, но после основ ФП, мне действительно непонятны все эти классы...
gsomix
Кажется, это секрет успеха.
Vasily
Это важно?
Похоже, что да
Vasily
И до этого не программировал?
Vasily
Бэкграунд какой?
Ayrat
надо в индустрию, опыт получить. писать на F# - это надо понять зачем и почему не C#
Vasily
Короче, чтобы понять, что говно это говно, надо в нем побарахтаться
Erlium
И до этого не программировал?
За деньги нет. Решал задачи на Leetcode. Пробовал разые языки. Начал изучать из любопытства. Теперь решил, что хочу найти работу.
Erlium
надо в индустрию, опыт получить. писать на F# - это надо понять зачем и почему не C#
У меня обратная ситуация, мне непонятно зачем нужен C#, если в F# все проще.
gsomix
Пишешь код.
Ayrat
Короче, чтобы понять, что говно это говно, надо в нем побарахтаться
и самому говна поделать полезно. фабрик там пописать абстрактных
Erlium
надо в индустрию, опыт получить. писать на F# - это надо понять зачем и почему не C#
F# не самоцель, просто ФП языки мне ближе, я могу думать в их категориях. А в категориях императивных языков не получается. Мне кажется что все эти люди, что меняют состояние и городят паттерны - занимаются ерундой. В том плане, что я не понимаю их код.
Pavel
Я слышал, что такие люди существуют, но сами никогда не встречал. В теории, когда начал изучать программирование с фп, то перейти на ооп не легче, чем наоборот
Vasily
Это да
Vasily
Где-то я аватарку видел
Pavel
С этими языками сможешь найти работу
Vasily
В понве, кажется
gsomix
Ну, это флудилка, ребята. Пусть троллируют.
gsomix
Вы только не кормите, ответы на все вопросы уже дали.
Erlium
Спасибо за ответы всем. Можете быть уверены, что я не троллил. Может я дурак что не понимаю простых как вам кажется вещей, но я был честен и не соврал ни разу.
Romɑn
У меня обратная ситуация, мне непонятно зачем нужен C#, если в F# все проще.
У нас правда появилась драма. Я тоже не люблю писать на C# после F#, но успел получить работу до того как узнал F#, вот что было бы узнай я про F# сразу я хз
Vasily
Ну или просто иди поработай
Vladislav
и кода на нем тонна
Erlium
на C# работы больше и временем проверен
Безусловно это так. Моя проблема в том, что от кода на C# идет кровь из глаз.
gsomix
Эх и нежный народ пошел!
gsomix
Давайте лучше код писать.
Andrew
Безусловно это так. Моя проблема в том, что от кода на C# идет кровь из глаз.
Это странно. Мне как человеку который начинал с императивного языка было не так сложно вьехать в фп, потому что очень многие концепции функциональных языков используются в современных императивных (точнее мультипарадигмовых, но там все равно императивщина преобладает) языках :)
Andrew
И видимо наоборот пересесть сложнее
Erlium
Это странно. Мне как человеку который начинал с императивного языка было не так сложно вьехать в фп, потому что очень многие концепции функциональных языков используются в современных императивных (точнее мультипарадигмовых, но там все равно императивщина преобладает) языках :)
К хорошему легко привыкнуть. Может со мной что то не так. Просто я воспринимаю код как математику. В математике нет состояний. Тем более нет таких костылей как ООП с паттернами. Меня так учили думать со школы.
Vasily
Жизнь преподнесет тебе немало сюрпризов
Andrew
Точно также как в ФП языках неудобно решать некоторые задачи которые легче решаются императивно, так верно и обратное
Andrew
Нужно владеть и тем и тем, чтобы эффективно решать поставленные задачи
Andrew
И соответственно видеть преимущества и недостатки тех или иных подходов
Andrew
Это я к тому, чт оФП не может быть хорошим, это просто другой взгляд на вещи, которые иногда лучше, иногда хуже императивщины)
Andrew
И да, все равно твой код будет выполнятся на железяке, который работает по, скажем так, императивному принципу