Hog
Ну получилось у меня портировать свои поделки на Fable2. Но, честно говоря, вся эта хрень должна быть проще :( для обработки поста даже promise {} пришлось заюзать... :(
Hog
Что я делаю не так? :(
Romɑn
Что я делаю не так? :(
Смотря что у тебя за код)
Anonymous
Смотря что у тебя за код)
меня умеляют такие фразы :)
Anonymous
смотря как, с чего? :)
Romɑn
Я вижу эмоции, и вижу неполное описание проблемы. Хочу код
Romɑn
Хочу помочь
Anonymous
это я понимаю :)
Hog
проблемы как таковой нет :) но всё мне кажется очень сложным
Hog
Я буду делать докладик на местной конференции и обязательно код покажу
Romɑn
Ок)
Roman
Я вчера был на, возможно, самой хуевой презентации F#. В офисе майкрософта
Roman
После таких митапов становится понятно, почему язык непопулярный
Roman
Чувак за час рассказал, что "главная фишка F# это оператор |>", немного про паршал аппликейшн (не рассказывая про карринг), про отсутствие скобочек вокруг аргументов, и все это на примерах решения каких-то примитивных математических задачек
Roman
и каждый раз после какого-то примера на F# показывал, что на C# это легко реализуется таким-то образом
Hog
Интересно, зачем такое?
Roman
В итоге после презентации осталось впечатление, что F# — какая-то экзотика для решения математики, но и C# для этого сгодится в общем
Hog
Т.е. просто подтвердил всеобщий миф :(
Roman
Митап задумывался как Introduction to F# for beginners
Roman
Но после него не то, что у новичков не возникает желания писать на нем, у меня едва не отпало)
Roman
Т.е. просто подтвердил всеобщий миф :(
По сути да, и в этом проблема. Без такого митапа, наверное, популярность была бы незначительно выше)
Roman
Интересно, зачем такое?
Я думаю, просто какому-то неумелому парню поручили/разрешили провести митап, не особо заботясь о качестве. Я еще спросил, есть ли у МС планы как-то продвигать/популяризировать F#, пушто язык крутой, а вакансий нет, на что он мне ответил, что вакансии есть в америке и немного в европе, а еще можно на своей работе немного пописывать на F#. Короче, позорище
Hog
Надо мной в очередной раз поржали на отборе докладов на локальную конференцию - «опять этот со своим ф#». Но я там много лет волонтирю - поэтому в расписание засовывают :)
Pavel
да. чувак застрял в 2010.
Pavel
сейчас только про TP, ADT и PM можно рассказывать как "фишки"
Roman
про систему типов ВООБЩЕ ни слова не было)
Klei
про систему типов ВООБЩЕ ни слова не было)
Фамилия у этого человека есть?
Pavel
про систему типов ВООБЩЕ ни слова не было)
хорошо же. а то и там бы показал как на цешарпе это легко делается )
Roman
ты расправу учинить хочешь?)
Pavel
а... жабер.. понятно
Pavel
засланный
Klei
ты расправу учинить хочешь?)
Провести воспитательную беседу.
Pavel
про систему типов ВООБЩЕ ни слова не было)
оно ? https://github.com/ChangHaiBin/FSharpTalk/blob/master/FSharp%20Talk.pdf
Roman
46 страница содержит ключевую идею F# )
Vagif
И это Майкрософт его пригласили делать доклад по фшарпу? А пригласить человека, знающего лишь Windows 3.0 1990 года делать доклад о Windows 2010 они не додумались?
Vladislav
F# on MSDOS 2.0
Vagif
edlin program.fsx
Romɑn
Чувак за час рассказал, что "главная фишка F# это оператор |>", немного про паршал аппликейшн (не рассказывая про карринг), про отсутствие скобочек вокруг аргументов, и все это на примерах решения каких-то примитивных математических задачек
Я его понимаю. Будь пайпы в с# мне было бы гораздо легче на нем писать, но просто так пайпы не сделать. Это раскручивает на партиал аппликейшн и автокарринг и т.д. и т.п. иначе пайпами пользоваться будет неудобно.
Roman
Ну, чувак некомпетентный, очевидно. У него много косяков в докладе было, он даже не смог нормально объяснить, зачем скобки в выражении g (f a), если по его же словам, скобки в фшарпе не нужны. Зачем его пригласили, я не знаю. В конце концов, это была не конференция, а митап в офисе МС. Как так вышло и кому это надо было, я не знаю, к сожалению. Но горело у меня не меньше вашего, пока я там сидел.
Roman
я, наверное, уже всех им заебал
Roman
Формат митапа не подразумевал возможности дополнить его рассказ?
там был в аудитории 1 толковый чел, который вставлял ремарки и задавал вопросы, но нашелся другой, который сказал "let him just finish his presentation, this is for beginners"
Roman
По большому счету поправлять его было бесполезно — там надо было выкинуть нахер его доклад и начать свой с нуля
Анна
Roman
Ибо там буквально к каждому слайду можно придраться
Roman
после него выступал следующий чел с темой про net standard и все сопутствующее
Romɑn
Не, я про следующий митап
Roman
Можно попробовать, но я если и соберусь делать похожий доклад, хочу нормальный боевой пример иметь
Roman
Я вот чую, что можно как-то нормально управлять зависимостями без этих безумных DI фреймворков. У меня уже есть хороший пример, во что использование DI может превратиться в C# на сложном проекте, но нет нормального примера на F#
Romɑn
В том-то и дело, что на f# это все будет по-другому и один в один примера на С# и Ф# не будет. Это надо двум людям понаписать два проекта по одинаковым требованиям на двух разных языках.
Romɑn
Кстати, был вроде real world example на гитхабе.
Roman
Мне и не нужно один в один, это было бы бессмысленно
Romɑn
Может кто-то уже фигачио его на c#, и надо просто написать на F# и сравнить.
Roman
кинь ссылкой плз
Roman
Я вот чую, что можно как-то нормально управлять зависимостями без этих безумных DI фреймворков. У меня уже есть хороший пример, во что использование DI может превратиться в C# на сложном проекте, но нет нормального примера на F#
мой поинт про то, что ООП (то, что под ним сейчас понимают в мире C# & Java) не предназначено для тех целей, для которых их используют. Подразумевается, что объект — хранилище каких-то характеристик и состояния, с пачкой методов для управления этим делом. А сейчас самый популярные объекты в реальном проекте — сервис и репозиторий. Какие там характеристики и состояния? Они не должны быть объектами, они должны быть модулями с функциями, которые принимают конфигурационные настройки в качестве аргументов, а не как поля класса хранить коннекшн к базе и ссылки на другие сервисы/репозитории
Roman
Но прежде, чем с такими громкими заявлениями выступять перед людьми, нужен нормальный пример проекта
Romɑn
https://github.com/gothinkster/realworld
Romɑn
Там не хватает фронта на F#. ;)
Roman
спс гляну
gsomix
Поэтому в языках есть разные способы не таскать настройки через аргументы функций.
Roman
почему неудобно?
gsomix
От объектов до монад, модулей ML и имплиситов.
gsomix
почему неудобно?
Потому что бойлерплейт.
Roman
ну DI тоже неудобно, когда это разрастается в сервис локаторы, всплывают странные баги с life time scope, когда навигация по коду больше не работает, пушто где-то в миллионах экстеншн методов регистрируется то, что тебе нужно, но пока ты не прочтешь весь код, ты этого не узнаешь
Roman
и бойлерплейта там тоже хватает, кстати
Roman
* Я пока не утверждаю, что на функциях и модулях все будет стопудово лучше. У меня просто есть устойчивое подозрение, но нет достаточного опыта
Roman
ну интерфейсов же не будет) Будут сигнатуры функций