@xamarin_russia

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

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
но ведь должна же быть какая-то причина использования F# на мобилке? Не просто же "потому что нравится F#"? Может быть есть какая-то специфическая задача? Не все же приложения просто шлют JSON на сервера, получают ответ, что-то показывают и так по кругу?
По это он F# и не распространн на Xamarin (еще и более слабая поддержка в тулинге) А почему нет? ООП это не серебранная пуля, у функ подхода есть свои плюсы (и минусы). Можно хотя бы попробовать для "расширения кругозора".

Roman
25.01.2017
10:59:43
Известно же что чистые функции и мутабельность тормозят на хайлоаде. А вот на мобилки один девайс-одно приложение можно разгулятся и забить на просадку прозводительность.
Эээ. Умный комилятор делает всё как надо. Твиттер использует скалу. Фэйсбук окамл( про окамл не уверен что там хайлоад) и хаскелл(а тут точно хайлоад т.к. они фильтруют тонны постов и комментов на спам)

Igor
25.01.2017
11:07:32
как думаешь на чем он пишет?
Да уже после того как Lightbend (Typesafe) переоринтировались на Java - уже на чем угодно (хоть на Kotlin).

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
ну может конкретная задача была, с которой функциональный код справлялся лучше

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

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
конечно у F# масса проблем. Основная проблема в том что MS на него забила потому что людей очень мало. Ну и собственно наоборот - людей очень мало потому что MS забила на F#
На самом деле комьюнити довольно активное и язык разрабатывается. Сергей Тихон еженедельно пишет о нововведениях в следующих версиях.

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
но сейчас F# без проблемно использовать разве что на сервере
Не, все же виндового приложения тоже можно писать. Но они конечно устаревают. Просто им придерживается позиции что верстка это c# логика f#, если уж хочется использовать f# для чего-то с гуем .

Igor
25.01.2017
11:22:54
На самом деле комьюнити довольно активное и язык разрабатывается. Сергей Тихон еженедельно пишет о нововведениях в следующих версиях.
Коммюнити хорошо, но тулинг хреновый. VSC написан на половину (теже функции из соседних файлов подсвечиваются как ошибкам), в XS даже подсказки не работают. Плюс nestandart PCL можно сделать только из C# библиотеки.

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
(да и rider опять таки ?)
С радером все понятно. Они его обещали добавить т.к. это самое популярное предложение.

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
а с Redux сразу видишь зачем нужны те же иммутабельные типы
вот честно, уже сколько проектов завершено/в разработке ещё ни разу не понадобились иммутабельные типы на c#.

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

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

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

Roman
25.01.2017
12:04:57
И по поводу всех этих функциональных UI надстроек - а кто-то вообще замерял скорость рендеринга на том же одноядерном проце под андроид? Стресс-тесты кто-то проводил? Какие результаты?
я статистки не искал, знаю что для игр применяют c xna что под windows phone 7 и вроде 8 можно было писать на F#. И проблем с гуем не было.

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# добавляют иммутабельность

Roman
25.01.2017
12:06:17
ну там openGl задействован так или иначе
ну так и на обычном компе можно для вычислений использовать F#

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
в питере будет конференция
Ты про DotNext? Я вот думаю куда идти DotNext или Mobius (туда и туда дороговато)

потмоу как иммутабельный список придется полностью копировать
А в этих https://msdn.microsoft.com/ru-ru/library/system.collections.immutable(v=vs.111).aspx ?

Roman
25.01.2017
12:11:12
Akhmed
25.01.2017
12:11:25
А в этих https://msdn.microsoft.com/ru-ru/library/system.collections.immutable(v=vs.111).aspx ?
вот насчет этих не помню как внутри они делают (

надо восполнить этот пробел у себя

я их не использовал так как их вроде нет в PCL

Roman
25.01.2017
12:12:43
вот насчет этих не помню как внутри они делают (
https://github.com/dotnet/corefx/blob/master/src/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableList.cs

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 на середине сборки.

Кита
25.01.2017
12:41:33
смысл дженкинса под линухом?

вообще какой смысл писать на замарин и не использовать ios. Если пишешь под ios - значит автоматом все должно быть под OSX.

Страница 20 из 619