gsomix
Дона всегда можно поймать в слаке. ;)
gsomix
И Матиаса, например.
Vladislav
и там же про srtp спросить)
Ayrat
Я бы задал более провокационно, но он не ответит: какого хера так осторожно язык развивается?)
Ayrat
тут возможны ответы - силёнок нет, желание есть. Желание нет, иди нахуй. Или дипломатичный - МЫ ОЧЕНЬ ХОТИМ и ЕСТЬ ПОНИМАНИЕ.
Fail
а какие норм языки у нас нынче развиваются неосторожно?
скала вон в одной из своих версия вообще поломала обратную совместимость
Ayrat
а какие норм языки у нас нынче развиваются неосторожно?
молодые в основном)) Rust, например Я понимаю что F# позиционируется как язык готовый для ентерпрайза, а это значит бинарная совместимость и пр
Ayrat
за скалу +1
Ayrat
скалисты же следующую версию вообще смержились с сайд проектом
Анна
молодые в основном)) Rust, например Я понимаю что F# позиционируется как язык готовый для ентерпрайза, а это значит бинарная совместимость и пр
просто спешка в этом деле опасна, особенно когда пользователей уже много. Мне кажется, неосторожные наделали джаваскриптов и питонов, остальные сначала много думают
Ayrat
Не, они dotty вливают в scala 3
Ayrat
Всё меняют нахер)))
Fail
аа, в следующую
Ayrat
https://www.scala-lang.org/blog/2018/04/19/scala-3.html
Ayrat
Dotty will become Scala 3.0.
Fail
они ж в один прекрасный момент выбросили свои дефолтные акторы и сказали - теперь акка
Ayrat
Я могу их понять
Ayrat
мне скала больше нравится чем F# :) (ссаными тряпками не кидайте только)
Fail
нуууу
Igor
скала вон в одной из своих версия вообще поломала обратную совместимость
Там вообще совместимость не гарантируется между мажорными релизами (2.12, 2.13 и тд) По этому и выкладывают там бинарники в мавен сразу под несколько версия
Fail
они идеологически разные же
Ayrat
Я не уверен что понимаю в чём идеология F# и Scala
Romɑn
мне скала больше нравится чем F# :) (ссаными тряпками не кидайте только)
Фуу, как может нравится такое многослойное что-то на по воде плавающее?
Fail
чому вы так скалу не любите? приятный же язык
Romɑn
Слишком сишарпоподобный
Анна
Оооо, холивары пошли, какой язык круче, ееее
Ayrat
Ладно, я попробую оправдаться. Если бы я писал для работы, то Scala (т.к. рынок больше, F# вакансий в РФ можно по пальцам пересчитать, зарубежом удалённые вакансии редкость, а я сейчас не готов переезжать по личным причинам). Для души - F# + Rust. Первый я хорошо знаю, т.к. работаю с ним постоянно и он мне нравится. Не нравится только отношение мелкомягких к нему и общее заторможенное развитие. Rust же походу взял лучшее из функциональщины и системы типов, недавно туда ещё асинк впилили - красотв.
Bonart
Раст - это такие плюсы с человеческим лицом
Ayrat
Мне скала КАК язык нравится меньше F#, но для зарабатывания денег очень хорошо.
Igor
чому вы так скалу не любите? приятный же язык
Приятный язык это котлин или кложа, а скала это попытка натянуть сову на глобус (скрестить ООП и ФП)
Ayrat
Вакансий много и это не Java
Ayrat
и это практично
Ayrat
писать на голом ООП или голом ФП можно только будучи больным ублюдком
Bonart
Котлин - это обезговненная ява.
Bonart
Скала - охаскеленная JVM
Vladislav
тут возможны ответы - силёнок нет, желание есть. Желание нет, иди нахуй. Или дипломатичный - МЫ ОЧЕНЬ ХОТИМ и ЕСТЬ ПОНИМАНИЕ.
Ответ простой: напишешь свою реализацию штуки, которая будет и в шарпе потом - будешь потом подстраиваться под шарп
Igor
кложа это лиспоподобное?
Да, это функциональный лисп, на JVM
Vladislav
И иметь две реализации
Анна
Да, это функциональный лисп, на JVM
с ООП и мультиметодами вроде?
Анна
Ответ простой: напишешь свою реализацию штуки, которая будет и в шарпе потом - будешь потом подстраиваться под шарп
или неудачную фичу, или баг зарелизишь, и будешь потом годами депрекейтить, чтобы выпилить. И страдать
Igor
F# это тоже ООП + ФП
Oop там для совместимости с .NET, на практике оно арктическими не используется
Ayrat
на ПРАКТИКЕ оно постоянно используется
Ayrat
т.е. на бумаге любители хаскеля его не используют ибо НЕЧИСТО :D
Ayrat
а в работе нет ничего страшного чтобы сделать пару классов с состоянием и методами
Ayrat
и мутабельность, если она изолирована - это ОТЛИЧНО. не надо голову ломать с рекурсией и пр
Igor
с ООП и мультиметодами вроде?
Не знаю что ты подразумеваешь под ООП, но классов там нет
Ayrat
Ну, началось
Igor
и мутабельность, если она изолирована - это ОТЛИЧНО. не надо голову ломать с рекурсией и пр
Что ты не ломать голову с рекурсией, надо пользоваться системными библиотеками, а не самому реализовать List.map
Ayrat
Есть задачи посложнее чем замапить список
Анна
Дашоштыбудешьделать, говорят, ещё один питонщик не вынес испытательный срок в связи с запоем 😰 опять собеседовать их
Ayrat
Короче, ладно. Тут вопрос кто как делает. Я человек прагматичный юзаю и ФП и интерфейсики с mutable когда это проще. Платят-то не за чистоту функций, а за результат, который должен быть в том числе простой в реализации. Чисто функциональная реализации (dot free, monads, side effect free, pure, composition, и куча операторов >> не всегда лучший выбор) Как и чисто ООП, а то получаются IAbstractServiceManagerSingletonFactory
Анна
Vasily
Для мутабельности в фшарпе есть мейлбоксы
Ayrat
Ну это из разряда - для мутабельности есть рекурсия. Так вопрос тоже можно решить, но иногда чтобы сделать мутабельность, можно просто взять mutable поле :D
Ayrat
тем более какие тормозные асинки в F# на цпу работе - нет спасибо
Vasily
С мутабельными полями фиг знает. С таким подходом проще на c# писать
Ayrat
Только из-за мутабельных полей переходить на язык без DU и type inference?
Ayrat
тем более она (мутабельность) редко нужна. Но если нужна, хорошо что она есть в F#
Vasily
Ну я придерживаюсь точки зрения, что для функциональных языков принципы построения кода все же иные
Vasily
Я не воинствующий
Vasily
Я немного о другом
Ayrat
есть мнение что F# позиционируется в лучшем случае как functional-first, а не purely functional, а на википедии вероятно вообще как мультипарадигменный
Vasily
Скорее о том, что мутабельность в моей практике возникает тогда, когда пытаешься писать в привычном императивном стиле
Vasily
Когда же мутабельность заменяешь на термин "состояние", открываются новые возможности
Ayrat
Ну ок. Вот предположим, была у меня задача недавно, сделать сервер, который принимает запрос на некую работу, регистрирует, кладёт её в очередь, отдаёт тут же ссылку на статус работы. Есть разгребатор очереди который перемолачивает запросы и делает что-то страшное. Какую структуру данных ты бы выбрал для связи ID запроса и собсно запроса?
Vasily
Кортеж
Vasily
Плюс два актора
Ayrat
Ок. как найти по ID запроса его состояние