Hog
Ну получилось у меня портировать свои поделки на Fable2. Но, честно говоря, вся эта хрень должна быть проще :( для обработки поста даже promise {} пришлось заюзать... :(
Hog
Что я делаю не так? :(
Anonymous
смотря как, с чего? :)
Romɑn
Я вижу эмоции, и вижу неполное описание проблемы. Хочу код
Romɑn
Хочу помочь
Anonymous
это я понимаю :)
Hog
проблемы как таковой нет :) но всё мне кажется очень сложным
Hog
Я буду делать докладик на местной конференции и обязательно код покажу
Romɑn
Ок)
Roman
Я вчера был на, возможно, самой хуевой презентации F#. В офисе майкрософта
Roman
После таких митапов становится понятно, почему язык непопулярный
Hog
Roman
Чувак за час рассказал, что "главная фишка F# это оператор |>", немного про паршал аппликейшн (не рассказывая про карринг), про отсутствие скобочек вокруг аргументов, и все это на примерах решения каких-то примитивных математических задачек
Roman
и каждый раз после какого-то примера на F# показывал, что на C# это легко реализуется таким-то образом
Hog
Интересно, зачем такое?
Roman
В итоге после презентации осталось впечатление, что F# — какая-то экзотика для решения математики, но и C# для этого сгодится в общем
Hog
Т.е. просто подтвердил всеобщий миф :(
Roman
Митап задумывался как Introduction to F# for beginners
Roman
Но после него не то, что у новичков не возникает желания писать на нем, у меня едва не отпало)
Roman
Интересно, зачем такое?
Я думаю, просто какому-то неумелому парню поручили/разрешили провести митап, не особо заботясь о качестве.
Я еще спросил, есть ли у МС планы как-то продвигать/популяризировать F#, пушто язык крутой, а вакансий нет, на что он мне ответил, что вакансии есть в америке и немного в европе, а еще можно на своей работе немного пописывать на F#.
Короче, позорище
Hog
Надо мной в очередной раз поржали на отборе докладов на локальную конференцию - «опять этот со своим ф#». Но я там много лет волонтирю - поэтому в расписание засовывают :)
Vagif
Pavel
да. чувак застрял в 2010.
Pavel
сейчас только про TP, ADT и PM можно рассказывать как "фишки"
Roman
про систему типов ВООБЩЕ ни слова не было)
Klei
Roman
Roman
ты расправу учинить хочешь?)
Pavel
а... жабер.. понятно
Pavel
засланный
Roman
Roman
46 страница содержит ключевую идею F# )
Vagif
И это Майкрософт его пригласили делать доклад по фшарпу? А пригласить человека, знающего лишь Windows 3.0 1990 года делать доклад о Windows 2010 они не додумались?
Vladislav
F# on MSDOS 2.0
Vagif
edlin program.fsx
Romɑn
Romɑn
Roman
Ну, чувак некомпетентный, очевидно. У него много косяков в докладе было, он даже не смог нормально объяснить, зачем скобки в выражении g (f a), если по его же словам, скобки в фшарпе не нужны.
Зачем его пригласили, я не знаю. В конце концов, это была не конференция, а митап в офисе МС.
Как так вышло и кому это надо было, я не знаю, к сожалению. Но горело у меня не меньше вашего, пока я там сидел.
Roman
Roman
я, наверное, уже всех им заебал
Romɑn
Ну, чувак некомпетентный, очевидно. У него много косяков в докладе было, он даже не смог нормально объяснить, зачем скобки в выражении g (f a), если по его же словам, скобки в фшарпе не нужны.
Зачем его пригласили, я не знаю. В конце концов, это была не конференция, а митап в офисе МС.
Как так вышло и кому это надо было, я не знаю, к сожалению. Но горело у меня не меньше вашего, пока я там сидел.
Формат митапа не подразумевал возможности дополнить его рассказ?
Romɑn
Vladislav
Roman
По большому счету поправлять его было бесполезно — там надо было выкинуть нахер его доклад и начать свой с нуля
Анна
Roman
Ибо там буквально к каждому слайду можно придраться
Romɑn
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
Romɑn
Там не хватает фронта на F#. ;)
Roman
спс гляну
Romɑn
gsomix
gsomix
Поэтому в языках есть разные способы не таскать настройки через аргументы функций.
Roman
почему неудобно?
gsomix
От объектов до монад, модулей ML и имплиситов.
Roman
ну DI тоже неудобно, когда это разрастается в сервис локаторы, всплывают странные баги с life time scope, когда навигация по коду больше не работает, пушто где-то в миллионах экстеншн методов регистрируется то, что тебе нужно, но пока ты не прочтешь весь код, ты этого не узнаешь
Roman
и бойлерплейта там тоже хватает, кстати
Roman
* Я пока не утверждаю, что на функциях и модулях все будет стопудово лучше. У меня просто есть устойчивое подозрение, но нет достаточного опыта
gsomix
Roman
ну интерфейсов же не будет) Будут сигнатуры функций