
Pavel
25.01.2017
10:38:43
но ведь должна же быть какая-то причина использования F# на мобилке? Не просто же "потому что нравится F#"? Может быть есть какая-то специфическая задача? Не все же приложения просто шлют JSON на сервера, получают ответ, что-то показывают и так по кругу?

Кита
25.01.2017
10:39:07

Igor
25.01.2017
10:46:40
А ты уверен что он пишет в функциольном подходе (юзает scalaz)? Иначе у него там тот же ООП что и в Java.

Google

Кита
25.01.2017
10:47:07
он со своей функциональщиной уже года так 3 мозги всем ест)
так что да - уверен
кстати он сейчас работает на проекте рекламного аггрегатора, BigData вот это все
как думаешь на чем он пишет?

Igor
25.01.2017
10:48:57

Roman
25.01.2017
10:59:43

Igor
25.01.2017
11:07:32

Roman
25.01.2017
11:10:07
А то что нормальные компиляторы поддерживающие фп фичи оптимизируют фп до вполне себе уровня ооп. Если его брать за референсные значения. То это факт

Akhmed
25.01.2017
11:15:06
1. Объяснять что за профит дает F# дело неблагодарное. Это примерно как объяснять людям которые не видели и не слышали об MVVM объяснять зачем оно нужно. Когда MS в WPF начала "пропагандировать" использовать MVVM подход я столкнулся с этой проблемой. А именно то что люди не понимали "зачем - я и на WinForms не использовал MVVM и здесь спокойно можно обойтись. Замудрили что то"
Если MVVM не требует изучения нового языка то функциональный язык собственно требует еще болших умственных вложений

Pavel
25.01.2017
11:16:04
ну может конкретная задача была, с которой функциональный код справлялся лучше

Roman
25.01.2017
11:16:38

Google

Akhmed
25.01.2017
11:17:09
масса примеров. Иммутальность. В C# мы напрягаемся что бы смоделировать иммутабельность

Roman
25.01.2017
11:17:11

Akhmed
25.01.2017
11:17:38
и только в следующей версии (предположительность C# 8) добавят в C# иммутабельные типы
Pattern Matching - в C# 7 частично тянут PM

Roman
25.01.2017
11:17:59
Даже присутствие нетипизируемого null это уже проблема.

Akhmed
25.01.2017
11:18:59
конечно у F# масса проблем. Основная проблема в том что MS на него забила потому что людей очень мало. Ну и собственно наоборот - людей очень мало потому что MS забила на F#

Roman
25.01.2017
11:19:07
Даже боговмерзкая джава уже внедрили опциональные типы для замены nullов.

Akhmed
25.01.2017
11:19:50
В UWP проект так и не добавили поддержку F#

Roman
25.01.2017
11:19:59

Akhmed
25.01.2017
11:20:17
я подписан на его блог
но сейчас F# без проблемно использовать разве что на сервере

Igor
25.01.2017
11:20:57
Java это вообще кобол201x, у него главная задача - поддежка максимальной совместимости.
Благо там можно перейти на Scala/Groovy/Kotlin

Roman
25.01.2017
11:22:26

Igor
25.01.2017
11:22:54

Roman
25.01.2017
11:23:50

Igor
25.01.2017
11:24:48
(да и rider опять таки ?)

Akhmed
25.01.2017
11:24:50
UWP приложения с F# компилируются
но нельзя выложить
может сейчас исправили
но раньше так было

Google

Akhmed
25.01.2017
11:25:53
а нет - все еще в работе
https://github.com/Microsoft/visualfsharp/issues/1096

Roman
25.01.2017
11:29:39
https://youtrack.jetbrains.com/issue/RIDER-574 please, vote for f# support. Rider IDE
Я уже даже почтил это сюда же.
Если смотреть на фронтенд, то там очень популярный elm который вдохновлен ml семейством.
все эти elm architecture. Есть и в fable компиляторе f# в js

Akhmed
25.01.2017
11:35:04
React + Redux это ведь тоже функциональный подход на самом деле
а с Redux сразу видишь зачем нужны те же иммутабельные типы

Roman
25.01.2017
11:40:13
Кстати, можно нечто подобнео сделать и с http://reactiveui.net/ для xaml

Akhmed
25.01.2017
11:42:40
Вот кстати отличный пример как можно использвоать elm архитектуру на WPF
http://anthonylloyd.github.io/blog/2016/06/20/fsharp-elm-part1
Если будете сравнивать с MVVM подходом то тут очень важно понимать что все что касается UI (до Example UI applications ) это пришлось создать вот такой слой абстракции над текущими элементами и его можно переиспользовать в таком же виде в новых проектах. А вот что косается логики приложения - все в разделе Example UI applications

Alex
25.01.2017
11:47:50
Всем привет! Работаю сейчас над прототипом, в котором необходимы карты. Кто-нибудь работал с google maps к примеру? насколько оно шустро работает? Есть необходимость несколько сотен пинов обновлять с анимациями разными. Что типа твитера только с привязкой к карте

Slava
25.01.2017
11:54:35
Работает все шустро
Можно кластеризацию пинов прикрутить
А так Google Maps это считай стандарт, так что работают хорошо

Кита
25.01.2017
11:59:08
Это кажется из разряда “ха ха ха, а вот посмотрите с++ умеет во множественное наследование, поэтому он лучше и гибче” но ни разу никто не испытывал жуткой необходимости в множественное наследование на реальных энтерпрайзных решениях. Тут тоже самое

Google

Akhmed
25.01.2017
12:01:38
ну само собой. Я пока тоже не познакомился с F# вообще не подозревал что это где то комуто может понадобится - наоброт - тянет массу проблем.

Roman
25.01.2017
12:01:42

Кита
25.01.2017
12:02:26
И по поводу всех этих функциональных UI надстроек - а кто-то вообще замерял скорость рендеринга на том же одноядерном проце под андроид? Стресс-тесты кто-то проводил? Какие результаты?

Roman
25.01.2017
12:04:57
https://birmingham.impacthub.net/event/functional-programming-for-mobile-devices-f-development-with-xamarin/ вот пример игры.

Кита
25.01.2017
12:05:45
ну там openGl задействован так или иначе

Akhmed
25.01.2017
12:05:56
по поводу иммутабельности
в питере будет конференция
и там будет доклад зачем в C# добавляют иммутабельность

Кита
25.01.2017
12:06:12

Roman
25.01.2017
12:06:17

Akhmed
25.01.2017
12:06:22
а так сейчас на русском вроде было что то про иммутабельность
сейчас попробую найти
Пока что вот http://enterprisecraftsmanship.com/2015/03/02/functional-c-immutability/
где то видел его перевод

Roman
25.01.2017
12:07:20
я про это
А, бенчмарки можно у них в issue посмотреть, если нет, то попросить.
http://fsharp.org/use/gpu/ а вот про F# код исполняемый на GPU

Akhmed
25.01.2017
12:07:37
но в C# иммутабельность очень дорого сейчас будет обходится
потмоу как иммутабельный список придется полностью копировать

Roman
25.01.2017
12:08:12

Google

Akhmed
25.01.2017
12:08:18
надо делать специальный списки под иммутабельность что бы не копировать список каждый раз
в F# если элемент добавить в коллекцию то у тебя образуется два списка - старый и новый с этим элементом
общие элементы на самом деле у них действительно общие

Igor
25.01.2017
12:09:31

Roman
25.01.2017
12:11:12

Akhmed
25.01.2017
12:11:25
надо восполнить этот пробел у себя
я их не использовал так как их вроде нет в PCL

Roman
25.01.2017
12:12:43

Akhmed
25.01.2017
12:13:18

Igor
25.01.2017
12:25:54
Кто-нибудь знает, если ли разница чем билдить из консоли (или в Jenkins) на маке/linux
/Library/Frameworks/Mono.framework/Commands/xbuild
или
/Library/Frameworks/Mono.framework/Commands/msbuild
?

Roman
25.01.2017
12:34:53
Xbuild делает то же самое что и msbuild.
Но дженкинс он же под линем так что там только xbuild

Igor
25.01.2017
12:36:59
У меня Jenkins на OSX и в mono есть свой msbuld.
Я думал что он просто алиас для xbuild, но видимо нет тк он падает в отличие от xbuild на середине сборки.

Roman
25.01.2017
12:37:33
Я всегда на никсах использовал xbuild.

Кита
25.01.2017
12:41:33
смысл дженкинса под линухом?
вообще какой смысл писать на замарин и не использовать ios. Если пишешь под ios - значит автоматом все должно быть под OSX.