Этого треда уже нет.
Это копия, сохраненная 22 марта 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Scala #1 (возрождённый) /scala/ 1665014 В конец треда | Веб
Scala сочетает объектно-ориентированное и функциональное программирование в одном выразительном, высокоуровневом языке.
Система типов Scala позволяет избегать ошибок в сложных приложениях, а рантаймы для JVM и JS позволяют строить высокопроизводительные системы с удобным доступом к огромной экосистеме библиотек.

Q: Какой стэк библиотек взять?
A: Вариантов много, посоветую свой: http4s для HTTP-сервера/клиента, circe для работы с JSON, cats/cats-effect чтобы писать функционально, ZIO чтобы быть сильным как De Goes.

Q: Хочу better Java
A: Обрати внимание на Котлин

Q: Хочу угорать по функциональщине и теории категорий
A: Посмотри на Хаскелль
2 1665016
мертвый тред мертвой хуйни
3 1665024
>>665016
Скала сеньер в треде (400к/месяц)
4 1665025
>>665014 (OP)
ZIO, cats, http4s, doobie
Имхо лучший на текущий момент
5 1665027
>>665024
Где?
6 1665032
>>665027
Банк
7 1665035
>>665032
Вам уже разрешили есть больше одного раза в день?
image.png644 Кб, 620x900
8 1665037
>>665035
Я борщик из дома беру и сосу потиху через трубку, так что норм.
9 1665039
>>665037
>>665032
То есть я угадал что это Олежко-банк? Но там вроде нет таких зарплат.
10 1665041
>>665039
Не я отвечал. Американский стартап удаленка за валюту.
Забавно, но в Олего-банке тоже работал 3 года назад
11 1665042
>>665041

> Американский стартап удаленка за валюту


Whisk чтоли?
12 1665043
>>665042
угадал
13 1665044
>>665043
Так и знал что вы там двачуете меня туда не взяли.
14 1665046
>>665044
Почему не взяли? собес сложный был?
15 1665047
>>665046
На собесе не спросили ничего, на что я бы не смог ответить.
А потом просто отказали и всё.
16 1665048
>>665047
Где сам работаешь? какая зп?
17 1665050
>>665048
Уже нигде, контора закрылась из-за коронавируса.
18 1665051
>>665050
Пздц, сочувствую бро
19 1665054
>>665024
Сколько лет ковырял жаву? Как вкатился?
20 1665057
>>665054
2 года жавы и 4 года скалы
Скалу выучил на курсу Одерского и книги для нетепеливых
21 1665139
>>665014 (OP)
Как так вышло, что 90% всех вакансий что есть на HH - это работа с большими данными через Apache Spark, а Scala там используется как DSL для написания пайплайнов обработки данных?
Остальные 9% - это Akka (http, streams, actors), Alpakka, Slick. И только 1% вакансий требует cats, zio, http4s и прочие monix.
Я ничего не хочу сказать, но учитывая то, что вакансий на Scala на два порядка меньше чем на той же Java, то советовать учить http4s, cats, zio - это верный путь остаться навсегда безработным, вернуться к своим немолодым родителям и жить на их пенсию, пока они не скопытятся.
22 1665144
>>665025
Лучший для чего? Пилить круды? Так для этого есть превосходная связка из Java/Kotlin + Spring, Hibernate, на которой ты буквально за минуту можешь получить готовый каркас приложения с http-сервером и доступом к базе данных.
23 1665146
>>665014 (OP)

>cats/cats-effect чтобы писать функционально


Все доступные ресурсы утопают в самолюбовании в духе "монадическое преобразование в категории эндофунктора". Т.е. совершенно непонятно какой профит поимеет рядовой пользователь, который пришел с Java, например.
Я еще не говорю о такой важной вещи как статьи, документация, книги и прочие ресурсы, которые бы помогли понять тех же самых котов, например. Ничего этого нет, а то что есть, снова погрязло в писанине математиков и прочих фриков, которые прибежали с Haskell.

>ZIO чтобы быть сильным как De Goes.


К сожалению, чтобы начать пользоваться ZIO, нужно сперва занести косарь зелени лично лысому, чтобы тот тебе прочел лекцию о том как этим зио пользоваться. Документации нет, книг нет, в коде доков тоже нет - ничего нет.
24 1665148
>>665014 (OP)

>а рантаймы для JVM и JS позволяют строить высокопроизводительные системы


>высокопроизводительные


Только вот беда - Scala.JS так и осталась студенческой поделкой для маргиналов и прочих психопатов, а байткод, который генерирует компилятор Scala исполняется значительнее медленнее чем аналогичный код на Java.
Еще смешнее выглядит тот факт, что типичный REST-сервис на Spring, под капотом которого все реализовано посредством Java Reflection API, работает на порядок быстрее аналогичного сервиса на Scala, который использует какую-нибудь Akka HTTP или http4s.

Медленно, постоянный жор памяти, но зато на Scala и в функциональном стиле, ага.
25 1665151
>>665014 (OP)
Вопрос знатокам
Обязательно ли упарываться в теоркат и прочее чтобы нормально пользоваться cats?
26 1665158
>>665151
Наверни Бартоша Милевски и его теорию категорий для дебилов. Как жаль, что без таких фундаментальных вещей как высшая математика и в том числе теории категорий, невозможно написать типичный круд на Scala.
27 1665168
>>665144

>Spring, Hibernate


Закапывай это говно мамонта для мартыханов их 90х.
28 1665170
Ебать тут буйство жатника на самоподдуве.

>>665146
Провёл тебе шершавым AbstractSingleBeanDefinitionParser-ом по губам, можешь укатываться обратно в свой свинарник для идусни обсуждать 10 реализаций синглтона.
29 1665171
>>665168
Ты чего себя анус-то рванул, старина? Десятки тысяч компаний запускают новые проекты на Spring и Hibernate. А такие штуки как Spring WebFlow и Spring Data позволяют тебе за считанные минуты накидать реактивный веб-сервис, который будет общаться с базой данных и отдавать данные через HTTP протокол. По уровню эргономики и легкости освоения Spring просто разваливает Http4s, Akka и прочие doobie.
30 1665186
>>665171
Десятки тысяч компаний и на РНР проекты запускают и что?

Ты заебал уже светить своей разорваной сракой, лоллируй джяватред и обсуждай своё говно мамонта там.
31 1665187
>>665171

> Spring просто разваливает Akka


Ну наверное потому что у этих фреймворков совершенно разные задачи? Научить индусню быстро-быстро набирать многобукав на спрингоговне это не так сложно, а для акки с её акторами нужно айсикью хотя бы сто и выше, так что для типичного вкатывальщика в джяву может быть сложно, да.
32 1665189
>>665186
Как ни смешно, а пхп это тупо джява с динамической типизацией сейчас
33 1665195
>>665187
Как не открою вакансии на Scala, а там всякие Славики, пытаются клепать REST-сервисы на Akka HTTP, основу для приложения составляет модель акторов, ворочают потоками данных через Akka Streams, а в базу ходят через какой-нибудь Doobie или Slick. Только вот вопрос - зачем нужно так извращаться, когда можно все тоже самое собрать на проверенном стеке из Spring и Hibernate?
34 1665197
>>665186
Это лишь подтверждает несостоятельность Scala как языка программирования и практичного инструмента для решения повседневных задач, с которыми сталкивается программист каждый день, решая задачи бизнеса.
35 1665207
>>665186

>>Десятки тысяч компаний и на РНР проекты запускают


>Это лишь подтверждает несостоятельность Scala



Ты ебанутый? Или это просто бот пишет?
36 1665215
>>665207
Тобой движет злоба и в этом твоя проблема. Ты совершаешь огромную ошибку выбирая Scala. Я привел целый ряд проблем и критических недостатков, которые показывают, что Scala - не более чем студенческая поделка мистера Обербского и его студентов. Ты так и не смог привести ни одного контраргумента или хотя бы попытаться опровергнуть мои выводы. Но ты не перестаешь брызгать слюной и исходить на вой, когда я в очередной раз предоставляю на всеобщее обозрение неопровержимые доказательства того, что Scala - не более чем академический язык для попила грантов.
37 1665281
>>665148

> типичный REST-сервис на Spring, под капотом которого все реализовано посредством Java Reflection API, работает на порядок быстрее аналогичного сервиса на Scala


Давай пруфы на свой кукарек.
38 1665329
>>665281
Ты снова злишься. Вот, пожалуйста - https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=query
Скажи, ведь ты недавно перешел на Scala, так? А до этого работал на каком-нибудь PHP или JavaScript, верно?
Просто если ты не знаком с Spring и почему он обгоняет Akka HTTP, то мне будет сложно донести до тебя основные идеи.
39 1665331
>>665329
Ты обосрался по своей же ссылке, маня.
Твой спринг на 8 позиций отстает от akka-http.
image.png2 Кб, 191x24
40 1665687
>>665331
обоссано реактивным ростком
изображение.png101 Кб, 693x295
41 1665940
42 1665943
>>665940

>курсы


><

43 1665946
>>665215
Через сколько, интересно, Одерски на почетную пенсию отправится (года 4?) и что после этого скалу ждёт.
44 1665968
>>665946
Я не так за Скалу переживаю, как за ядро линукса.
Если (не дай б-г) Торвальдс уйдет - успешные поцтеринги там такого говна нахуевертят.
45 1666126
>>665946
Там целый университет над ней работает.

>>665968
Линус последнее время только мешает, поскорее бы он уже съебал.
46 1666140
>>666126
Над дотти работает только Мартин. Над скала работает несколько мартышек из светгни. В конце года ожидается релиз дотти, вот тогда мистер Обербски и отправится на заслуженный отдых. Ведь дотти - это по сути новый язык, который отличается от скала более чем полностью. Т.к. никто не собирается прекращать поддерживать скалу, то переход на дотти либо затянется на ближайшие 8-10 лет, либо и вовсе не произойдет, т.к. никто не станет переходить на новый язык ради сомнительной перспективы писать с отступами в коде, лол. Ну и конечно же без адекватной поддержки со стороны IDE такой переход будет очень болезненным.
47 1666402
>>665014 (OP)
Почему все хейтят Akka в Scala комьюнити? Ведь это годный порт модели акторов. Плюс Akka это больше чем акторы - http, streams, alpakka и прочие модули, которые покрывают множество аспектов в разработке целостного проекта. По ней достаточно книг, курсов, статей и одна из самых лучших документаций.
Это же не Коты, по которым одна кривая книжка от андерскор и неполная и устаревшая документация.
48 1666524
>>666402
Долгое время она была нетипизированная, а это зашквар в Scala-коммунити.
Ну и если посмотреть на вакансии, она встречается куда чаще cats или zio, так что кому-то она (видимо) нравится.
49 1666535
>>666524
А в Scala-коммунити безработица не является зашкваром? Я к тому, что работу на Akka найти на порядок проще чем на котах и тем более зио.
50 1666537
>>666535
Так если тебе ок работать с аккой - кто мешает? Как ты сам и сказал, там целая экосистема, от альпакки и до плэй фреймворка.
51 1666539
>>666537
Просто я хочу перекатиться на Scala, но понимаю, что не смогу найти на ней работу кроме как на спарке или акке.
52 1666561
О ну наконец-то пересоздали, а то я уже начал сомневаться и думать что зря свалил на скалу, ибо нахуй я свалил, если на дваче дебилов не пообсирать
53 1666571
>>666561
Как перекатиться на скалу? Что учить? Брать ли кредит в желтом банке, чтобы оплатить лекцию от САМОГО!
54 1666577
>>666571
Завтра ищешь в интернете книжку Programming in Scala. Похуй если ничего не поймешь. Затем идешь на scala-lang.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию скала кода - от EPFL естественно, чтобы от зубов отскакивало. Когда напишешь свой первый клон Twittera, по пути изучив основы дискретного и лямбда исчисления, скачиваешь и изучаешь любой асинхронный скала вебсервер, рекомендую Play!. Как переделаешь твиттер клон, чтобы выдавал по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop и Spark, сверхбыстрые асинхронные key-value хранилища, NoSQL и прочие мира открытого исходного кода приблуды. Отсос хиккующих спринг-макак / просто неудачников типа го или котлин фанбоев, которые едут по несмазанным рельсам по жизни, не заставит себя ждать и уже через пол года ты будешь подворачивать штаны, есть маффины, запивая смузи и любая баба будет течь от упоминания твоего особого взгляда на концептуальный южно-африканский кинематограф.
55 1666579
>>666577

>Programming in Scala


Помойная хуета, тащемта. Дальше твою сраную пасту не читал.
56 1666580
>>666579

> Помойная хуета


Что, слишком СЛОЖНА?
57 1666584
>>666580
Еще бы. Еще сложнее читать красную книгу или документацию по котам.
58 1666647
>>666584
Если не троллишь, то что конкретно тебе показалось сложным в programming in scala? Там же все разжевано и может быть трудным либо если у тебя проблемы с английским, либо если ты вообще ни на чем никогда не программировал.
59 1666769
>>666571
Не знаю, я просто нашел вакансию, сделал тестовое, прошел собес и перекатился. Как любой другой язык.
60 1666948
>>666769
И чем в итоге занимаешься? В какой области используешь Scala?
61 1666949
>>666647
Programming in Scala - слишком академичная книжка. Словно какой-нибудь ВУЗовский учебник. Essential Scala и Scala for the Impatient намного лучше. Сейчас нужно заставить себя прорваться через Advanced Scala with Cats, документацию по котам и красную книгу.
62 1667741
>>665144
когда в жаву добавят хотя бы project loom - тогда и приходите
63 1667802
>>667741
Loom, pattern-matching, sealed types, records уже будут доступны в течении полугода максимум года в ближайших релизах Java. Реализованы данные фичи будут на высочайшем уровне и почти сразу появится непревзойденная поддержка со стороны IDEA.
64 1667825
>>667741
Не корми жирдяя, тупой.
65 1668408
>>665014 (OP)
Прорекламирую цикл лекций по скале https://www.youtube.com/playlist?list=PLr3MOSSJVvAFDW8sY3qbowgMa-eFplLcG
66 1668669
>>668408
Очень посредственные лекции. Особенно удручает тело, которое вещает про Cats Effects, ZIO и Monix. "Ну, тут вот трансформер, вот, мда, ну раннер там запускает, мда, вооот...". Лучше не мучить себя этим кошмаром и навернуть Essential Scala, затем Scala for the Impatient, а потом можно взять Advanced Scala with Cats. Там уже можно читать красную книгу от Рунара и читать Akka in Action. Все равно работа на Scala это в 90% Akka и ее экосистема. Spark и typelevel стек мы разумеется отбрасываем.
67 1668696
>>668669
А как же тогда в Тиньк или Точку устраиваться, они же на котах пишут
68 1668701
>>668696
Зачем переходить на Scala, чтобы потом устроиться в посредственные компании (тем более банки), которые платят нищенские зарплаты? Тем более на Scala там пишут максимум в одном отделе, который разрабатывает один проект. Костяк этих банков целиком и полностью написан на Java.
69 1668732
>>668701
Тебя самого по всей доске толстить не заебало?
70 1668760
>>668732
А ты зачем сюда пишешь, дружище? Всем давно известно, что Тиньк платит копейки. Уровень компетенции сотрудников точки ты можешь составить по постам одного чучела, который бегает из одного телеграм чата в другой и просит "челов-дядей" помочь ему "залифтить монаду в функтор полугрупп".
71 1668895
>>668701
>>668760
Scala не особо распространена, и на Java вакансий больше, это правда.
Но без энтузиастов, которые её предлагают/внедряют, ничего не изменится.
Так что если хочешь работу прямо сейчас и тебя не тошнит от тонны аннотаций в спринге - выбирай джаву, никто тебе не запихивает скалу насильно. Но и не удивляйся что за распространение FUD тебя нахуй пошлют.
72 1668898
>>666140
Вот это тролляка FUD про Скалу разгоняет.
>>666539
Так найди на спарке или на акке. Потом с опытом переехать намного проще будет. Но проблема в том что, чтобы что-то делать на этих технологиях, нужно знать намного больше чем сам язык.
>>668696
Как ни странно, обычно чтобы устроиться в команду которая использует котов, не обязательно их знать. У скалистов вообще не принято искать framework-программистов, за редкими исключениями на нерядовые роли.
работаю-со-скалой-больше-шести-лет
73 1668932
>>668898
Все открытые скала вакансии либо явно указывают, что им нужен продакшен опыт в акка/коты/зио, либо это выясняется уже на собеседовании. Ну и при попытке перейти с другого стека тебя ждет очень интересное открытие - тебе предложат значительно меньше, чем ты зарабатывал на старом стеке, т.к. ты входишь в скалу джуном.
74 1669096
>>668932

> Все открытые джава вакансии либо явно указывают, что им нужен продакшен опыт в Spring/Hibernate/JMS, либо это выясняется уже на собеседовании. Ну и при попытке перейти с другого стека тебя ждет очень интересное открытие - тебе предложат значительно меньше, чем ты зарабатывал на старом стеке, т.к. ты входишь в джаву джуном.

75 1669140
>>669096
В Scala можно войти только будучи студентом.
image.png1,4 Мб, 998x650
76 1669220
>>669140

> В Scala можно войти только будучи студентом.

77 1669258
>>669220
Компании проводят курсы по Scala для студентов. Самых способных нанимают на джуниорские зарплаты. Человека с улицы, который решил сменить стек никто к себе брать не станет, т.к. с него совершенно другой спрос и от него ожидают, что у него уже будет коммерческий опыт в нужных фреймворках и библиотеках.
78 1669280
Как будто кто-то может не осилить Скалу, лол
79 1669297
>>669280
Чтобы что? Чтобы потом безуспешно пытаться устроиться хоть куда-нибудь? А потом все бросить и вернуться обратно на JS/Java/Go/whatever?
80 1670491
>>668898

>работаю-со-скалой-больше-шести-лет


В межнаре-то хотя бы участвовал, скалист, епт?
81 1671180
>>665014 (OP)
Удалите тред. Никому не интересно читать про шизофрению безработных идиотов, которые лифтят монады в полугруппы через апликативные функторы. Вэлью здесь нет и не будет. Даже Elixir более практичный и живой язык, чем поделка мистера Обербского.
82 1671200
>>671180
Опять с утра таблетки забыл принять?
83 1672684
>>665014 (OP)
Как вкатиться в тру ЭфПэ в Скале? Есть какие-нибудь годные книги или ресурсы, которые бы помогли мне понять всю силу Cats и Cats Effect, например? В Advanced Scala with Cats какие-то надуманные примеры, которые выглядят не очень правдоподобно в реальных проектах.
84 1672769
>>672684
Не читал, но много советуют практикал ФП ин скала
А вообще пройди курс на степике по хаскелю и дальше читай доки по лицам, концепции одни и те же
85 1672970
>>668932
У тебя действительно было так что ты приходишь на собеседование, хорошо отвечаешь на всевозможные вопросы, а потом тебя спрашивают - такую-то либу использовал в проде? Ты отвечаешь что нет, и тебе не перезванивают?
Это возможно конечно, но по моему опыту, даже сильному джависту, который хочет писать на скале, будут рады, ибо нанимать скалистов и так достаточно сложно.

>ты входишь в скалу джуном


У тебя что, пропадает знание сетей, баз данных, ООП, навыки алгоритмизации и все остальное? Это 90% знаний, нужных в работе. То, чего ты не знаешь - синтаксис языка, его идиомы и библиотеки очень быстро учатся в соответствующей среде. Многие компании согласны идти на такое обучение.
>>670491
Не понял вопроса. Ты про конференции?
>>672684
Никакие. Во-первых, потому что не факт что pure fp, особенно в скале предпочтительнее других стилей (хотя я склоняюсь к такому мнению). Во-вторых, когда тебя начнет тошнить от мутабельности и неконтролируемых сайд-эффектов и ты начнешь искать как этого избежать, то поймешь что эти проблемы уже решены (частично) другими людьми и так придешь к тру ЭфПэ. Мне кажется, сейчас ты не увидишь в нем ничего полезного, реакция будет похожа на эту - https://github.com/robpike/filter.
86 1673330
>>672769

>практикал ФП ин скала


Там не дается вводная для тех же котов, которые повсеместно используются. Т.е. книжка уже для бывалых скалолазов.
87 1673331
>>672970

>У тебя действительно было так что ты приходишь на собеседование, хорошо отвечаешь на всевозможные вопросы, а потом тебя спрашивают - такую-то либу использовал в проде? Ты отвечаешь что нет, и тебе не перезванивают?


Зовут на собеседование, гоняют по Java, затем переходят к Scala. Спрашивают про пет-проекты, коммиты в опенсорс, в конце выдают тестовое задание, а потом не перезванивают или пишут, что у меня нет коммерческого опыта разработки в Akka, cats или каком-нибудь Play Framework.

>У тебя что, пропадает знание сетей, баз данных, ООП, навыки алгоритмизации и все остальное? Это 90% знаний, нужных в работе. То, чего ты не знаешь - синтаксис языка, его идиомы и библиотеки очень быстро учатся в соответствующей среде. Многие компании согласны идти на такое обучение.


У меня сложилось впечатление, что открытые вакансии на Scala нужны исключительно для мониторинга рынка разработчиков. Большинство компаний, которые используют Scala в проде, открывают свои школы, курсы, куда зовут студентов старших курсов. Именно студентов и нанимают на позиции Scala-разработчиков. А если ты решил перейти с другого стека, то извеняй - ничего не выйдет.

>Никакие. Во-первых, потому что не факт что pure fp, особенно в скале предпочтительнее других стилей (хотя я склоняюсь к такому мнению)


Речь шла о котах, т.к. они составляют основу практически всех fp библиотек и фреймворков. Есть Advanced Scala with Cats, но она рассматривает буквально несколько тайпклассов и не покрывает большую часть котов.
88 1673443
>>673331

>пишут, что у меня нет коммерческого опыта разработки


Ясно. У меня было и по-другому, например звали на pure-fp вакансию, на собеседовании все ответил, но коммерческого опыта использования котов не было. Брали все равно, но не сошлись по деньгам (мне еще за спарк с бигдатой платят, а им это не нужно было). В любом случае видимо стоит уточнять нужен ли опыт, просто чтобы время не терять.

>Именно студентов и нанимают на позиции Scala-разработчиков.


Это может и хорошо было бы, но проблема в том что одними студентами сыт не будешь. Должны быть люди которые разбираются в том как проектировать системы, организовывать процессы и решать проблемы которые нельзя нагуглить.

>рассматривает буквально несколько тайпклассов и не покрывает большую часть котов


Попахивает перфекционизмом. Если ты научишься пользоваться тем что описано в доке на сайтах cats, cats-effect, fs2 и, например, monocle, тебя любой фп-шоп с руками оторвет.
Я вообще не сторонник книг по библиотекам/фреймворкам. Есть код, дока и твой опыт - этого достаточно. Книги нужны для более фундаментальных вещей.
89 1673524
>>673443

>Это может и хорошо было бы, но проблема в том что одними студентами сыт не будешь. Должны быть люди которые разбираются в том как проектировать системы, организовывать процессы и решать проблемы которые нельзя нагуглить.


Боюсь у меня не тот уровень, чтобы решать проблемы, которые нельзя нагуглить. Тогда я лучше останусь на прежнем стеке и не стану пытаться перейти на Scala. Все равно компании будут нанимать новый разработчиков среди студентов, которые учатся в их школах...
90 1673678
>>673524
Дима, заебал по всей доске ныть, не первый год ноешь что тебя на скалу не берут.
image.png372 Кб, 622x332
91 1673991
>>673443

> cats


Могу пояснить за все трансформеры и тайпклассы на уровне typeclassopedia со всеми laws и т.п.

> cats-effect


Здесь laws уже не вспомню, а вот применять могу, в т.ч. интегрируя с императивными библиотеками

> fs2


Легко могу применять и (опять же) интегрировать с императивными стримами, поясню как переписать акка-лапшу на fs2, могу рассказать за все нюансы resource handling и т.п.

> monocle


Могу аргументированно унижать, сравнивая с haskell lens.

А ещё ZIO на уровне internals. И contributions в некоторые из выше перечисленных проектов + несколько своих.

А теперь самое интересное: не могу найти работу, на мой гитхаб вообще никто не смотрит, FP-работодателей КРАЙНЕ мало, а те немногие к кому я собеседовался, были какие-то пидарасы в той или иной степени
92 1674009
>>673991
Приведу примеры с нескольких собеседований:

1. Собеседующий спрашивает, можно ли наследовать case class'ы. Сам по себе, конечно, охуенный вопрос, учитывая что так никто не делает. Ну да ладно. Отвечаю, что наследовать можно, кроме случая когда case class наследуется другим case class'ом. Собеседующий возражает, что их наследовать вообще нельзя и тут он обосрался.
Ну и там ещё были охуительные задачи про поджигание пердаков фитилей с двух сторон, пиздец короче. Перезвонили, но предложили сильно меньше чем у меня было на тот момент.
2. Почти как в п.1, собеседующий перепутал push и pull стримы, однако с видом ехидного колобка твердил что это я обосрался. Перезвонили, сказали что не подхожу им по квалификации уёбки чсвшные, сами ламеры и даже не осознают это.
3.
Собеседующий (С): Мы делаем сервис с рецептами еды
Я: Ок интересно пиздец
С: Не вижу у вас интереса к продукту, вы нам не подходите))
93 1674015
>>674009
в тиньку ходил?
94 1674073
>>674015
Говорят там зарплаты сильно ниже рынка.
95 1674105
Знаю хаксель и джаву. Можно ли изучить скалу за пару дней? Мне чисто клон блокнота и пэинта написать.
В универе практики по джаве, но я и так знаю ооп, хочу написать хоть что-то в фп стиле. А так как скала на той же жвм, преподы скорее и не заметят разницы. а если и увидят, то не будут же отчислять из-за того, что написал программу не на том языке
Да и вообще, годится ли скала со свингом для изучения фп?
96 1674108
>>674105
При переходе с хаскеля придется учесть некоторые нюансы. Например, отсутствие оптимизации хвостовых вызовов. Ну и вообще, похожие концепции ФП в скале зачастую выглядят иначе.
Насчёт свинга подсказать не могу.
97 1674116
>>674009

>Мы делаем сервис с рецептами еды


Это же https://whisk.com/ , лол. Они все время ищут скалиста на 4.5к баксов и найти не могут.
98 1674117
>>674108

>Например, отсутствие оптимизации хвостовых вызовов


Scala хвостовую рекурсию разворачивает в обыкновенный цикл на уровне генерации JVM байткода. Ты даже можешь проверить, что у тебя tail recursion, добавив аннотацию @tailrec на метод. Clojure схожим образом разворачивает хвостовую рекурсию в обычный цикл, т.к. JVM не поддерживает TCO.
99 1674121
>>674015
Ходил к ним однажды. Очень странное ощущение было после этого, гм, собеседования. Провели в переговорку и усадили за длиннющий стол с телевизором на стене. Буквально через секунду в переговорку влетела очень нервная женщина и какой-то паренек. Женщина что-то буркнула под нос и началось "собеседование". Гоняли в основном по джаве, но потом переключились на задачки на сообразительность - взвешивание монет, подсчет включенных лампочек в кольцевом поезде и т.д.
По Scala задали буквально несколько вопросов, после чего выдали тестовое и на этом мы попрощались.
Тестовое я отправил, но ответа не последовало. Я один раз им написал с просьбой дать хоть какой-нибудь отклик, но в ответ получил только молчание.
Но я частенько вижу, как их сотрудники постоянно зазывают желающих в их финтех-школу, где они натаскивают студентов на Scala.
1588304504414.png218 Кб, 340x408
100 1674253
Почему у меня создается ощущение, что современные реалии для кодомакаки слишком сюрреалистичны?

Не так давно надо было знать свой стек(бэкенд БД+SQL и Жаба), соответственно в веб жс и верстка.

Сейчас в фреймворках для макак макаки насовали функторов-хуюнкторов, замыкания. Потому что ФП КРУТО! ТЕОРКАТ ЕЕЕЕ.
Особенно это охуительно выглядит с каким-нибудь реактом, где говно с SSR грузится медленнее, ограничивает бэкенд Нодой и вообще, кроме "ну смотри страница каждый раз не грузится!!!" ничего не даёт.

итт мы наблюдаем такую же задорную хуйню:
Когда можно ограничиться максимально простыми возможностями жабы, чтобы накидывать говна на вентилятор(source tree) было максимально сложно, замутили ФП без явных плюсов.

Объясните мне, что поменялось в рыночке, что теперь для того же самого кода надо навернуть матан от макак?

Матан - это круто, когда он к месту и решает задачи, как LISP в 80-ых, а наборщики, которые решили хайпануть, усложнив запил круда ради усложнения запила круда выглядят максимально уебищно.
101 1674270
>>674253
Потому что ты долбоеб, который опирается на изначально неверный посыл. ФП с функторами-хуюнкторами не для крудов.
Кто основной работодатель на скале с котами, зио и дуби? Банки, блядь, которым нужна максимальная надежность и самопроверяемость кода вместе с расширяемостью и поддерживаемостью.
Кто основной работодатель на хаскеле в РФ? Биокад, для задач которого этот язык оказался просто удобен.
Никто обычные круды на ФП в прод и не лепит, оно нужно там где работа со сложной математикой и/или повышенные требования к надежности.
102 1674285
>>674270

>Никто обычные круды на ФП в прод и не лепит, оно нужно там где работа со сложной математикой и/или повышенные требования к надежности.


Какие-то сказки рассказываешь. Тот же тиньк за каким-то хуем лепит "микросервисы" на http4s, которые ворочают дерьмецо в базе через doobie.
Все ФП-вакансии на Scala что есть в открытом доступе - это разработка веб-сервисов на http4s, akka-http и хождение в базу через какой-нибудь куилл с дубями.
Остальные вакансии (которых большинство) - это биг-дата на спарке, где твоя скала нужна только как DSL к спарку.
Там хотя бы нет той шизы, которую тащат из котов, где любят захерачить тайпклассов для складывания типов, назвать их моноидами, а потом обмазываться имплиситами и дрочить...
103 1674297
>>674270

>зио


Лысый мошенник скопипастил котоэффекты и скалаз, основал очередной консалтинговую шарагу, нанял каких-то мутных хуев из западной европы и пытается продавать свою экспертизу, лол.
104 1674298
>>674117
Ты путаешь хвостовую рекурсию и хвостовой вызов.
105 1674302
>>674298

>хвостовой вызов.


Пиздец ты дебил. На хуй пошел, короче.
106 1674303
>>674302
У тебя флэшбеки как тебя под хвост вызывали?
107 1674309
>>674270

>Кто основной работодатель на скале с котами, зио и дуби? Банки, блядь


Взлольнул в голосину. Кто там из банков использует эфпе скалу? тиньк, райф, точка и все. Был еще револют, который стартовал как скала-шоп и писал буквально весь бекенд на скала. Хорошо, что они вовремя соскочили на котлин.
Ну и эти твои банки, на скала пишут буквально небольшие проекты. А всякие процессинги и прочие штуки, которые должны работать 24/7 пишутся как не странно на Java.
108 1674372
>>674285

>Если веб то значит круд


Не продолжай я понял что ты долбоеб
>>674309
Ещё один уебок, на этот раз путающий "большинство банков юзают скалу" и "большинство юзающих скалу это банки". Хотя неудивительно что с таким отсутствием банальной логики в твоей голове у тебя рвется очко от скалы.
109 1674389
>>665014 (OP)
Удалите тред.
110 1675207
>>665014 (OP)
Как прочувствовать всю мощь тайплевел стека? Хочу написать небольшое веб-приложение, но каждый раз, когда начинаю читать документацию к cats или http4s, то натыкаюсь на теорию, которая, по моему мнению, напрочь оторвана от практики. Казалось бы, дело нехитрое - накидать простенький REST-сервис и сходить в базу. А тебе прямо с главной страницы http4s начинают компостировать мозги какими-то кляйзли и как тебе нужно вымуштровать котов, чтобы подключать свои моноиды через имплиситы.
Открыл тут недавно доку по акке. Ба! Мое почтение! С самых первых страниц документации тебе показывают как за пару минут собрать работающее приложение. Тут же тебе советуют взглянуть на различные интеграции с AWS, GCP, Kafka и прочими сервисами.
Как проникнуться всей мощью Scala FP?
111 1675208
>>675207
А зачем тебе проникаться несуществующей мощью мертвого стека который до сих пор в 0.х версиях? Когда есть замечательная акка с топовой документацией и реально используемая в проде кем-то кроме трёх компаний на всю страну
112 1675213
>>675208
Но как же! Ведь столько уважаемых компаний делают акцент именно на typelevel стек! Они отказываются от Akka и переписывают имеющийся Scala код на Cats.
Ведь практически в каждой презентации говорится, что Typelevel - это тру Scala, а Lightbend - не тру и используется только как Java++.
113 1675273
>>673991 >>674009
Не повезло тебе с компаниями. В рашке может действительно со скалой плохо. Ну ты не отчаивайся, ищущий да обрящет. В ФП ты шаришь, в других областях нет проблем? С базами, алгоритмами, со способностью общаться, в конце концов?
>>673524

>Боюсь у меня не тот уровень, чтобы решать проблемы, которые нельзя нагуглить.


Ну тогда ты мало чем от тех самых студентов отличаешься, сорре.
>>674105
Очень сомневаюсь что можно учить фп, используя свинг. Каша в голове будет.
>>674253

>теперь для того же самого кода надо навернуть матан от макак


Не нужно. Миф про то что для написания функциональных программ нужно знать тоеркат и матан это миф.
>>674309

>Был еще револют, который стартовал как скала-шоп и писал буквально весь бекенд на скала. Хорошо, что они вовремя соскочили на котлин.


Откуда инфа про скалу и котлин? Вот их вакансия:
https://angel.co/company/revolut/jobs/329665-senior-backend-engineer-java-scala

>There is an opportunity to introduce Scala for new components.

114 1675278
>>675213
Кем говорится, борщехлебами мамкиными? Ну они пытаются людей в свою секту набрать побольше, их понять можно, если куча людей будет писать тайплвл-либы, то оно рано или поздно взлетит и будет рабочим.
Но нахуя рандомному крудошлепу на это вестись я хуй знает.
115 1675292
>>675273
Какими негуглящимися знаниями нужно обладать, чтобы заинтересовать компанию, которая пишет на Scala?
116 1675296
>>675278
Но ведь есть два лагеря скала разработчиков. Первый - это typelevel стек, где Тревис Браун пишет очередной функциональный парсер ЖЫСОНА. Второй - это Lightbend стек с Akka, Cloudflow, Lagom, Play и Slick. Есть еще Зио, но там пока все тухло. Неужели тайплевел стек не является тру стеком для скала?
117 1675312
>>675296
Ты читаешь что тебе пишут или заготовленные пасты давишь?
118 1675332
>>675312
Ну смотри. Вот я открываю ХэХэ.Ру и вижу, что на скала вакансии требуется знание котов, эфэсс2, дуби и прочие библиотеки от тайплевел. Открываю видео со скала конференции и снова вижу как народ рассказывает как он ловко лифтить монады себе в очелло.
Получается, что Лайтбенд стек мертв и доживает последние дни, а любители пощекотать себе очко через кляйзли в хэтэпэпэфорэссс становится все больше!
119 1675348
>>675332
У нас разные ХХ
120 1675355
>>675348
Таак, падажжиии!
image.png5 Кб, 388x68
121 1675517
>>675207
Что именно в пикрелейтед тебе непонятно?
Да, если смотреть как оно устроено, то вылезают всякие Kleisli и т.п. Но это концепции, которые достаточно выучить один раз и дальше ты сразу будешь понимать, зачем они нужны в конкретном участке кода.
А вот с akka-http ты вынужден учить всякие имплиситы, которые кроме акки нигде не используются.
122 1675557
>>675517
Что же учить, черт возьми?!
image.png1,7 Мб, 864x1080
123 1675561
>>675557
Математику
124 1675566
>>675561
За нее не платят.
125 1675999
>>675292
Я говорил не про негуглящиеся знания, а про негуглящиеся проблемы. Например как выбрать базу/библиотеку под бизнес-требования, как найти баг в многотопоточном коде, как сделать так чтобы 99-ый перцентиль задержки был <50ms, как настроить сборщик мусора чтобы выполнялись определенные требования, как организовать мониторинг и развертывание системы и миллион других вопросов.
Нагуглить справочную информацию или базу конечно получится, но как их применить в конкретной ситуации - нет. Тут нужно думать и иметь опыт, чтобы знать где можно обосраться. И это важно в любой компании, Скала здесь ни при чем.
126 1676023
>>675999

>как сделать так чтобы 99-ый перцентиль задержки был <50ms


>Scala


Ну ты даешь! Скажи спасибо, если код на скале будет выдавать хотя бы 800-1000мс для 90 пецентиля.
127 1676027
>>676023
Может ты криворукий просто? У нас высоконагруженный сервер показывает 100мс для 99.9 и 10мс для 95.
128 1676030
>>676027
Да брось! Мы же понимаем, что Scala с ее функциональными и неизменяемыми коллекциями и тайпклассами через тайпклассы, создает столько мусора, что любой открытый GC поперхнется, лол.
Ну а Akka http и http4s будут просто отсасывать у какого-нибудь vert.x или spring webflux.
129 1676052
>>676030
Практика показывает что "проблемы" с иммутабельными коллекциями (которые в подавляющем большинстве случаев успешно оптимизируются компилятором) возникают в 1-2% случаев и легко решаются использованием мутабельной коллекцией там где надо. Что в целом соответствует идее Скалы писать функционально везде, кроме мест где нужно императивное петушение (< 5% случаев) в целях оптимизации, и вообще общепринятой практике в разработке: "1. Make it work 2. Make it beautiful 3. Make it fast".
130 1676062
>>676052
Да это толстяк-неосилятор.
131 1676065
>>676062
Давай это, грасеас отсюда!
132 1676137
>>672684
scala red book. потом смотришь на cats
133 1676238
>>676137

>red book


Тот самый ред бук от Рунара? Это же хардкорная книга, которую не каждый осиливает. По котам я так и не понял что нужно читать. Документация очень скудная и не описывает зачем нужны коты кроме эзотерических примеров складывания чисел через реализацию тайпкласса моноида.
134 1676246
>>676238
Если тебе даже редбук слишком хардкорный то попробуй через полгодика-годик
135 1676254
>>676246
Дегуз говорил в одном из своих твитов, что это очень серьезная книга, которую просто так не осилить.
136 1676257
>>676246
>>676254
Почему вы не вкатываетесь через хаскелль? Typeclassopedia рулит.
137 1676258
Тред одного тролля из понва, которого всем двачом кормят
138 1676273
>>676257
Учить Haskell, чтобы потом учить Scala?
139 1676277
>>676273
Haskell это lingua franca функционального программирования, все интересные вещи сначала появляются в нём
140 1676279
>>676254
я конечно не джон, но книга вполне читабельна, главное не спешить, вдумчиво читать и с кодом в книге работать. всяко лучше, чем рандомные статьи в сети.

по кэтс дока вполне нормальная. если сложно, то есть книга https://underscore.io/books/scala-with-cats/
141 1676286
>>676279

>https://underscore.io/books/scala-with-cats/


Эту книгу я и имел в виду. Там оторванные от реальности примеры где складывают числа через моноиды.

Везде же требуют котоэффекты. А документация дрянь и без нормальных примеров.
142 1676288
>>676286
Спрашивай в этом треде что непонятно
143 1676292
>>676288
Так и быть. Закончу Advanced Scala with Cats, а потом наверну красную книгу.
144 1676333
>>676030

>Akka http и http4s


Действительно медленные (но их скорости достаточно для 99.9% процентов задач), если нужно быстрее (во много раз) - есть colossus, ну и джавовые фреймворки, хотя тут уже наверное есть смысл смотреть на что-то действительно хардкорное, из мира С++ Go Rust.
145 1677293
>>665014 (OP)
Как проникнуться системой акторов в Scala? Стоит ли читать книги по OTP и Erlang? Как научиться строить отказоустойчивые и высоконагруженные системы с использованием Akka?
146 1677417
>>677293
Нет, забей на Эрланг, у Акки хорошая документация, читай её.

> Как научиться строить отказоустойчивые и высоконагруженные системы с использованием Akka?


akka-{cluster, sharding} - годнота
акторы как модель concurrency - хуета
147 1677449
>>677417

>akka-{cluster, sharding} - годнота


Мне постоянно говорят, что кластеринг в акке - это худшее что можно себе представить. Постоянно предлагают отказаться от идеи запила приложения на акке и ни в коем случае не трогать кластеринг. Вместо этого предлагают писать на котах, зио и навернуть изуми.

>акторы как модель concurrency - хуета


В Ерланге с Эликсиром же зашло. Правда там рантайм клевый и не стопорит ВМ при ГЦ как в JVM.
148 1677457
>>677449

> Вместо этого предлагают писать на котах, зио


Спроси у них, как именно они предлагают реализовать функционал cluster/sharding на этих либах а потом обоссы.

> изуми


Хуями, забудь про это.

> В Ерланге с Эликсиром же зашло


А в си норм зашёл epoll и libevent - это не повод их тащить в скалу

> Правда там рантайм клевый и не стопорит ВМ при ГЦ как в JVM


В большинстве случаев даже обоссаный CMS не стопорит VM, не говоря уж про G1/ZGC.
149 1677469
>>677457

>Спроси у них, как именно они предлагают реализовать функционал cluster/sharding на этих либах а потом обоссы.


Они предлагают переосмыслить архитектуру приложения и отказаться от акторов и кластеринга.

>В большинстве случаев даже обоссаный CMS не стопорит VM, не говоря уж про G1/ZGC.


Ты, наверное, не в курсе, но мире JVM есть только один GC, который не делает STW и это проприетарный ZGC. Все остальные GC стопорят все потоки приложения, когда нужно собрать мусор.
150 1677474
>>677469

> Они предлагают переосмыслить архитектуру приложения и отказаться от акторов и кластеринга


То есть тебе фактически в уши нассали, не предложив альтернативы.

> Ты, наверное, не в курсе, но мире JVM есть только один GC, который не делает STW и это проприетарный ZGC. Все остальные GC стопорят все потоки приложения, когда нужно собрать мусор.


Ты не прав, но спорить не хочу - надо будет, сам загуглишь.
151 1677617
>>677474
Значит мне рано еще заниматься программированием. Извини, что потратил твое время...
152 1677852
>>677449
Щас бы фп-сектантов слушать. Вот как доведут свои либы до рабочего состояния так и можно пользоваться. А пока всякие хттп4сы находятся в состоянии 0.0.8 версий, нехуй на них в проде смотреть.
Нравится ФП - помогай делать либы, но не надо ебать мозги своими недоделками тем кто просто хочет пилить прод. Можешь в следующий раз так и передать.
153 1677867
>>677852
Применяем "свои недоделки" в высоконагруженном проде, и хуле ты нам сделаешь?
154 1677917
>>677867
О, Вы из Ирландии?!
155 1678233
>>677867
Пособолезную вашему не-айтишному руководству, которое просто в силу незнания технических деталей допустило такое дерьмо.
156 1678270
>>677293
Может про акторы есть хорошие книги использующие Эрланг для иллюстрации концепций, но специально его учить для понимания акки не нужно. Есть дока, но если именно книгу хочется, можно попробовать Akka in Action.
Главное помнить что сырые акторы и особенно clustering, sharding и remote, нужно использовать в исключительных ситуациях, когда без них обойтись еще труднее чем с ними. Вот здесь хорошо некоторые проблемы высказаны: https://news.ycombinator.com/item?id=21564461
>>677469

>мире JVM есть только один GC, который не делает STW и это проприетарный ZGC


1) Ты наверное про Azul C4 - это он проприетарный.
2) Технически верно что любой GC делает STW, но в concurrent GC эти паузы минимальны, можно сказать что их обычно нет.
3) VM Эрланга хороша что тем что реализует вытесняющую многозадачность. Вот здесь можно почитать подробнее: http://jlouisramblings.blogspot.com/2013/01/how-erlang-does-scheduling.html
157 1678414
>>678270

>Главное помнить что сырые акторы и особенно clustering, sharding и remote, нужно использовать в исключительных ситуациях, когда без них обойтись еще труднее чем с ними. Вот здесь хорошо некоторые проблемы высказаны: https://news.ycombinator.com/item?id=21564461



Даже не знаю тогда зачем использовать Akka. Ведь акторы составляют фундамент этого фреймворка.
С таким раскладом лучше действительно навернуть typelevel стек и горя не знать.

>1) Ты наверное про Azul C4 - это он проприетарный.


Да, верно. Перепутал его с ZGC. Вот у него есть запатентованный алгоритм GC, который не останавливает потоки приложения при сборке мусора.

>2) Технически верно что любой GC делает STW, но в concurrent GC эти паузы минимальны, можно сказать что их обычно нет.


Все зависит от нагрузки. Ну и concurrent GC называются на самом деле mostly concurrent GC.

>3) VM Эрланга хороша что тем что реализует вытесняющую многозадачность.


Речь шла скорее о GC. В BEAM стопаются отдельные "процессы" внутри VM, когда нужно собрать мусор. Full GC с полной остановкой всех потоков в VM там вроде как не происходит.
158 1678450
>>678270

>https://news.ycombinator.com/item?id=21564461



Проигрываю с этого долбоёба.
159 1678468
>>678270

>Главное помнить что сырые акторы и особенно clustering, sharding и remote, нужно использовать в исключительных ситуациях


Что же тогда остается, если ни акторы ни кластеринг с шардингом лучше не использовать?
160 1678554
>>677417

>акторы как модель concurrency - хуета


я бы поспорил. скорее есть не так много кейсов для использования этой модели.
161 1678558
>>678414
>>678468
Есть akka-http, akka-streams и alpakka, и с ними можно интегрировать сырые акторы если понадобится. Их можно заменить http4s и fs2, но
1) для них намного меньше коннекторов
2) нужно знать cats и cats-effect, а их знает и главное хочет знать достаточно мало людей, чтобы в этом треде ни кукарекали.
Ну и есть задачи которые на кластеринг с шардингом очень хорошо ложатся.

>Речь шла скорее о GC.


GC влияет на все приложения одинаково, в вот вытесняющая многозадачность именно для акторов решает (ну и для других реализаций зеленых потоков).
>>678450
Можно подробнее?
162 1678819
>>665014 (OP)
Почему вы удаляете мои вопросы?!
163 1678888
>>677417

> акторы как модель concurrency - хуета


Пока что лучшая модель за последние 50 лет, выразительной мощности который достаточно, чтобы вывести из неё все остальные.
SCP ещё сопоставим, но у него свои недостатки, типа реализации получаются быстрее, но отказоустойчивость в распределенной real-world среде похуже будет.
Всякое говно мамонта типа CCS, pi-calculi и I-var/M-var уже сдохло за счёт своей ограниченности, фьючеры по месту бывают в тему, STM, когда совсем ничего уже нет удобного под рукой, вот собственно и всё. Хотя толку от всего этого многообразия, если для мейстримового программирования какой нибудь ссаный асинк пишущийся на ерлонге в 5 строчек -это блять вершина развития. Не даром братюня говорил что мейнстрим - это область с заторможенным временем, где сейчас где-то 80й год и люди только-только стали догадываться, что программировать сраные FSMы на евентах нодженс-стайл это говноедство. Хотя для какой нибудь джявапараши где дауны до сих пор сидят на тредпулах с дисрапторами даже это пиздец прогресс, какая там акка.
164 1678890
>>678888

>SCP


CSP, разумеется

fix
image.png976 Кб, 822x899
165 1678891
>>678890
Моргни
166 1678898
Вот кстати эпичный тред, где Стасик (предположительно) моросил на Акку, когда её сделали динамически типизированной. Естественно тема перешла на обсуждение акторов, конкурентных моделей, набежали эрлангоблядки (я в том числе) и был увлекательный срач.
В общем для тех, кому эта тема интересна и кто хочет проникнуться духом старого /зк/ это может быть занятным чтивом

https://arhivach.ng/thread/8181/
167 1678916
>>678888
Как обстоит дело с сетевым программированием? Не наворачивать же акторы для какой-нибудь клиентской библиотеки, которая с железкой по TCP общается, например? Неужели придется тащить джавовые либы и, о боже, работать с Future?
168 1679532
>>678916
В зависимости от того, каким там требования оптимизации, конечно.

В том же эрланге тсп-либа по умолчанию в активном режиме работает через мессадж-пассинг, т.е. процесс (актор) овнер сокета получает сообщения из него таким же образом, как от других процессов, через майлбокс. Понятно что такой режим годится только для трастед среды, в остальных случаях уже всякие active_once/passive режимы с recv, но всё равно удобно, т.к. процессы можно блочить сколько удобно, типа сделал accept, recive или recv и актор сидит себе курит до следующего пакета, других не блокирует. Понятно что это можно и тупо на тредах сделать, но могут быть траблы с синхронизацией, а на акторах - получил пакет - отправил его другому актору дальше, всё просто и из этого легко лепить всякие датафлоу пайлплайны, которые описываются почти декларативно, охуенно же.
169 1679546
>>679532
Так а нафига ты акторы сравниваешь с тредами, когда и в джаве и в скале есть futures? Точно так же у тебя будет неблокирующий код, а писать map/flatMap/for-comprehension проще чем пердолить мессаджи туда-сюда, да и про backpressure нужно меньше думать.
170 1679575
>>679532
У меня есть железка, которая общается с внешним миром через проприетарный протокол поверх TCP. И мне нужно набросать клиентскую библиотеку, которая могла бы подключаться к железке и обмениваться с ней данными.
Я погуглил и нашел только Netty, который позволяет написать что-то подобное. Но там Java и клиентский код работает на Future. Тут я подумал, что можно было бы накидать обертку на Scala.
171 1679586
>>679575
Посмотри на джавовое NIO, возможно для него есть готовые Скала-обертки (вроде даже видел что-то такое для ZIO, но могу ошибаться).
Для разбора бинарного протокола можешь посмотреть на scodec.
172 1679940
>>678916

>Не наворачивать же акторы для какой-нибудь клиентской библиотеки


Почему бы и нет? Акка и на уровне акторов, и на уровне стримов TCP поддерживает прямо из коробки.
>>679586
Вот для monix есть, но оно сырое наверное: https://github.com/monix/monix-nio. Хотя может этого достаточно.
>>677293
https://info.lightbend.com/rs/558-NCX-702/images/COLL-white-paper-akka-A-to-Z.pdf
>>679532

>из этого легко лепить всякие датафлоу пайлплайны, которые описываются почти декларативно


Сырые акторы нихуя не декларативны, это самое императивное дерьмо которое можно себе представить. Проблемы с синхронизацией доступа они решают, но дедлок в сложном графе словить можно запросто, и вообще актор - достаточно низкоуровневый примитив.
>>678888

>Хотя для какой нибудь джявапараши где дауны до сих пор сидят на тредпулах


Да в джаве и акку используют, и futures, и Rx. Я бы не сказал что там все плохо с concurrency.

> c дисрапторами


Гнать на дисраптор - быть дауном. Да, его придумали 10 лет назад, но эти идеи и сейчас работают, и даже используются в той же Aкке в виде aeron'a.
173 1679946
>>679940

>Почему бы и нет? Акка и на уровне акторов, и на уровне стримов TCP поддерживает прямо из коробки.


Вангую, что будет лютый отсос в плане производительности. Лучше уж тогда раскурить Netty и ZIO. Набросать транспорт на Netty и вкорячить обертку на ZIO.
174 1679986
>>679946

>Вангую, что будет лютый отсос в плане производительности.


1) Очень вряд ли. Может netty и быстрее akka io, но не в разы.
2) С netty достаточно неприятно работать, очень уж низкоуровневый.
3) Мы не знаем требований по производительности. И я сомневаюсь что они сколько-нибудь серьезные.
175 1680081
>>679546
Так и на акторах можно не думать о backpressure, это вообще проблема имплементации, чтобы консьюмеры пуллили столько, сколько им нужно. В эликсире для этого есть GenStage/Flow/Broadway, в акке, как я понимаю, Akka Reactive Streams, где уже всё готово для построения пайплайнов.

Фьючеры подходят для некоторых вещей, но датафлоу с конкретной топологией на них нормальный не напишешь.
176 1680093
>>680081
Как быстрее всего вкатиться в Акку и начать зашибать 300кк в наносекунду, разрабатывая дата лейк пайплайны, выгребая данные из кафка и отправляя их в кликхаус для дальнейшей аналитики?
177 1680112
>>679940

>Сырые акторы нихуя не декларативны, это самое императивное дерьмо которое можно себе представить. Проблемы с синхронизацией доступа они решают, но дедлок в сложном графе словить можно запросто, и вообще актор - достаточно низкоуровневый примитив.



Что там блять низкоуровневого? Один блок с матчами и вызовом той или иной get/update функции по стейту, который просто аргумент функции? Охуеть низкоуровнево. Вся логика актора это просто функция, с двумя возможными сайд эффектами - порождением нового актора или посылкой сообщения.

Правильно максимка говорил, что те, кто вместо всяких акка, окку и т.д. брал эрланг - сразу всё понимал и у него не было никаких дебильных вопросов к этой модели. В обратную сторону это к сожалению не работает. Я эти претензии про некую "низкоуровневость" и "некомпозабельность" акторов, только от аккистов слышу, это при том что ещё в 80х Хьюитт с Аха запилили акторам и целую алгебру, и детонационную семантику и всё на свете.
178 1680115
>>680112

>детонационную


денотационную, очевидно

fix
179 1680124
>>680112

> Один блок с матчами и вызовом той или иной get/update функции по стейту, который просто аргумент функции


> просто функция, с двумя возможными сайд эффектами


Это и называется "низкоуровнево". Хочешь оперировать более высокими абстракциями - пердолься в ручном режиме.

И да:

> с двумя возможными сайд эффектами - порождением нового актора или посылкой сообщения


Ты забыл про мутацию внутреннего стейта актора, ради чего все и затевалось. И вот тут-то все говно и всплывает. И нет, akka-fsm тоже говно.
180 1680142
>>680124
Например, в эрланге стейт актора это просто аргумент рекурсивной функции. Если в акка не так, я не думаю, что в языке с нормальной поддержкой типов, которым скала вроде является, может быть проблема с тайпсейфети стейта и его изоляции от чистого кода.
181 1680148
>>680142
Да, в акке тоже можно так делать.
Но вот простой кейс - мне нужно дернуть метод, возвращающий Future, и после завершения продолжить обработке мейлбокса.
Или (если без фьючур) послать сообщение актору и дождаться ответа, после чего продолжить обработку.
В акке для этого есть stash. В эрланге selective receive. И то и другое вынуждает делать все это руками, в то время как в fs2 например я ПРОСТО БЕЗ ЗАДНЕЙ МЫСЛИ делаю evalMap и всё.
182 1680500
>>680148

>в то время как в fs2


Снова эти почитатели тормозящих глючных поделок. Никому не всрались забагованые библиотеки тайплевла.
Сейчас бы сравнивать ЭфЭссДва, которая вообще не про канкаренси и акка, которая успешно реализует модель акторов и используется в продакшене в крупнейших компаниях.
183 1680502
>>680112
Веселье начинается, когда ты посылаешь сообщение актору, а тот тебе не отвечает или отвечает, но слишком поздно. И вот тогда ты начинаешь наворачивать различные таймауты и повторные посылки сообщений. Начинаешь мутировать состояние актора переходя из одного состояния в другое через ctx.become и т.д.
184 1680523
>>680148

>в то время как в fs2 ты по кд ебешься с имплиситами и пытаешься понять какой очередной тайпкласс из котов тебе нужно реализовать, чтобы все завелось.


Это я еще не говорю о том как "весело" дебажить это тайплевельное говно.
185 1680535
>>680502
Так если ты там выполняешь что-то адово медленное, зачем тебе вообще ждать ответ? Пиши асинхронно. Актор отправил сообщение и пошёл дальше заниматься своей хуйнёй, когда будет результат, тогда он достанет его из майлбокса и продолжит обработку.
186 1680545
>>680535
Как мне понять, что тот актор еще работает над моим ответом, а не упал с исключением или еще что-нибудь? Реализация модели акторов в Akka это хрестоматийный пример из палаты мер и весов как не нужно делать. Все хорошо до того момента, пока тебе не нужно заботиться об исключительных и краевых случаев. А потом начинается обмазывание таймаутами и посылка хелсчеков по кд, лол.
187 1680610
>>680545

Так а зачем тебе это понимать?
Что ты будешь с этой ошибкой делать?

Мне кажется, в твоём примере какая то проблема с дизайном, например.

Чем-то напомнил знакомого челика, который сделал проект с акковскими акторами, пользуясь почти исключительно ask, а потом доказывал мне что акка тормозное говно, лол.
188 1680625
>>680610
Ты делегируешь некую задачу акторам и ждешь от них ответа. Если вычисления затягиваются, то ты должен как-то проверить, что на той стороне все в порядке и нужно немного подождать.
Именно поэтому в Akka все так помойно - нужно наворачивать таймауты и писать императивный код.
В Erlang тоже самое сделано на порядок лучше.
Ну а про тайплевел стек уже сказали - пока разберешься откуда лезет очередной имплисит и раскуришь как пользоваться очередным тайплклассом - тебя уже из конторы выгонят и все перепишут за неделю на Java + Spring/Hibernate.
189 1680630
>>680112

>брал эрланг - сразу всё понимал и у него не было никаких дебильных вопросов к этой модели


>Я эти претензии про некую "низкоуровневость" и "некомпозабельность" акторов, только от аккистов слышу


У меня нет никаких вопросов и недопонимания, не один год с этим подходом работал. Претензии к низкоуровневости и некомпозабельности - результат опыта написания нескольких достаточно сложных приложений на акке и чтения кучи доки, блогов и литературы.

>Что там блять низкоуровневого?


Тебе уже ответили, добавлю только что алгебра и денотационная семантика не делают что-то менее низкоуровневым.
>>680142
Проблема типизации акторов оказалась очень сложной. Ее как-то решили в akka-typed, там типизируется поведение актора. Чтобы стабилизировать этот API понадобилось несколько лет. Не могу сказать насколько это облегчает жизнь в плане работы со состоянием потому что сам никогда ей не пользовался. Теоретически, фундаментальная проблема остается - в разных состояниях актор способен обрабатывать разные подмножество типов сообщений, то есть его поведение - не total function, не знаю как на это русском.
>>680523 >>680500
Можно как-то потоньше?
>>680535
Ты на пути к вот этому пиздецу - https://news.ycombinator.com/item?id=21564461. Это нормально, многие кто работал с аккой через это проходили.
>>680545

>Как мне понять, что тот актор еще работает над моим ответом, а не упал с исключением или еще что-нибудь?


А никак, как и в любой другой распределенной системе. Не совсем ясно только зачем внутри одной машины создавать распределенную систему.
190 1680644
>>680630

>А никак, как и в любой другой распределенной системе. Не совсем ясно только зачем внутри одной машины создавать распределенную систему.


Не брать же котов и поверх них наворачивать фс2, хэтэппэпэфорэсс и прочие тайплевел библиотеки? Там от обилия имплиситов и тайпклассов начинает идея краснить и я начинаю проклинать Сугака!
191 1680645
>>680644
>>680523
>>680500
Ты опять выходишь на связь, мудило?
Щас бы в скала-треде ныть, что скала-библиотеки СЛОЖНА.
192 1680663
>>680645
Зачем ты меня оскорбляешь? Скала сложна, тайплевел библиотеки еще сложнее в освоении. Никакого профита переход на Скала не дает.
193 1680866
>>680663

> Зачем ты меня оскорбляешь?


Это было идиоматическое выражение за мат извени

> Скала сложна, тайплевел библиотеки еще сложнее в освоении


То есть ты не осилил...

> Никакого профита переход на Скала не дает


... но говоришь, что профита нет.
Не приходила в голову мысль, что некоторые люди не просто так пердолятся с ФП, а все-таки имеют с этого какие-то профиты?
194 1680900
>>680866

>все-таки имеют с этого какие-то профиты?



ОКР свой тешат, вестимо.

Большая часть этой тайплевелопараши жутко неэргономичная, и проблем приносит больше, чем решает.
195 1680906
>>680900
Как выглядит правильный Scala-стек, на котором можно ваять топовые приложения, оставляя позади почитателей Java и Kotlin с их спрингом и хибернейтом?
196 1680912
>>680906
Тот, который ты знаешь лучше других.
Всё. Весь хейт идет от неосиляторов.
197 1681117
>>665014 (OP)
Подонки! Снова потерли такую дискуссию!
198 1681173
>>680906

Кот бы знал.

Скала неплохой язык, но вот с экосистемой и сообществом беда -- и того, и того немного и оно жутко фрагментированное.

В итоге у нас 4 (или 5?) одних только библиотек для эффектов, которые делают одно и то же, и все, сука, сырые и недоделанные.
Еще и плохо совместимые между собой.

Что уж тут говорить о каких-то стандартных решениях?
Насколько я знаю, почти у всех какая-то своя комбинация великов из говна и палок, обычно поверх акки хттп.

Большая часть около-тайплевел решений вообще мне напоминает машины голдберга -- оно могло бы быть даже полезным, если бы не было настолько сложно и абсурдно устроено, и если бы имело чуть менее хуевый апи, не напоминающий костыли, обмотанные колючей проволокой.

>Как выглядит правильный Scala-стек, на котором можно ваять топовые приложения, оставляя позади почитателей Java и Kotlin с их спрингом и хибернейтом?



Кот бы знал. Из фреймворков в скале есть фактически только акка -- плей и лагом производные, в общем-то.
Все остальное -- набор библиотек разной степени всратости и совместимости.
Ну финч/финатра еще.

Сама акка, в принципе, збс для около ивентсорсинга, там очень много есть готового для этого -- но это все-таки довольно специфическая штука.

Еще, например, у softwaremill много хороших либ, тот же sttp или quickleans (просто, блядь, сравни с monocle).

У Li Haoyi тоже есть хорошо спроектированные либы, тот же fastparse или upickle например.

Кстати, экспресс-тест на хуевость для библиотеки -- если в зависимостях shapeless или magnolia, то скорее всего ей будет мучительно больно пользоваться, а ее исходники до и после обфускации будут выглядеть одинаково.
198 1681173
>>680906

Кот бы знал.

Скала неплохой язык, но вот с экосистемой и сообществом беда -- и того, и того немного и оно жутко фрагментированное.

В итоге у нас 4 (или 5?) одних только библиотек для эффектов, которые делают одно и то же, и все, сука, сырые и недоделанные.
Еще и плохо совместимые между собой.

Что уж тут говорить о каких-то стандартных решениях?
Насколько я знаю, почти у всех какая-то своя комбинация великов из говна и палок, обычно поверх акки хттп.

Большая часть около-тайплевел решений вообще мне напоминает машины голдберга -- оно могло бы быть даже полезным, если бы не было настолько сложно и абсурдно устроено, и если бы имело чуть менее хуевый апи, не напоминающий костыли, обмотанные колючей проволокой.

>Как выглядит правильный Scala-стек, на котором можно ваять топовые приложения, оставляя позади почитателей Java и Kotlin с их спрингом и хибернейтом?



Кот бы знал. Из фреймворков в скале есть фактически только акка -- плей и лагом производные, в общем-то.
Все остальное -- набор библиотек разной степени всратости и совместимости.
Ну финч/финатра еще.

Сама акка, в принципе, збс для около ивентсорсинга, там очень много есть готового для этого -- но это все-таки довольно специфическая штука.

Еще, например, у softwaremill много хороших либ, тот же sttp или quickleans (просто, блядь, сравни с monocle).

У Li Haoyi тоже есть хорошо спроектированные либы, тот же fastparse или upickle например.

Кстати, экспресс-тест на хуевость для библиотеки -- если в зависимостях shapeless или magnolia, то скорее всего ей будет мучительно больно пользоваться, а ее исходники до и после обфускации будут выглядеть одинаково.
199 1681220
>>681173

> если бы не было настолько сложно и абсурдно устроено, и если бы имело чуть менее хуевый апи


Можешь привести конкретный пример сложности и абсурда? И который не был бы вызван тем, что тебе просто НЕПРИВЫЧНО.
200 1681282
>>681173
Ты вообще либами про которые пиздишь пользовался или реддита с еще какой хуйней начитался?

>В итоге у нас 4 (или 5?) одних только библиотек для эффектов, которые делают одно и то же, и все, сука, сырые и недоделанные.


Есть cats-effect - старая доделанная и zio - новая недоделанная. Есть еще monix, но он еще и про стириминг и тоже доделанный.

>Что уж тут говорить о каких-то стандартных решениях?


Что ты имеешь в виду по стандартным решением? Навязанные фреймворком библиотеки?

>Из фреймворков в скале есть фактически только акка -- плей и лагом производные, в общем-то.


Каким хуем плей производная акки?

>Ну финч/финатра еще.


А еще scalatra, xitrum, lift. Выбирать заебешься, если подойти основательно к вопросу.

>quickleans (просто, блядь, сравни с monocle)


Сравнили уже - https://nrinaudo.github.io/optics/libraries.html, есть свои плюсы и минусы у обеих библиотек.
201 1681313
>>665041
Т.е. ты работаешь на них как ИП и получаешь всего 5400$ что ли? Ебать ты долбоёб братишка.
202 1681335
>>681313

>и получаешь всего 5400$


Чет взлольнул. Ты хоть понимаешь какие это деньжища?
203 1681344
>>681282
Тут речь шла о стандартном наборе библиотек для решения типичных задач. На Java/Kotlin это Spring, Hibernate, gRPC и еще тонна протестированных и отлаженных решений, с которыми ты можешь собрать приложение буквально за несколько часов.
В Scala-мире каждый пытается пердолиться в эффекты и доказывает всему миру, что его либа самая лучшая и именно ему нужно нести деньги.
Но библиотеки для написания REST-сервисов как не было так и нет, для работы с сетью ничего толкового нет - приходится тащить библиотеки из джавы.
Какие-нибудь драйверы для kafka, redis, mongodb - мимо.
204 1681350
>>681344
Ёбобо?
Альтернатив много, это факт.
Но говорить что

> библиотеки для написания REST-сервисов как не было так и нет


это наглый пиздёж.
Так же и про

> драйверы для kafka, redis, mongodb - мимо


Ты бы хоть погуглил прежде чем набрасывать.
205 1681375
>>681335
У тебя три лишних буквы и одна ошибка в слове днище.
206 1681389
>>681375
300к/на толстяк, ты?
207 1681393
>>681389
Нет, у меня всего 8к, ДМС и оплата спортзала.
208 1681410
>>681393
Ну рассказывай, где работаешь
209 1681809
>>681350
Да гуглил я. Десяток альтернатив одного и того же и все не доделано и забаговано. Оттого и бегают все эти микрочелики из чата в чат и просят помочь залифтить им монаду в очко.
210 1682090
>>681282

>Ты вообще либами про которые пиздишь пользовался?


Пользовался, конечно.

>Есть cats-effect - старая доделанная и zio - новая недоделанная. Есть еще monix, но он еще и про стириминг и тоже доделанный.



Давай посчитаем:

1. scalaz -- старая недоделанная
2. twitter future -- старая доделаная
3. cats-effect -- старая доделаная
4. zio -- новая недоделаная
5. monix -- старая недоделаная

И еще вроде у Олежки в тофу был какой-то очередной нескучный велик для того же самого, но это неточно.

И все эти либы, в сущности, содержат реализацию одной и той же абстракции над асинхронной задачей, которая и так, блядь, есть из коробки.

Видимо, писать велики очень интересно.

>А еще scalatra, xitrum, lift



И из них два скорее мертвы, чем живы, а про третий никто не слышал. Охуенный выбор.
Scalatra, впрочем, хорошая, жаль что не популярна.

>Каким хуем плей производная акки?



Тут слегка дал маху, прошу прощения. Энивей, акку все равно юзает.
210 1682090
>>681282

>Ты вообще либами про которые пиздишь пользовался?


Пользовался, конечно.

>Есть cats-effect - старая доделанная и zio - новая недоделанная. Есть еще monix, но он еще и про стириминг и тоже доделанный.



Давай посчитаем:

1. scalaz -- старая недоделанная
2. twitter future -- старая доделаная
3. cats-effect -- старая доделаная
4. zio -- новая недоделаная
5. monix -- старая недоделаная

И еще вроде у Олежки в тофу был какой-то очередной нескучный велик для того же самого, но это неточно.

И все эти либы, в сущности, содержат реализацию одной и той же абстракции над асинхронной задачей, которая и так, блядь, есть из коробки.

Видимо, писать велики очень интересно.

>А еще scalatra, xitrum, lift



И из них два скорее мертвы, чем живы, а про третий никто не слышал. Охуенный выбор.
Scalatra, впрочем, хорошая, жаль что не популярна.

>Каким хуем плей производная акки?



Тут слегка дал маху, прошу прощения. Энивей, акку все равно юзает.
211 1682101
>>681344

>Какие-нибудь драйверы для kafka, redis, mongodb - мимо.



Слегка поддвачну.

>redis



Почему-то все драйвера для редиса на скале -- говно говна.
То заброшен, то глючный, то нехватает чего-то.. зато часто пытаются очередной нескучный дсл выдумать. В итоге взяли джавовый jedis, полет нормальный.

>mongodb



Есть два стула -- глючный reactivemongo с ебанько кор контрибьютором, и официальный драйвер, который суть тонкая обертка поверх официального драйвера для джавы.
Впрочем, второй как раз вполне норм.

>kafka



Сам не пользовался, но народ очень хвалил коннектор для альпакки.
Думаю, тут ты слегка преувеличиваешь.
212 1682178
>>681344

>ты можешь собрать приложение буквально за несколько часов


Миллиард раз слышал этот аргумент. Мои возражения:
1) Я вот бекэндом занимаюсь лет 7 уже, и мне ни разу не нужно было собрать приложение за несколько часов, а вот поддерживать сервис годами - случалось. Так что поддерживаемость намного важнее настолько быстрого старта.
2) Если команда уже какое-то время работает над проектом, определились с набором библиотек и уже есть несколько сервисов, то сервис заводится точно также за несколько часов.
3) Я допускаю что какое-то задачи, возможно круды c UI, легче лепить на джавовых технологиях, но джавовый стек все еще здесь и для специфических задач можно его использовать - в этом вся прелесть JVM. Но я все-таки хотел бы увидеть конкретный пример, да и вообще возможно для этих целей какой-нибудь RoR подойдет лучше.

>Но библиотеки для написания REST-сервисов как не было так и нет


Что такое библиотека для написания REST-сервисов? Http-сервер + либа для jsonа? Может тебе lagom этот сраный подойдет?

>Какие-нибудь драйверы для kafka


У самой кафки очень простой API, для низкоуровневой работы никакие либы не нужны. Для стриминга коннектор из alpakka очень хорош. Ну и для kafka-streams официальная обертка есть.

>redis


Использовал пару, неплохие были. Если чего-то нет, либы обычно предоставляют доступ к нижележащему джавовому объекту.

>mongodb


Есть casbah, но я его очень давно использовал, как и саму эту базу. И это не единственная опция.
И еще есть либы для SQL, Cassandra и еще хер знает чего. Вообще бы сказал что библиотеки - как раз сильная сторона Скалы, приятно с экосистемой работать.
>>682090

>1. scalaz -- старая недоделанная


Принимается.

>2. twitter future -- старая доделаная


Не ставит задачей контроль над эффектами, как и стандартная Future.

>5. monix -- старая недоделаная


В каком месте не доделанная? Мне действительно интересно, я не использовал ее много, но выглядит достаточно прилично.

>И все эти либы, в сущности, содержат реализацию одной и той же абстракции над асинхронной задачей, которая и так, блядь, есть из коробки.


Если бы все было так просто. Эти библиотеки имеют разную философию и технические компромиссы, и хорошо что они есть. Так можно договориться до того что всем нужно одним ЯП пользоваться.
Ну и ты видимо смешиваешь контроль над эффектами и асинхронные задачи. Это не одно и тоже.

>И из них два скорее мертвы, чем живы, а про третий никто не слышал. Охуенный выбор.


Про популярность судить не могу, но выбор есть и так или иначе, они делают свою работу.

>Тут слегка дал маху, прошу прощения. Энивей, акку все равно юзает


Можно на netty запускать как раньше.
212 1682178
>>681344

>ты можешь собрать приложение буквально за несколько часов


Миллиард раз слышал этот аргумент. Мои возражения:
1) Я вот бекэндом занимаюсь лет 7 уже, и мне ни разу не нужно было собрать приложение за несколько часов, а вот поддерживать сервис годами - случалось. Так что поддерживаемость намного важнее настолько быстрого старта.
2) Если команда уже какое-то время работает над проектом, определились с набором библиотек и уже есть несколько сервисов, то сервис заводится точно также за несколько часов.
3) Я допускаю что какое-то задачи, возможно круды c UI, легче лепить на джавовых технологиях, но джавовый стек все еще здесь и для специфических задач можно его использовать - в этом вся прелесть JVM. Но я все-таки хотел бы увидеть конкретный пример, да и вообще возможно для этих целей какой-нибудь RoR подойдет лучше.

>Но библиотеки для написания REST-сервисов как не было так и нет


Что такое библиотека для написания REST-сервисов? Http-сервер + либа для jsonа? Может тебе lagom этот сраный подойдет?

>Какие-нибудь драйверы для kafka


У самой кафки очень простой API, для низкоуровневой работы никакие либы не нужны. Для стриминга коннектор из alpakka очень хорош. Ну и для kafka-streams официальная обертка есть.

>redis


Использовал пару, неплохие были. Если чего-то нет, либы обычно предоставляют доступ к нижележащему джавовому объекту.

>mongodb


Есть casbah, но я его очень давно использовал, как и саму эту базу. И это не единственная опция.
И еще есть либы для SQL, Cassandra и еще хер знает чего. Вообще бы сказал что библиотеки - как раз сильная сторона Скалы, приятно с экосистемой работать.
>>682090

>1. scalaz -- старая недоделанная


Принимается.

>2. twitter future -- старая доделаная


Не ставит задачей контроль над эффектами, как и стандартная Future.

>5. monix -- старая недоделаная


В каком месте не доделанная? Мне действительно интересно, я не использовал ее много, но выглядит достаточно прилично.

>И все эти либы, в сущности, содержат реализацию одной и той же абстракции над асинхронной задачей, которая и так, блядь, есть из коробки.


Если бы все было так просто. Эти библиотеки имеют разную философию и технические компромиссы, и хорошо что они есть. Так можно договориться до того что всем нужно одним ЯП пользоваться.
Ну и ты видимо смешиваешь контроль над эффектами и асинхронные задачи. Это не одно и тоже.

>И из них два скорее мертвы, чем живы, а про третий никто не слышал. Охуенный выбор.


Про популярность судить не могу, но выбор есть и так или иначе, они делают свою работу.

>Тут слегка дал маху, прошу прощения. Энивей, акку все равно юзает


Можно на netty запускать как раньше.
213 1682190
>>682178

>приятно с экосистемой работать.


Так нет никакой экосистемы. Экосистемы это в Java. Решил ты собрать микросервис - за минуту создаешь каркас приложения через Spring Boot и вот у тебя уже HTTP сервер, доступ к базе и упаковка в fat jar с зависимостями. Всякие кафки и прочие mq доступны через spring модули. Доступ к данным через spring data. Валидация, сериализация json и прочие фишки - дело нескольких строк. Иногда достаточно одной аннотации на классе.
214 1682204
>>682190
Ты путаешь экосистему и фреймворк. Экосистема есть всегда, просто выглядит в разных языках по-разному. И все что ты описал я делал и на Скале.
215 1683119
>>665014 (OP)
Стоит ли читать красную книгу и проникаться философией функционального программирования? Или же сразу навернуть Akka in action и идти искать работу?
216 1683136
>>683119

> Стоит ли читать красную книгу и проникаться философией функционального программирования? Или же сразу навернуть Akka in action и идти искать работу?


Учишь акку, находишь работу, пока получаешь стаж разработки на скале уже учишь ФП, котов и прочее, делаешь небольшой пет или контрибут в тофу, с опытом работы на скале и наработками на ФП-стеке уже изи перекатываешься в жёлтый банк или любую другую контору с ФП-скалой, с руками оторвут.
217 1683330
>>683136
Какие ещё конторы кроме двух желтых банков есть?
218 1683349
>>683330
Точка, ВТБ, Касперский, Аррайвал, Дино системс, Сбер. Это те, которые первые пришли в голову.
219 1683355
>>683349

> Точка


У них вроде офис в Екб - видимо, и зарплаты соответствующие

> ВТБ


Ты про "Метр Квадратный"? У них там акка, а не ФП

> Касперский


Про этих не в курсе

> Аррайвал


ЧСВшные ебанашки

> Дино системс


Зарплата ниже рынка

> Сбер


Хз что там по зарплате, но скорее всего не особо весело. Прошли те времена, когда сбертех переманивал всех зарплатами х2 от рынка
220 1683364
>>683330
Еще есть Яндекс.Вертикаль (Недвижимость, Авто.ру).
221 1683369
>>683364

> Яндекс


Будешь на собеседовании крутить алгоритмы 4 часа буквально, 4 интервью с разными собеседующими по часу каждое, и если не пройдешь тебе даже не сообщат. Если пройдешь - предложат сильно ниже рынка.
222 1683370
>>683364
Диалог, Экзанте, Дойче, Хуавей, Уан Фактор, Мейл, Ростелеком Солар
223 1683375
>>683355

>У них вроде офис в Екб - видимо, и зарплаты соответствующие


Платят по рынку и используют тайплевел стек - как ты и хочешь.

>Ты про "Метр Квадратный"? У них там акка, а не ФП


Ну так тебе деньги зарабатывать или в функциональщину пороться?

>Про этих не в курсе


Что-то ваяют на Акка

>ЧСВшные ебанашки


Чего это? Вроде интересные ребята. Роботы там проектируют и машины на автопилоте. Но там вроде тоже Акка.

>Зарплата ниже рынка


Зато есть позиции на тайплевел стек. Будешь тайпклассами обмазывать и монады дрочить!

>Хз что там по зарплате, но скорее всего не особо весело. Прошли те времена, когда сбертех переманивал всех зарплатами х2 от рынка


Не так давно искали лида на 200к на какой-то проект распределенного веб-скраппера на Акка
224 1683377
>>683369
Даже не знаю. Ты проходил собеседование именно в эту команду? Лиды из скала чата говорят, что именно у них в команде нет этих алгоритмический секций по несколько часов.
225 1683381
>>683377
Насколько мне известно там однохуйственно куда ты идешь.
Я просто проходил эту ебалу и мне бомбануло что потом даже фидбэк не дали.
Ебал я такие приключения, добавляю в ЧС всех их HR-ок которые пишут в телегу иногда.
226 1683383
>>683381
Это если ты идешь в основу, то тебя будут гонять по алгоритмам и т.д. А Вертикали - это единственная команда где не наложен запрет на Scala и там два чувака лидят проекты. С их слов у них нет такой жести, которая происходит в других командах.
227 1683388
>>683383
Кстати вспомнил что к нам на прошлой работе приходил на собеседование парень, который там работал. По его словам, зарплаты там реально небольшие
228 1683814
>>683349
>>683364
>>683370
Про Дино системс и Аррайвал не слышал. Во всех остальных будешь за дошик ебошить. Посмотрел, Аррайвал же в Питере?
229 1683840
>>683814

>Во всех остальных будешь за дошик ебошить.


Откуда такая информация?

>Посмотрел, Аррайвал же в Питере?


Вроде бы да. Это бывший ТРА Роботикс.
230 1684532
>>682090

>содержат реализацию одной и той же абстракции над асинхронной задачей, которая и так, блядь, есть из коробки



если ты сравниешь Future из стандартной либы с IO из cats-effect, то земля тебе пухом - тебе уже ничего не поможет
231 1684636
>>665014 (OP)
Как вкатиться в изуми и дистейдж? Нужно ли покупать кофе? И как быть с недостатком документации и отсутствием реальных проектов?
Уже не первый раз слышу, что нет ничего лучше изуми и дистейдж.
232 1684653
>>684636
Не заебало?
233 1684684
>>665014 (OP)
Имеется информация от проверенного человечка. Я бы даже сказал - инсайдера! Короче, скала плугин никогда не перестанет краснить код, т.к. работают над ним на отъебись и закрывают только те баги, которые прилетают от пользователей Big Data Tools плагина. Т.к. сам скала плугин не приносит JB ничего кроме убытков, то работа над багами и фичами, которые прилетают от простых скалалазов идет сразу во внутренний беклог.
Тут еще стоит заметить, что подавляющее большинство скалистов сидит на EAP версии IDEA и пользуется всеми благами абсолютно бесплатно.
Выходит, что работать на подобных пользователей - западло чистой воды.
234 1684764
>>684684
Ага, особенно пользователям Big Data Tools нужна Scala 3, которая еще даже не вышла. Тролли дальше.
235 1684775
>>684764
Они готовятся к новому релизу, чтобы у пользователей была возможность работать со спарком из скала 3.
236 1685146
>>684684
Жирно конечно, но если задуматься, JB продвигает Котлин, и поддержка в их IDE - один из главных аргументов.
Видится логичным "ломать" иногда Скала-плагин, чтобы еще больше отжать у неё сегмент рынка.
237 1685206
>>685146
Ты и правда такой наивный? Очевидно же, что варианта только два. Первый - про команду, которая пилит скала плугин попросту забыли и она пашет по остаточному принципу "лишь бы не поперли с конторы". Второй - ведется только багфиксинг и вливание назначительных фич от пользователей биг дата тулз (можно взглянуть по трекеру задач).
Зачем JB вливать деньги в скала плугин и держать на зарплате с десяток очень недешевых инженеров, когда скала плагин распространяется абсолютно бесплатно (мы не учитываем те смехотворные "фичи" которые доступны только для пользователей ультимейт версии идеи), а практически все разработчики ставят себе либо коммунити эдишон, либо EAP версию идеи и накатывают на нее плагин.
Только одно меня радует - очень скоро все пользователи спарк перейдут на питон апи и тогда скалу можно будет окончательно закопать. Биг дата тулз сейчас единственный проект, который приносит деньги в том числе и за счет скала плагина.
238 1685533
>>684775
Осталось только дождаться когда спарк на 3-ей скале будет работать. Как бы я был рад если бы так стало с выходом 3-его спарка. Но я на 95% уверен что этого не случится, и на 3-ю скалу они будут переезжать года два.
>>685146
Теоретически это логично, но
1) не припомню когда плагин ломали, а пользуюсь им уже лет пять
2) есть репутационные потери от время от времени ломающегося софта
3) плагин могут форкнуть (но это не точно, не знаю нюансов лицензирования)
>>685206

>про команду забыли


>ведется только багфиксинг и вливание назначительных фич


>очень скоро все пользователи спарк перейдут на питон


Иди в другом месте троллируй.
239 1686020
>>685533
Не удаляйте мои сообщения!
240 1688807
>>665014 (OP)
Как так выходит, что в телеграм понабежало целая толпа новых разработчиков, которые перекатываются на скала и уже что-то пишут на зио и котах, когда я только закончил книгу по котам (не понравилась) и читаю красную книгу?
242 1689080
>>689067
И что? Хочешь сказать, что это единственная книга, которая мне понадобится, чтобы вкатиться в скалу и начать писать приложения?
243 1689175
>>689080
Ты долбоёб или зеленый?
244 1689177
>>689175
Зачем ты скидываешь мне ссылку на книгу по ФП для начинающих?
245 1692759
>>665014 (OP)
Посмотрел интервью с Олегом. Почему у студентов без опыта намного выше шанс вкатиться в Scala чем у человека, который перекатывается с другого стека или языка?
246 1692765
Зачем нужна скала если есть Котлин?
247 1692781
>>692759

Потому что у пустого мозга нет инерции мышления.
248 1693299
Зачем нужна скала+акка, если есть эликсир?
249 1693335
>>693299
Типы.
250 1696131
>>665014 (OP)
Удалите тред. Видно же, что никому не интересен мертвый язык программирования.
251 1696138
>>696131
Потыкал палочкой шизика.
252 1696254
>>665014 (OP)
даже роадмап для вкота не написали. тю такими быть
253 1696317
>>696254
Сначала красную книгу осиль.
изображение.png1,9 Мб, 1024x1366
254 1697230
>>697229 (Del)

>Что почитать, чтобы смочь ее осилить?



Пиздец.
255 1697242
>>697230
Там слишком сложные задачи. Я постоянно подглядываю в решения!
256 1698036
Подумываю сменить работу и понаехать в ДС, на какие деньги можно там рассчитывать, имея 2 года опыта с typelevel-стеком?
14817157866880.jpg255 Кб, 620x640
257 1698172
>>684684
Похуй, уже есть Metals
258 1698186
>>698172
Почему руль справа?
259 1698187
>>698186
Это не руль
260 1698641
>>665014 (OP)
Так что там с вкатом в Скэйлу? Какие книги читать и какие пет-проекты делать, чтобы взяли хотя бы джуниором на 20к?
261 1698642
>>698641
Нету джуниором на 20к мест, или в сеньором, или никак.
262 1698648
>>698642
Как стать Скейла-синиором если нет вакансий джуниора? Ведь без коммерческого опыта в Скейле не берут на работу!
263 1698650
>>698648
Жаба -> Скала
264 1698651
>>698650
Не берут на скэйлу, хотя у меня 7 лет джавы/спринг/хубирнейт. Все подавай коммерческий опыт на акке и котах.
265 1698671
>>698651
Делай как я – напизди
266 1698673
>>698651
Зачем тебе шакала, на жабе за 7 лет нету вакансии 300ккнаносека?
267 1698676
>>698671
А как же ты напиздишь за опыт на скейле, когда тебя сразу выведут на чистую воду, когда попросят предоставить контакты конторы и попросят рассказать о проекте? Ну и потом пойдут вопросы по кишочкам какой-нибудь акки или кэтс-эффект.
268 1698677
>>698673
300кк в наносекунду на джаве получают убертимлиды в каких-нибудь крупных банках на мутных проектах. Сениору не дают больше 180к. Все что выше - это уже работа лида или спеца с уникальными скилами, где на всю страну пару человек с подобным опытом.
269 1698750
>>698676

>когда попросят предоставить контакты конторы


Никогда не просили ещё.

>попросят рассказать о проекте?


Рассказывал про Java проект, как-будто мы делали его на Scala.

>Ну и потом пойдут вопросы по кишочкам какой-нибудь акки или кэтс-эффект.


Чтение документации и подготовку к интервью всё-равно никто не отменял ;-)
270 1700437
>>665014 (OP)
На сколько хорошо Akka подходит для разработки законченных приложений на Scala? Или придется тащить какие-то левые библиотеки для реализации авторизации/аутентификации, работе с базой данных, валидации данных?
271 1700442
>>700437
Если ты хочешь комбайн all-in-one, посмотри на play framework, там внутри akka
272 1700450
>>700442
Мне нужен фреймворк или библиотека для разработки веб-сервисов/микросервисов, чтобы можно было общаться по HTTP. Клиент я потом сам набросаю на JS/TS, который будет ходить по HTTP на бекенд за данными.
273 1700504
>>700450
Тебе же сказали - плей фреймворк
274 1702410
Зачем нужна скала, если есть го и эликсир?
275 1702675
>>702410
Нужно же как-то оправдываться перед родителями пенсионерами, почему их чадо до сих по не может устроиться работать программистом, а вынужден лифтить монады себе в очко и уплетать наваристый борщец, который седая мать каждый день приносит сычику в его детскую.
276 1708041
>>665014 (OP)
https://www.youtube.com/watch?v=_sIOwQdQPIQ

Рекомендую к просмотру отличную презентацию, где показана вся несостоятельность модели акторов и библиотеки Akka для разработки коммерческих приложений.
Докладчик подробно разбирает недостатки Akka и объясняет как они ловко смогли перейти на ZIO+Typelevel стек.
277 1710362
>>708041
Лол, а какую замену этот белорусский Ванька предлагает Akka Cluster Sharding?
278 1710364
>>710362
Презентацию не смотрел, но вангую там в худшем случае "меняем акторы на IO", а в лучшем - "меняем акторы на fs2".
Альтернативы cluster sharding в виде JVM библиотек тупо нет Ignite/Hazelcast в расчет не берем, максимум что можно сделать это взять какой-нибудь zookeeper.
279 1710676
>>710362
>>710364
Очевидно, что Акка с ее акторами и прочими кластерами никому не нужна, т.к. на порядок усложняет разработку распределенных систем. Вместо этого пишутся микросервисы на зайо и котах, а общение между этими микросервисами реализуют через кафку.
Сейчас бы на полном серьезе пердолиться в акторы и разруливать проблемы с фьючами и таймаутами и сплитбрейнами.
Это я еще не говорю о проблемах с дебагингом систем, которые построены поверх модели акторов.
280 1710906
>>710676

> Сейчас бы на полном серьезе пердолиться в акторы


В эликсире тоже акторы, там без всякого перлолинга всё делается. Кроме него и скалы с аккой разве есть альтернативы?
281 1710929
>>710906
В том то и дело, что в BEAM (Erlang, Elixir) заточен под модель акторов и языки позволяют очень элегантно и надежно разрабатывать системы на основе этой модели.
Акка же является не очень качественной копией модели акторов, которую слизали с эрланга. Разработка и отладка приложений написанных с использованием Акки представляет собой настоящий кошмар.
Поэтому сейчас все отказываются от Акки и пишут микросервисы на котах и зайо, а общение между сервисами реализовывают через кафку.
282 1710957
Вышла новая книга https://www.handsonscala.com/
Платная правда
283 1711157
>>710929
А есть ли сервис-registry такой же как в спринге, только для скалы? Ну оркестрация там и мониторинг.
284 1712084
>>665014 (OP)
Существует какая-нибудь доходчивая книжка или гайд как строить микросервисы на акке?
285 1712340
>>675566
Когда ты выучишь математику, деньги тебе уже будут не нужны. Ты уже будешь мыслить бесконечномерными абстракциями, когомологиями и категориями, а не какими-то примитивными животными потребностями.
286 1712360
>>712340
двачую. а не еду можно и репертиторством заработать будет
287 1713686
>>712360
За математику платят больше, чем за любое программирование. Я хуею с детей, которые считаю математику неприбыльным занятием.
288 1713689
>>712340

>выучишь математику


Еще один любитель заучить и как следует прорешать математику, лiл!
289 1713703
>>713686
Например?
Кто платит?
JP Morgan?
290 1713707
>>713703

>JP Morgan


Попустись! Какой тебе еще ДжейПи Морган?!
291 1713728
>>713707
А где платят за математику?!?
292 1713731
>>712084
Была какая то akka in action, но она довольно старая.
В принципе, можешь взять любую книжку по эрлангу, и что нибудь про ddd и эвент сорсинг.
Н и у самой акки норм дока.

Энивей, акковский подход немного ортогонален микросервисам.
293 1713842
>>713728
В средней общеобразовательной школе или в ПТУ/ВУЗе. Можешь еще репетиторством поднимать 10-15к, ну и задачки студентам решать за сотку.
294 1714212
>>665014 (OP)
Почему модератор трет сообщения в треде? Он мешает общению!
295 1715298
>>665146
для котов уже комиксы нарисовали (с котами), вам все мало
296 1715347
>>715298
Ссылку на комиксы можно?
мимо
297 1715463
>>715347
Модер трет мои сообщения и я знаю кто это.
298 1716747
>>665014 (OP)
Проигрываю как грасеас старательно трет все сообщения!
299 1718455
>>665014 (OP)
В свете последних событий, встает вопрос о востребованности таких технологий как Akka и различных систем эффектов как ZIO, Cats Effects и Monix.
Oracle собирается в следующем релизе выкатить реализацию проекта Loom. Если кто не в курсе, то Loom делает все ваши блокирующие вызовы - неблокирующими.
Возникает вопрос - зачем нужны все эти технологии, которые добавляют колоссальный оверхед по сложности освоения и накладывают серьезные ограничения по производительности приложения, когда можно будет писать в привычном стиле и не заморачиваться на счет блокирующих операций?
300 1718458
>>718455
Loom это замена для Future, но не для IO-подобных монад, которые в первую очередь используются для контроля эффектов, а не асинхронности. Более того, Loom позволит сделать fair scheduling в fiber'ах и акке - так что все эти технологии только выиграют.
301 1718459
>>718455
Блокирующие операции просто так неблокирующими не станут, без оверхеда не обойтись. Не говоря уже что все продукты от оракл - говно.
302 1718556
>>718458

>IO-подобных монад


Те самые монады, которые на деле всего лишь лямбда поверх блокирующего куска кода, которой можно передать экзекьютор для выполнения на потоке? Ну так с появлением Loom тебе в принципе не понадобятся никакие системы эффектов. Ты будешь просто писать блокирующий код, а JVM сама разрулит все блокирующие вызовы.
Акка тоже уйдет на покой, т.к. не нужно будет городить грозди из акторов и обмениваться сообщением, когда можно просто фигачить тупой скала код.
303 1718557
>>718459
Именно что и станут. Взять любой JDBC драйвер к базе данных. Если раньше все обращения к СУБД были блокирующими, то с релизом Loom все они станут неблокирующими. С точки зрения пользовательского кода ничего не поменяется, но приложение станет работать в несколько раз быстрее.
304 1718562
>>718556
Эффекты нужны далеко не только для concurrency

>>718557

> Если раньше все обращения к СУБД были блокирующими, то с релизом Loom все они станут неблокирующими


Почитай подробнее как именно это будет сделано, ничего не станет неблокирующим просто магически.
305 1718790
>>718557

> Взять любой JDBC драйвер к базе данных. Если раньше все обращения к СУБД были блокирующими


Ну так это позорище раз асинхронные аналоги функций для работы с БД только АЖ БЛЯТЬ С БАРСКОГО ПЛЕЧА ОРАКЛИ ВСЕГО ЛИШЬ В 2020 году завезти планируют.
А вообще что мешало синхронные операции засунуть в отдельный таск/асинк/фьючер сделав их асинхронными?

> С точки зрения пользовательского кода ничего не поменяется


Можешь, пожалуйста, привести пример?
Вроде любой код который имел вид
result = do_action()
do_another_action(result)
если раньше в result был собственно результат операции, теперь там будет фьючер, так что тип менять надо и хендлить его соответствующим образом.
306 1718891
>>718557

>async is a secret sauce of NodeJS performance

307 1719604
>>665014 (OP)
Менеджера заебала низкая производительность Akka в нашем приложении, а так же баги и сложность в разработке. Я предложил перейти на Cats и ZIO, но CTO не хочет переходить на эти технологии. Наша команда прекрасно понимает, что успеха у Akka как такового нет и никогда не было, но нужно предоставить железные аргументы, что система акторов и прочие модули поверх них - это всего лишь игрушки для пет проектов.
CTO рассказывает про успехи Epic Games, которые на Akka запилили часть аналитики. Правда он забывает сказать, что там ничем не примечательный сервис, который можно было реализовать и на Go с Python.
308 1719683
>>719604
Правда в том, что:
1. Akka более стабильна и проверена временем чем ZIO;
2. Если у вас "низкая производительность акки" - вы используете её неправильно;
3. При всей моей любви к pure FP - если вы не смогли правильно приготовить акку (см. п.2), то и с cats/zio возможно не сможете. Будете потом тут набрасывать как тот ебанат с его "иммутабельность засирает GC".
309 1720580
>>719683
Тот кому ты отвечаешь - это тот же ебанашка который троллит тут что все перешли на котов и "зайо" и теперь обязательно нужен коммерческий опыт работы с ними чтобы устроиться на работу. Но это не точно. Игнорируй его.
310 1720828
Функциональное программирование вообще где используется?
311 1721132
>>720828
Не трать свое время на этот тред. Лучше вкатывайся в телеграмм каналы посвященные Scala - scala, scala jobs, ponv.
312 1721376
>>719604

>не могут даже в Akka


>заебала низкая производительность Akka ... баги ... сложность


> предложил перейти на Cats и ZIO


ты конечно не обижайся, но проблема в тебе. как akka, так и cats/zio прекрасно показали себя в проде. ты просто ниасилил даже разобраться в юзкейсе технологий и доках. вообщем рип братишка
313 1721407
314 1723009
>>713703
Да, крупные финансовые компании. Quant analytics и data science.
315 1723528
>>723009
Попустись! Какие тебе крупные финансовые компании, лол? Тебя максимум возьмут в какой-нибудь ВТБ или Сбербанк.
316 1725667
>>665014 (OP)
Дайте уже нормальную статью где объясняется как правильно залифтить монаду себе в очелло?!
317 1725724
>>725667
"Functors, Applicative Functors and Monads" на твоём любимом языке.
318 1726078
>>665014 (OP)
Нужны инсайды по желтому банку. Недавно в телеграмм канале челик сокрушался, что его хотели нанять пилить нескучный бекенд на spray/akka/slick для Олега. Как так выходит, что в вакансиях говорят про FP и котов с аппликативными функторами и теорию категорий, а на деле выходит пердолинг мертвого спрея и акка?
319 1726562
>>726078
Ты че, никогда не видел чтобы в одной компании два разных стека на разных проектах было?
320 1726751
>>723528
Братан, ты чо такой токсик? Меня не возьмут, но я не квант, я бекенд инженер. Суть в том, что на математике тоже можно рубить бабло.
321 1726821
>>726078

>Как так выходит, что в вакансиях говорят про FP и котов с аппликативными функторами и теорию категорий, а на деле выходит пердолинг мертвого спрея и акка?



Как и с любыми вакансиями - борьба с конкурсом путем усложнения проходного порога.
322 1726860
>>726821

>борьба с конкурсом


Они же не на Java нанимают или, прости господи, Javascript. Scala разработчиков на весь РФ не больше полутора тысяч. Из них дай бог только половина имеет коммерческий опыт работы.
323 1727767
>>665014 (OP)
Да как, черт возьми, вкатиться в тайплевел стек - https://twitter.com/ru_ostroumova/status/1273554798688768009
Как познать котов и котоэффекты? Как научиться различать, когда можно складывать числа через +, а когда нужно объявлять отдельный тайпкласс Summable для складывания типов?!
324 1730527
Подскажите, что кроме теории категорий (ну и книги по сабжу) нужно осилить чтоб вкатиться с дотнет мидла на эту вашу скалу
Хочу еще больше денег зарабатывать, так еще и сфлером илитарности
325 1730533
>>730527

Матан уровня матфакультета на уровне плешивого ботаника-доцента с нафталиновым свитером.
326 1730536
>>730533
Какая-то одна (<700 страниц) книга закроет основную потребность? Всю эту дрочь мне лень осваивать, да и в хуй она никому не уперлась, зачем троллить. Основная потребность в этом матане - прохождение собесов у таких же шизов, как я понимаю
327 1730553
>>730536

Какая то одна не закроет. Если приспичит отсеивать по-хардкору - пригласят настоящего профессора математики и ты будешь ему на собеседовании на кандидатскую разъяснять.
328 1730561
>>730553
Я не настолько умен чтоб к профессорам математики наниматься. Да и это не единственная работа на скале ведь. Если зайдет, то потом разберусь как следует
329 1730701
>>730527
Scala for the Impatient
Akka in Action

все
330 1732550
>>730701
С аккой с версией для дотнета так что примерно представляю
За вторую книгу спасибо, обязательно прочитаю
Дда и про акку, наверное, тоже стоит, но уже позднее
331 1732688
>>732550
Я бы на твоем месте сто раз подумал, перед тем как соваться в Scala. Работы на ней - хуй да нихуя. На весь РФ наберется 700 вакансий. 2/3 из них - это пердолинг биг-даты в десятки гигабайт сырых данных на спарке, а остальное это либо желаемый навык от кандидата, либо проекты уровня желтого банка, где борщехлебы выпросили у менеджмента поиграться в FP.
332 1732974
>>732688
Я не в РФ, если бы даже и жил, сваливать планирую все равно
Ну и это отчасти для души, достигаторства
333 1736084
>>665014 (OP)
Почему из каждого утюга вещают, что Акка - это тру выбор для разработки микросервисов и проектов на Скале? Посмотрел несколько презентаций, полистал книги/статьи и понял, что там толком ничего нет для разработки законченного приложения. В базу предлагают ходить через мертвый слик, авторизацию нужно самому пилить, акка-хттп - просто какой-то высер с его дсл.
334 1736095
>>736084
Просто у акки (и скалы в целом) мягко говоря другая область использования, в отличие от пхп/руби/итд, где можно взять готовый модуль авторизации и шлёпнуть формочку.
335 1736934
>>665014 (OP)
Вижу, что большинство вакансий требует знание Akka, где в основном требуют akka-http, streams, clustering. Есть какие-нибудь годные ресурсы, где хорошо объясняют эти модули и в целом Akka?
Может быть есть кулстори как аноны вкатывались в Scala?
336 1737045
>>665024
Братишка, помоги, что можно сделать для портфолио на скале?
Подскажи пару-тройку штук.
Моча выпилила тред про это, хоть тут спрошу. Углубился в play , поскольку на ебучем слоне уже много лет пишу, сайты близки по духу. Но именно для портфолио что б сделать?
С меня как обычно
337 1737103
>>737045
Тебе по стеку совет нужен или по продукту?
Если первое то смотри ОП-пост, если второе то я хз, решай сам что тебе ближе.
338 1737136
>>737103
Смотри, что можно запилить в портфолио , чтоб не стыдно показать? На пыхе к примеру в портфолио сайт естественно, плюсом эластик с редисом внедрённые , все это автодеплоится дженкинсом с битбакета того же. А что на скале можно написать , чтоб продемонстрировать ? На плей 2 собираю интернет магазин, а на скала + акка что можно? Нет идей нихуя, гугол предлагает рест фул сервис сделать и чаты/боты (что в первую очередь делают во всяких говношколах это не круто).
339 1737142
>>737136
Я тебе так скажу, у меня на гитхабе несколько проектов на Скале, которые мы реально использовали на моей прошлой работе.
Недавно я искал новую работу, так вот - всем похуй на гитхаб. Они его даже не смотрят.
340 1737185
>>737142
На опыт ток смотрят?
А что на собесах спрашивают кста ? У меня прям коммерческого опыта на скале не было, пробовал джуном пойти, писал что дохуя опыта коммерческой разработки в принципе (на пых, но стек большой) и я знаю что такое ооп и функциональное программирование, нахуй оно нужно, всякие шаблоны программирования и прочую поебистику знаю, но хочу перекатиться в скалу, желания дохуя, знания есть, могу сделать тестовое задание, похуй какое - один хуй отказывают, даже блять не звонят, просто тупа отказ.
Где я проебываюсь? Мне как раз показалось, что проекты помогут какие-никакие.
341 1737193
>>737185

> знаю что такое ооп


Про порядок инициализации трейтов можешь рассказать (не заглядывая в доку)?
Вариантность дженериков?
TypeTags/ClassTags и зачем они нужны?

> и функциональное программирование


За тайпклассы из cats пояснить сможешь?
Модель выполнения cats.effect.IO?
Как интегрировать императивный java-код с fs2, сохраняя backpressure и side-effects-free?
342 1737492
>>737193
Это не уровень джуна.
343 1738350
Scala library stack cheatsheet:
Top tier: typelevel libraries (http4s, cats/cats-effect, fs2), ZIO core;
Ok tier: twitter stack (finagle, finch, finatra);
Mid tier: lightbend/akka libs (http, streams, cluster/sharding);
Shit tier: izumi, tofu, другие высеры отечественных ФП-карго-культистов
344 1738359
>>738350

>Shit tier: izumi, tofu, другие высеры отечественных ФП-карго-культистов


Самое весёлое, что если ты не хочешь сидеть на шее у мамки и хлебать её борщик, то возьмёшь вилку и пойдёшь чистить с улыбочкой.
345 1738368
>>665144

>Пилить круды


>Java/Kotlin + Spring, Hibernate


Алё, дядя, как там в 2000-х? Linkin Park ещё слушаете?
346 1738636
>>738359
Ты, наверное, не в курсе, что все эти izumi и прочие tofu не более чем локальные поделки, которые либо вовсе нигде не используются (izumi), либо являются инициативой одного человека, который может затащить в проект любое дерьмо (tofu), т.к. является лидом.
347 1738637
>>738368
Просто рекомендую тебе посмотреть на сайт Spring - https://spring.io/
Разрабатывать приложения на Spring стало просто очень просто. Нужна аутентификация и авторизация пользователей - Spring Security. Доступ к базе данных - Spring Data. Доступ к очередям сообщений, кеширование, микросервисы, облака, батчинг данных и многое другое. Все это доступно в виде модулей, которые были оттестированы и используются в продакшене уже много лет. Для всего написана документация и чтобы подключить какой-нибудь модуль и начать его использовать тебе достаточно прочесть короткий гайд на 5 минут.
jtrac-callstack1.png176 Кб, 630x605
348 1738647
>>738637
Какая-то вода маркетологическая. Есть документация и модули оттестированы? Это как в объявлении вакансии писать "у нас в офисе бесплатный чай и кофе плюс белая зарплата"
349 1738649
>>738647
Мы же сравниваем с typelevel или lightbend стеками, верно? Так там и десятой части того, что предлагает Spring нет.
350 1738652
>>738350

>Top tier: typelevel libraries (http4s, cats/cats-effect, fs2), ZIO core;


Очень спорно. http4s очень молодая и не протестированная библиотека в которой регулярно находят критические уязвимости. Над проектом работает один ключевой разработчик, которого "купил" Verizon.
Функционала там - кот наплакал. Обыденные вещи, которые реализуются на Spring за час-другой могут вылиться в неделю ковыряния в библиотеке http4s.

cats/cats-effect - здесь все еще хуже. Скудная документация, отсутствует пояснение, зачем нужно писать тайпклассы и бороться с имплиситами для каких-то детских примеров на уровне сравнения объектов и т.д.
В целом плохо протестирована и код написанный на котах представляет из себя такую мешанину, что без пол литра не разберешься. Ну и невозможность дебага - отличительная черта cats и всех библиотек, которые на ней основаны или используют.

ZIO - невнятная копия cats от Де Гуза. Человек просто делает деньги - ничего личного. Библиотека забагована и постоянно ловит мемори лики. Если ознакомиться с планами Джона, то можно понять, что он пытается заместить typlevel/lightbend стеки своими поделиями. Смешно!

>Ok tier: twitter stack (finagle, finch, finatra);


Здесь без комментариев. Мертвый стек, которые нигде кроме как в Twitter не используется.

>Mid tier: lightbend/akka libs (http, streams, cluster/sharding);


Единственный стек, который превалирует на рынке Scala вакансий. Нет того пиздеца со сложностью освоения typelevel стека, не нужно ебаться с имплиситами и запоминать сотни тайпклассов для примитивных вещей. Нет всех этих монад и пандарических захватов анофарических лямбд через лифтинг монад.
На рынке достаточно примерно использования той же Akka для построения высоконагруженных проектов.

>Shit tier: izumi, tofu, другие высеры отечественных ФП-карго-культистов


Локальный мем. Проекты эти либо невнятные поделки ирландских бездельников, которые пытаются показать, что они софтварная контора, которая действительно внедряет свои разработки в продакшен, а не просто досиживают до получения паспорта. Тофу и прочие поделия - не более чем больная фантазия отмороженных лидов, которые решили поиграть в разработчиков OSS.
350 1738652
>>738350

>Top tier: typelevel libraries (http4s, cats/cats-effect, fs2), ZIO core;


Очень спорно. http4s очень молодая и не протестированная библиотека в которой регулярно находят критические уязвимости. Над проектом работает один ключевой разработчик, которого "купил" Verizon.
Функционала там - кот наплакал. Обыденные вещи, которые реализуются на Spring за час-другой могут вылиться в неделю ковыряния в библиотеке http4s.

cats/cats-effect - здесь все еще хуже. Скудная документация, отсутствует пояснение, зачем нужно писать тайпклассы и бороться с имплиситами для каких-то детских примеров на уровне сравнения объектов и т.д.
В целом плохо протестирована и код написанный на котах представляет из себя такую мешанину, что без пол литра не разберешься. Ну и невозможность дебага - отличительная черта cats и всех библиотек, которые на ней основаны или используют.

ZIO - невнятная копия cats от Де Гуза. Человек просто делает деньги - ничего личного. Библиотека забагована и постоянно ловит мемори лики. Если ознакомиться с планами Джона, то можно понять, что он пытается заместить typlevel/lightbend стеки своими поделиями. Смешно!

>Ok tier: twitter stack (finagle, finch, finatra);


Здесь без комментариев. Мертвый стек, которые нигде кроме как в Twitter не используется.

>Mid tier: lightbend/akka libs (http, streams, cluster/sharding);


Единственный стек, который превалирует на рынке Scala вакансий. Нет того пиздеца со сложностью освоения typelevel стека, не нужно ебаться с имплиситами и запоминать сотни тайпклассов для примитивных вещей. Нет всех этих монад и пандарических захватов анофарических лямбд через лифтинг монад.
На рынке достаточно примерно использования той же Akka для построения высоконагруженных проектов.

>Shit tier: izumi, tofu, другие высеры отечественных ФП-карго-культистов


Локальный мем. Проекты эти либо невнятные поделки ирландских бездельников, которые пытаются показать, что они софтварная контора, которая действительно внедряет свои разработки в продакшен, а не просто досиживают до получения паспорта. Тофу и прочие поделия - не более чем больная фантазия отмороженных лидов, которые решили поиграть в разработчиков OSS.
351 1738694
>>738652

> невнятные поделки ирландских бездельников, которые пытаются показать, что они софтварная контора, которая действительно внедряет свои разработки в продакшен, а не просто досиживают до получения паспорта


Забавно, это так же объясняет показушно-левацкие взгляды этого персонажа.
Можешь больше рассказать о нём и его конторе?
352 1738700
>>738636
Я в курсе о том, что тебя самый большой (и почти единственный) работодатель использующий скалу в РФ (если даже не во всём постсовке) может послать нахуй с твоими запросами.
353 1738702
>>738694
Какого именно персонажа? Их там два, если ты не в курсе. Никаких пруфов, что они внедрили свои поделки - нет. Периодически выступают с докладами, где полощут мозги неокрепшим скалистам, где рассказывают как сладко пишется на изюме и дистейдже скала код.
Тот же лайтбенд почему-то не стремается упомянуть своих клиентов, среди которых сплошь и рядом топовые конторы, которые у всех на слуху.
Или взять какие-нибудь компании, которые сами рассказывают истории успеха как тот же Epic Games с его Fortnite, где чуваки запилили какую-то ебу платформу для аналитики на Akka, которая пережевывает терабайты данных каждый день.
354 1738704
>>738700
Уже был челик в скала-чате, который сокрушался, что ему предложили пердолить скала код на лайтбенд стеке, а не на котах с тофу как об этом рассказывает Олег и прочие челики.
355 1738708
>>738704
А из моего спича следует, что на самый распространённый в мире скалы стек следует хуй положить? Я просто сказал что в наших реалиях и на стек олежи нельзя положить.
356 1738712
>>738700

>и почти единственный


Попустись! Сейчас на рынке полтора десятка компаний, которая ищет скалистов.
357 1738714
>>738708
В каком месте он самый распространенный? Пока среди скалистов лидирует lightbend стек, а именно Akka с ее http, стримами и кластером. За ним плетется тайплевел стек. А в самом конце всякие тофу и дистейджы с изуми, которые дай бог используются в одном желтом банке. За пределам РФ про них разве что только на презентациях слышали.
Я тебе могу скинуть презентацию челика, который выбросил Akka с проекта и притащил тайплевел стек вместе с ZIO, а общение между сервисами хуйнул через кафку. Можешь посмотреть на тотальный ахуй среди зрителей.
358 1738721
>>738708
Но в целом я с тобой согласен. Если ты пытаешься перейти на Scala живя при этом в РФ, то лучше этого не делать, т.к. есть неиллюзорный шанс остаться без работы.
359 1738725
>>738714

> в одном желтом банке


Какой из?
360 1738729
>>738725
Тиньк же. Оттуда тофу и пошел. Райф сидит на тайплевел стеке судя по вакансии. Но вангую, что там и Акки достаточно. Правда я хз, кто туда добровольно пойдет. Народ там мерзотный.
361 1738733
>>738729

> Народ там мерзотный


Есть кулстори?
362 1738739
>>738733
Зайди в скала/джава чат в телеге и поищи месседжы по слову райфайзен. Там пробегало пара челиков, которые костерили этот банк. Если коротко, то там на собеседовании такой анал-карнавал, что даже Яндекс бы позавидовал.
363 1738742
>>738739

> скала/джава чат в телеге


Не подскажешь конкретные каналы?
Вообще я заходил когда-то в разные русскоязычные чатики, но там опять же обсуждается тофу и прочее НИНУЖНО
364 1738748
>>738742
scala_ru, pro.jvm
365 1738750
>>738714

>Пока среди скалистов лидирует lightbend стек


Чел, прочитай сообщение на которое я ответил и попробуй всосать контекст. Я про лайтбенд и говорил, но есть ещё реалии локального рынка и знать придётся оба стека как минимум.
366 1738761
>>738750

>реалии локального рынка


Реалии локального рынка таковы, что тайплевел и тем более тофу с изюми составляет, в лучшем случае, процентов 10-15 от общего числа вакансий. Если мы говорим про изюм с тофу, то мы тогда вообще ограничиваемся одной компанией.
367 1738776
>>738761

> то мы тогда вообще ограничиваемся одной компанией


Которая составляет как минимум 70% рынка скалы в РФ.
Если уж так мыслить, есть ещё смысл посмотреть на 20% епамов/люксофтов/прочих торговцев телами, для которых по хорошему нужно знать вообще все возможные стеки. Сказать-то что хотел?
368 1738782
>>738776

>70% рынка скалы в РФ


Попустись. Тебе уже сказали, что твой Тиньк это никакой не монополист на рынке Scala. В РФ полтора десятка компаний, которые активно пишут на Scala и Тиньк пожалуй самая помойная из них.
15934173779880.png26 Кб, 300x187
369 1738793
>>738782

>Попустись.


Попустился, господи помилуй нахуй.

> В РФ полтора десятка компаний


Что за компании-то? Там хотя бы пара штук есть со сравнимой с ТБ вилкой?
370 1738813
>>738793

>со сравнимой с ТБ вилкой


Чет проиграл в голосину. Ты же в курсе, что приходящим с улице скалистам они предлагают меньше джавистов? Я не говорю про все загоны в этом банке.
371 1738819
>>738813
Можешь назвать конкретные цифры сколько они предлагают? И что за загоны инб4 нельзя обедать два раза, а то они периодически спамят мне своими вакансиями, а я игнорю.
372 1738822
>>738813
Какая мне разница-то? Я попросил названия компаний и вилки.
373 1738826
>>738822
Все вакансии доступны на HH. Многие имеют открытые вилки. На одном тиньке свет клином не сошелся.
374 1738833
>>738819
Последний раз было 100к за крепкого мидла с коммерческим опытом в акке. По загонам - на каждый пук нужна бумажка и одобрение безопасников, про обеды ты уже сам сказал.
375 1738943
>>738833
Мне их HR-очка сказала что уже можно обедать сколько хочется
376 1738953
>>738943

>HR-очка сказала


А мне HR-очка говорила, что вот именно в этой команде Яндекса не дрочат алгоритмами и не заставляют проходить 8 секций собеседований, которые растягиваются на полтора месяца. Если ты понимаешь о чем я.
377 1738963
>>738953
Яндекс.Горизонтали?
378 1738973
>>738963
йеп
379 1740221
>>738652
ну хз, мне доков по cats/cats-effect хватает.

http4s - здесь все грустно с доками и качеством либы. использую только в случае на сильной нагрузки, тк легко интегрировать с cats-based кодом.

От fs2 у меня пока только хорошие впечатления, по крайней мере после akka-streams. Опять же, использует cats/cats-effect и это очень хорошо.

В целом мне нравится движение к использованию cats/-effect, обычные Future уже давно устарели - код с IO производительнее и на порядок удобнее в комбинировании.

zio выглядит очень интересно, тк можно задать failure тип. + у них движуха в сторону многих новых либ. вот только проблема - пока они сделают лет 5+ пройдет. они даже не выкатили стабильную версию zio мотивирую тем, что активная разработка
380 1740227
>>740221

> http4s - здесь все грустно с доками и качеством либы


Что не так с качеством? Бери jetty вместо blaze, будет чётко.

> код с IO производительнее


Справедливости ради, в 2.13 сделали BatchingExecutor.

> zio выглядит очень интересно, тк можно задать failure тип


Вот только способа композить разные типы ошибок не завезли

> движуха в сторону многих новых либ


По большей части говно какое-то, особенно недавний ZLayer. Пиздец они там макросов нахуевертели. Де Гоуз сраный маркетолог, не слушайте его нахуй, используйте ZIO как сами считаете нужным
381 1740524
>>665014 (OP)
Вот вам хорошее напутствие как правильно вкатываться в Scala. Начните с пет-проектов или лучше всего, попытайтесь внедрить Scala в текущий проект на вашей работе. Так у вас будет появится призрачный шанс устроиться Scala-разработчиком. Если вы попытаетесь целенаправленно подготовиться к собеседованию и откликнитесь на вакансии, то вас ждет разочарование, т.к. компаний, которые ищут Scala разработчиков на несколько порядков меньше чем тех, кто ищут тех же джавистов. И собеседуют там обычно так, словно вы уже имеете продакшен опыт разработки. Зарплаты тоже очень невысокие и ваш предыдущий опыт, даже если он связан с Java, попросту не учитывается.
Так что просто пилите пет-проекты и спрашивайте по знакомым, может быть кому-нибудь нужен джун скалист.
382 1741282
>>740524

>попытайтесь внедрить Scala в текущий проект на вашей работе


охуеть совет. налепить говна, которое потом кто-то будет поддерживать. потому что без тиммейта с опытом скалы вхождение в скалу будет происходить больно и долго
383 1741315
>>741282
Просто попытайся перечитать, что я написал, хорошо? Никто не станет нанимать человека без коммерческого опыта в Scala. В большинстве вакансий про это не пишут, но я обошел более 20 компаний и везде мне толсто намекали на то, что у меня нет именно коммерческого опыта разработки в cats/akka/zio/etc.
На просьбу посмотреть пет-проекты мне отвечали отказом, а где-то даже поднимали на смех.
Я просто хочу предостеречь желающих перейти на новый стек и язык, т.к. иной раз может быть проще остаться на той же Java и получать свои 150к веслая обычным мидлом.
Даже если тебе каким-то чудом удастся перейти на Scala, тебя ждет разочарование, т.к. зарплата крепкого мидла с несколькими годами опыта - это максимум 100к. При этом ты будешь не круды на спринге лепить, а ковыряться в отборных помоях и ночами реветь в подушку из-за того, что у тебя просто напросто проект не компилируется.
Нужно просто задаться вопросом - а стоит ли оно всех усилий?
white-indian.jpg158 Кб, 768x785
384 1742160
>>741315

>а стоит ли оно всех усилий?


Стоит.

мимо-укатился-из-пахоматов-напиздев-про-коммерческий-опыт->>698671
385 1742246
>>742160

>напиздев-про-коммерческий-опыт


Вскроется на первых вопросах, которые тебе зададут на собеседовании. Т.к. ты не имеешь коммерческого опыта в Scala, то не можешь знать всевозможных тонкостей фреймворков и библиотек.
Даже если тебя каким-то образом возьмут на работу, то ты очень быстро вылетишь с испытательного срока, т.к. просто не будешь вывозить тот уровень задач, который тебе будут давать.
red-indian.jpg690 Кб, 1242x1000
386 1742318
>>742246
Ну я пятый год уже работаю, знания углубил ещё во время релокации. Просто ты придумываешь отмазки, чтобы оправдать свою лень и безынициативность :3

>не можешь знать всевозможных тонкостей фреймворков и библиотек.


Я тебе больше скажу, даже с коммерческим опытом ты можешь этого не знать. Благо мне досталась хорошая компания, где есть практика код ревью и коллеги открыты к критике и помощи друг-другу. Поэтому все упущенные тонкости вскрываются и исправляются на код ревью. И все остаются в плюсе :3
387 1742328
>>742318
Понятно.
388 1742329
>>742318
Буду тогда делать пет-проекты. Может кто-нибудь меня подберет хотя бы на позицию стажера.
389 1745272
>>742329
А скала может в хайлоад?
390 1745273
>>745272
ой, случайно ссылка на пост прикрепилась. Если что это вопрос к скало-йобам. Мне просто нужно немножечко хайлоада...
391 1745278
>>745273
Смотря что ты понимаешь под хайлоадом.
392 1745282
>>745278
Во-первых дохуя вычислений на сервере. Конечно можно на си написать, но зачем, если можно сразу на, например, скале.
Во-вторых - дохуя запросов на сервер. Очень дохуя. Хочу чтобы нипадало после сотни тысяч. Минимум.
393 1745283
>>745282
И животноводство!
394 1745284
>>745282
Глянь Akka. Там тебе и распределенные вычисления и сотни тысяч запросов.
395 1745292
>>745283
Ну и зачем ты в 40 лет сидишь на борде..

>>745284
А это бесплатно? А она не может быть хотя бы раза в два-три быстрее? А че она на жвм, она же медленная иногда, не?
396 1745294
>>745292
Бесплатно. Что значит быстрее? У тебя есть конкретные требования по нагрузке?
Вот тебе история успеха Epic Games с Fortnite - https://www.youtube.com/watch?time_continue=258&v=MCLrA401vHw&feature=emb_logo
Они реализовали систему аналитики на Akka.
397 1745296
>>745294

> Что значит быстрее? У тебя есть конкретные требования по нагрузке?


Ну я так чувствую.

> Они реализовали систему аналитики на Akka.


А мне нужно сервера игры сделать, в том числе с вебсокетами. Не пойдет, да?
398 1745299
>>745296
Для игровых серверов бери Netty или Vert.x. Второй более высокоуровневый и использует Netty под капотом.
399 1745300
>>745299
А нети на скале можно? Не люблю жабу. Еще бы от жвм отказаться вообще было бы класно. Но как понимаю замены акки+нетти+скале не найти, да?
400 1745301
>>745300
Для игрового сервера тебе Акка не нужна. Netty - джавовая библиотека, но ее можно использовать из Scala. Там довольно стройная модель построения пайплайна. У Vert.x вроде есть Scala API.
401 1745307
>>745300

>Еще бы от жвм отказаться вообще было бы класно


Ну тогда забей и бери какой-нибудь Erlang/Elixir или Go.
402 1745310
>>745301

> Для игрового сервера тебе Акка не нужна


Нужно чобы сервера чтобы между собой данные кидали, отправляли всё в базочки и масштабировались легко и сами по себе. Плюс быстрый переход между инстансами, которые поднимались за микросекунду, бесшовно и без протеканий. Акка как раз вроде, не?

> Netty - джавовая библиотека, но ее можно использовать из Scala. Там довольно стройная модель построения пайплайна.


Ну, как по мне главный плюс - оно охуеть какое быстрое.

>>745307

> Ну тогда забей и бери какой-нибудь Erlang/Elixir


Я не понимаю как это сделать сделать БЫСТРЕЕ. Оно медленное же пиздец, а я хочу весь бэкенд на одном языке написать исключая жс на v8

> или Go.


Бяка.
403 1745313
>>745310
У тебя слишком объемная задача. Такой проект ты вряд ли потянешь в одиночку. Можешь попробовать написать сетевую часть на Netty/Vert.x, а оркестрацию реализовать через Kubernetes. Но твое общение между игровыми серверами (я так понял, что ты хочешь что-то навроде бесшовного мира с точки зрения игрока), то вряд ли ты это в принципе потянешь. Я даже не уверен, что это где-то реализовано. Обычно предполагается некое лобби или игровая комната, в которую набивается фиксированное количество игроков.
В общем гугли Netty/Vert.x для сетевой части и можешь потыкать Akka для реализации оркестрации игровых серверов.
404 1745315
>>745310

>поднимались за микросекунду


Об этом можешь сразу забыть. Даже если ты скомпилируешь свое приложение GraalVM, то все равно получишь минимум миллисекунды на старте при таком размере приложения.
405 1745318
>>745310
Вот как я это вижу. Сетевая часть, которая реализует какую-то изолированную часть игрового мира реализована на Netty/Vert.x. Оркестрация таких игровых миров реализована через Akka/Akka-clustering. Переход между игровыми мирами происходит не мгновенно, а с задержкой, т.к. нужно отключиться от одного сервера/игрового мира и подключить игрока к другому серверу.
Ну это так, если очень высокоуровево.
406 1745333
>>745313

> Такой проект ты вряд ли потянешь в одиночку.


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

> Можешь попробовать написать сетевую часть на Netty/Vert.x, а оркестрацию реализовать через Kubernetes.


> В общем гугли Netty/Vert.x для сетевой части и можешь потыкать Akka для реализации оркестрации игровых серверов.


Вот последнее выглядит опенсорсно и хайлоад чувствуется.

>>745315

> GraalVM


> Enterprise Edition: Trialware


Страшна. А какие другие оче тонкие вм есть? JamVM как оно вообще?

>>745318
Ну в целом примерно так и подразумевалось.
Не уверен стоит ли использовать облако, тут уже зависит от кол-ва протечек и жирноты жабовм. Если осилю найти решение с достаточной потенциальной производительностью, то в принципе можно будет купить выделенные сервера по странам и делать роутинг на железе инстанс ту инстанс, чтобы пинга не было.

Меня что смущает, что кроме скалы и нетти по-сути выбрать не из чего, два дня уже гуглю. Может что-то не так делаю? Всё остальное либо медленное, либо с/с++ без непротечной асинхронности.
407 1745363
>>745333 Так я нипоня, а что это за скала-натив? Не очень понимаю, что это должно значить в случае с акка?
Понятно что через натив можно нахуярить быстрой логики и подключение сишных/крестовых либ, да таких чтобы не потекли уязвимости. Но. Есть еще какие-то плюшки, в том числе с акка, да?
408 1745473
>>745363
scala-native - супер сырая поделка, акка на ней работать не будет.
>>745318
Вообще если тебе нужно быстро обрабатывать игровой стейт в памяти, то возможно у тебя как раз один из немногих юз-кейсов для голых акторов. Не знаю зачем тебе смешивать нетти с аккой, это ничем хорошим не закончится - это две слишком сложные и разные технологии чтобы использовать их в одном проекте.
409 1747287
https://superruzafa.github.io/visual-scala-reference/ Scala теперь и в картинках
410 1747789
>>665014 (OP)
Лол, моча снова потерла сообщения.
411 1751333

>Scala сочетает объектно-ориентированное и функциональное программирование в одном выразительном, высокоуровневом языке.



javascript шоле?)
412 1751426
>>747789
Моча фанат сцалы и ему становится неприятно
413 1758302
>>665014 (OP)
Откуда в ру-сегменте Scala такая ненависть к Akka и прочим продуктам компании Lightbend? Читал очередной срач в телеграм-канале, где очень известные в узких кругах люди с пеной у рта доказывали, что Akka - это прямой путь к неподдерживаемому коду, сложности разработки и постоянным багам. Как контрпример приводили всякие тофу, дерево и прочие малознакомые библиотеки. Ну и было пару человек, которые говорили, что система акторов - это не более чем академическая поделка, которая хороша только на бумаге и в стенах университетов и все то, что можно написать на Akka, можно переписать на typelevel стек с котами, дубами и прочими эфэс2.
414 1758306
>>758302
Единственная адекватная предъява Акке за всё время - это когда они сделали её динамически типизированной, а тайпед акка была кривой сырой обёрткой над динамической дриснёй.

>не более чем академическая поделка, которая хороша только на бумаге и в стенах университетов


Тех кто так говорит можешь смело слать нахуй.

>можно переписать на typelevel стек с котами, дубами и прочими эфэс2.


А можно вообще на ассемблер. Вопрос не в можно/нельзя ведь.
415 1758325
>>758306
Там были аргументы в духе - "без понимания всех акторов и их сообщений ты не поймешь как работает один актор, т.к. они все взаимосвязаны" и "актор хранит некий стейт, когда как cats и прочие библиотеки typelevel позволяют описать ту же логику только в рамках чистых функций и их комбинаций".
416 1758330
>>758325

>без понимания всех акторов и их сообщений ты не поймешь как работает один актор, т.к. они все взаимосвязаны


Актор как раз ничего не должен знать о системе, и его поведение определяется множеством сообщений которые он принимает, отсылает и типом его стейта.
417 1758336
>>758330
Так вот там так и говорили, что актор он же принимает какие-то сообщения (здесь все прозрачно), а так же отсылает. А для того, чтобы отослать эти сообщения нужно иметь actorref на актор, которые эти сообщения принимает. Получается связанность между акторами.
418 1758352
>>758336
Ну так реф может приходить вместе со всходящим сообщением, или его можно получить через режистри.

Связанность неизбежна конечно, но она сама по себе не является проблемой.
419 1758353
>>758352
Обычно так не делают и либо передают реф через конструктор, либо создают актор внутри другого актора.
А копаться через реджистри или не дай бог передавать реф через сообщение - считается моветоном.
Ну и Дегоуз, когда презентовал ZIO на одной из конференций сильно критиковал модель акторов и акку в частности, приводя схожие аргументы, что мол без понимания взаимосвязи всех акторов в системе ты не можешь полностью осознать как функционирует один конкретный актор.
Была еще презентация, где приводились примеры со сложностью отладки, разработки и производительностью акки. Там команда попросту выбросила код на акке и переписала все на котах и зио, а общение между сервисами реализовала через кафку.
420 1758401
>>758353

>Обычно так не делают и либо передают реф через конструктор, либо создают актор внутри другого актора.


Смотря насколько поздний уровень связывания нужен.
А при синхронных запросах к актору хранить реф для ответа вообще не имеет смысла.

>А копаться через реджистри или не дай бог передавать реф через сообщение - считается моветоном.


Это странно. Например, в других языках с акторами это считается нормальным. Есть на то какая-то причина? Если что модель акторов это никак не ограничивает. Акторы это ведь про супер позднее связывание смолток-стайл, что вообще удобно для систем с нефиксированной топологией и всяких распределённых сред, хотя ничего не мешает эмулировать через них что-то фиксированное, вроде синхронных каналов (CSP выводима из модели акторов).

> мол без понимания взаимосвязи всех акторов в системе ты не можешь полностью осознать как функционирует один конкретный актор.


Актор это блекбокс, который вообще не знает ничего об окружающем мире. На счёт связанности не понял в чём проблема, очевидно одни сущности должны знать про другие и не знать про остальные. Как ты это будешь разруливать, передавая реф в конструкторе, через реджистри, по глобальному имени или в рантайме через сообщение - зависит от решаемой задачи.
421 1758566
>>758401
Вот здесь чувак обсуждает недостатки Akka на реальном проекте - https://youtu.be/_sIOwQdQPIQ?t=509

Вопрос касательно масштабирования Akka - https://youtu.be/_sIOwQdQPIQ?t=1648

>Это странно. Например, в других языках с акторами это считается нормальным. Есть на то какая-то причина?


Ну, наверное потому, что это не типобезопасно. Ведь когда ты лезешь через реджистри то ты используешь текстовое имя актора.

>Актор это блекбокс, который вообще не знает ничего об окружающем мире


Это с точки зрения пользователя Актор - это блекбокс у которого есть набор некоторых сообщений, которые он принимает и посылает вызывающей стороне. А если ты посмотришь внутрь актора, то увидишь, что он так или иначе связан с другим актором или акторами и зависит от их сообщений.

>На счёт связанности не понял в чём проблема, очевидно одни сущности должны знать про другие и не знать про остальные


В случае котов ты получаешь чистые функции, которые оперируют над какими-то общеизвестными типами данных и ничего не знают о других функциях (либо эта связь невелика). А потом ты эти функции комбинируешь и используешь zio или cats-effect для многопоточности.
422 1768642
>>665014 (OP)
Напутствие всем желающим перейти на Scala - https://twitter.com/vkozulya/status/1290756248569339906
Выбирая Scala вы многократно уменьшаете количество доступных вам вакансий, а также обрекаете себя на нечеловеческие страдания, связанные со сложностью языка и отсутствием внятной поддержки со стороны IDE. Про библиотеки и фреймворки я вообще молчу. Не надейтесь найти хотя бы что-нибудь приближенное по качеству из мира Java. Все что вам остается - это разгребать невнятные помои на имплиситах или пытаться сравнить числа через тайпклассы.
Если не верите, то можете открыть hh.ru и посмотреть сколько вакансий на Scala есть в СНГ и сколько их на Java. Хинт - на Scala не более 600 вакансий, 3/4 из которых - это пердолинг спарка и "биг-даты" на 10 гигабайт.
423 1768704
>>768642
Тебе за распространение этой дезинформации хоть платят?
425 1768777
>>768724

> NOT Spark



Чем тебе Spark не угодил?
426 1768821
>>768777
Тем, что Scala там используется исключительно как DSL к Apache Spark. Настоящей бекенд разработки ровно на 298 вакансий по всему СНГ.
427 1769452
>>768821
А разрабов так вообще раз в 50 меньше чем жаваскриптеров, и че?
428 1769548
>>769452
И спроса с них, разумеется, в 50 раз выше чем с рядового джависта. По итогу имеем 300 вакансий по всему СНГ, зарплаты на уровне крепкого мидла - начинающего сениора Java и при этом непомерные требования от компании. Отличная идея получить job security, лол. Вылетишь с такой работы и потом хуй найдешь новую.
429 1769848
>>769548

> зарплаты на уровне крепкого мидла - начинающего сениора Java


Но в Scala обычно и вкатываются околосеньёры из BigData?

Сейчас C# Senior, смотрю в сторону Scala middle вакансий - по з.п. как правило сильно интереснее.

>>768777

> Тем, что Scala там используется исключительно как DSL к Apache Spark.



Да, DS достаточно использовать Scala как DSL - он просто напишет spark.sql(""" свою хуету """)

Что касается разработчика, который обеспечит для DS данные в HDFS - будет обычный бэкэнд с пердолингом всяких плагинов для сбора и аггрегации данных

Просто не надо смотреть ваканси DS и аналитиков
430 1769849
>>769548
Схерали? Как раз с вебмакаки спроса больше из-за конкуренции со стороны рабочих, а не работадателей.
431 1770057
>>769848

>Но в Scala обычно и вкатываются околосеньёры из BigData?


Еще раз BigData и Apache Spark связан со Scala как программирование на Java под JSF. Обычной бекенд разработки в привычном ее понимании на Scala всего 298 вакансий на весь СНГ.

>Что касается разработчика, который обеспечит для DS данные в HDFS - будет обычный бэкэнд с пердолингом всяких плагинов для сбора и аггрегации данных



Ты просто не разбираешься в теме. Открой хотя бы hh.ru и посмотри чем занимаются Scala разработчики.
432 1770064
>>769849

>вебмакаки


>спроса больше из-за конкуренции со стороны рабочих


Тебе 10 лет? Ты хотя бы представляешь как работает спрос и предложение? Java является одним из самых популярных языков для разработки бекенда. Я уже приводил пример количества вакансий для джава разработчиков - их больше 4к на одно только СНГ, когда чистых бекенд вакансий на Scala - 298. Компаниям нужны Java разработчики и они конкурируют между собой, предлагая лучшие условия.
Ты еще не забывай, что для Java есть градация по уровням - junior,middle,senior. На Scala есть разве что только крепкий middle и senior с 5 годами промышленной разработки. Именно из-за этого у какого-нибудь джависта срывает крышу и он думает, что он сходу будет получать 200к.
Просто открой тот же scala_jobs и посмотри зарплатные вилки и требования. Джуниоры не нужны, а требования и зарплаты там такие, что проще остаться на той же Java и писать нескучные бекенды на Spring/Hibernate за 150-180к будучи мидлом. Сеньорские зарплаты джава-разработчиков ты можешь посмотреть в hh.ru. Крепкий сеньор в Москве может получать 240-280к на руки.
433 1770073

>нескучные бекенды


>на Spring/Hibernate


/0
434 1770114
>>770073
По крайней мере это не требует тех ментальных затрат как какой-нибудь cats-effects или monix с zio, чтобы написать тот же самый сервис, только в FP стиле. Платят ровно столько же, сколько предлагают скалисту, а то и больше, если мы говорим о сеньорах. Еще не забывай, что однажды устроившись на работу Scala разработчиком, ты вряд ли сможешь сменить компанию. В Java это делается на раз-два с прибавкой к зарплате минимум 20%.
435 1770134
>>770114

>не требует ментальных затрат


Раньше это называлось словом "неосиляторство".
Для жатника это конечно пункт номер один, чтоб осиливать ничего не нужно было.

Вообще, ящитаю, что ты демагог, потому что вместо сравнения свойств самих языков ты оцениваешь какие-то побочные характеристики, вроде вакансий, зарплат и прочей хуиты, слабо относящейся к делу.
По факту джява - это кобол, на котором просто противно писать, а скала позволяет выражать мысли куда более ясно, делая при этом меньше ошибок, а поэтому лучше подходит для энтерпрайза. Попробуй лучше развернуть свою защиту джавы в этом ключе, не прибегая к маркетинговой агитации про зарплаты, вакансии и кто там на что переходит.
436 1770662
>>770134

>По факту джява - это кобол, на котором просто противно писать, а скала позволяет выражать мысли куда более ясно, делая при этом меньше ошибок


Может быть и так, но скала - очередной жвм высер, который с трудом нашел себе очень узкую нишу.

>а поэтому лучше подходит для энтерпрайза


Возможно, но все пишут на джаве. И будут писать, потому что джава в последние годы начала хорошо развиваться + вокруг джавы очень хорошая экосистема и инструменты разработки.
437 1770959
>>770134
Твои аргументы не имеют под собой абсолютно никакой аргументации и тем более нет никаких оснований полагать, что Scala пригодна для широкого использования в энтерпрайзе.

>побочные характеристики, вроде вакансий, зарплат и прочей хуиты, слабо относящейся к делу.


Как раз подобные характеристики не являются побочным, а что ни на есть - определяющими. По этим критериям ты можешь лично убедится в том, на сколько та или иная технология широко используется в промышленной разработке. В случае Java мы имеем тысячи вакансий.

Просто признай, что Scala, за свой более чем 10-летний путь так и не сыскала популярности в этерпрайзе. Ты можешь сказать, что какой-нибудь тинек или райф ее использует, но на деле там лишь малая часть написана на этих языках и в целом, инициатива исходила от разработчиков, некоторые из которых теперь отчаянно гоняют студентов в своей школе, чтобы хоть как-то нанять новых разработчиков себе в команду.

Поддержка IDE по сравнению с Java просто никакая. Падать с эксепшенами и краснить код - обычное дело, если ты пишешь что-нибудь сложнее хелоу ворлд. Про жор памяти и тупняки IDE я и вовсе молчу. Стоит тебе открыть хоть сколько-нибудь объемный проект, как IDEA встает раком, а ты начинаешь проклинать Сугака.

Билд тулы тоже в заднице. SBT, который когда-то назывался Simple Build Tool, теперь называется Scala Build Tool, а все кто с ним работал плачут горькими слезами.

Мистер Обербски так и не понял своих ошибок и решил в Dotty (Scala 3) полностью переписать язык и сделать его похожим на смесь питона и руби. Если мы берем во внимание, что Jetbrains понадобилось более 10 лет, чтобы кое-как написать неработающий плагин для Scala, то с выходом Dotty все труды будут пущены коту под хвост и все начнется с начала.

Какие-нибудь выдающиеся библиотеки и фреймворки? Снова мимо! Разве что только Akka выделяется. Хотя Akka является нелепой попыткой натянуть модель акторов поверх JVM. Получилось, мягко сказать, так себе.
Остальные библиотеки не вызывают какого-то восторга.

Что касается работы и проектов, то тут снова все очень тухло. 3/4 все вакансий занимает скучный пердолинг в апачи спарк, где Scala используется как DSL.
Остальная вакансии это те же этерпрайз проекты, которые пилятся на Java, только вместо привычных Spring/Hibernate ты используешь какую-нибудь Akka или http4s/cats/doobie. Только вот незадача - то, что ты делал на Spring/Hibernate за условный час, ты будешь делать несколько дней, а то и недель через http4s/cats/doobie.
Привычного IoC нет, ORM тоже нет - есть только нелепая попытка запилить библиотеку для доступа к базе, где ты ручками пердолишь все запросы и рулишь транзакциями.

Я лично знаю несколько крупных проектов, которые сначала стартовали на Akka, затем поняли, что попросту обосрались, когда выяснили на сколько сложнее пердолить REST-сервисы на akka-http и ходить в базу. Потом перешли на http4s/cats/doobie, но и тут пососали хуяку, когда обнаружили на сколько медленее пишется код по сравнению со Spring/Hibernate, где за тебя все делает Spring и из коробки предоставляет все - начиная от доступа к данным (Spring Data), заканчивая кэшированием, безопасностью, REST-сервисами и интеграциями со всевозможными Kafka/RabbitMQ и прочими сервисами AWS/GCP. Все это протестировано и активно используется в крупнейших фирмах из FAANG десятками тысяч разработчиков ежедневно.
Стоит ли говорить, что какой-нибудь upsert, который в Hibernate и Spring Data был реализован в бородатые года и доступен в виде одного метода, нужно вручную написать для того же doobie.

Единственные киллер фичи Scala - это Akka и Apache Spark.
Сам язык при этом не предоставляет каких-либо преимуществ по сравнению с Java. Кейс класс уже реализованы в виде рекордов. Паттерн матчинг на поверку оказался тормозным говном. Неизменяемые структуры данных попросто отсосали у JCL, т.к жрут память и имеют значительно более высокую алгоритмическую сложность на типичные операции.
Имплиситы так и вообще будут выпиливать в Scala 3, т.к. от них одни проблемы и код превращается в магическую лапшу.

Если тебе так охото поиграться с HKT и в принципе интересна работа над типами, то для этого есть Haskell, Coq и сотоварищи.

Scala мертва, к сожалению.
437 1770959
>>770134
Твои аргументы не имеют под собой абсолютно никакой аргументации и тем более нет никаких оснований полагать, что Scala пригодна для широкого использования в энтерпрайзе.

>побочные характеристики, вроде вакансий, зарплат и прочей хуиты, слабо относящейся к делу.


Как раз подобные характеристики не являются побочным, а что ни на есть - определяющими. По этим критериям ты можешь лично убедится в том, на сколько та или иная технология широко используется в промышленной разработке. В случае Java мы имеем тысячи вакансий.

Просто признай, что Scala, за свой более чем 10-летний путь так и не сыскала популярности в этерпрайзе. Ты можешь сказать, что какой-нибудь тинек или райф ее использует, но на деле там лишь малая часть написана на этих языках и в целом, инициатива исходила от разработчиков, некоторые из которых теперь отчаянно гоняют студентов в своей школе, чтобы хоть как-то нанять новых разработчиков себе в команду.

Поддержка IDE по сравнению с Java просто никакая. Падать с эксепшенами и краснить код - обычное дело, если ты пишешь что-нибудь сложнее хелоу ворлд. Про жор памяти и тупняки IDE я и вовсе молчу. Стоит тебе открыть хоть сколько-нибудь объемный проект, как IDEA встает раком, а ты начинаешь проклинать Сугака.

Билд тулы тоже в заднице. SBT, который когда-то назывался Simple Build Tool, теперь называется Scala Build Tool, а все кто с ним работал плачут горькими слезами.

Мистер Обербски так и не понял своих ошибок и решил в Dotty (Scala 3) полностью переписать язык и сделать его похожим на смесь питона и руби. Если мы берем во внимание, что Jetbrains понадобилось более 10 лет, чтобы кое-как написать неработающий плагин для Scala, то с выходом Dotty все труды будут пущены коту под хвост и все начнется с начала.

Какие-нибудь выдающиеся библиотеки и фреймворки? Снова мимо! Разве что только Akka выделяется. Хотя Akka является нелепой попыткой натянуть модель акторов поверх JVM. Получилось, мягко сказать, так себе.
Остальные библиотеки не вызывают какого-то восторга.

Что касается работы и проектов, то тут снова все очень тухло. 3/4 все вакансий занимает скучный пердолинг в апачи спарк, где Scala используется как DSL.
Остальная вакансии это те же этерпрайз проекты, которые пилятся на Java, только вместо привычных Spring/Hibernate ты используешь какую-нибудь Akka или http4s/cats/doobie. Только вот незадача - то, что ты делал на Spring/Hibernate за условный час, ты будешь делать несколько дней, а то и недель через http4s/cats/doobie.
Привычного IoC нет, ORM тоже нет - есть только нелепая попытка запилить библиотеку для доступа к базе, где ты ручками пердолишь все запросы и рулишь транзакциями.

Я лично знаю несколько крупных проектов, которые сначала стартовали на Akka, затем поняли, что попросту обосрались, когда выяснили на сколько сложнее пердолить REST-сервисы на akka-http и ходить в базу. Потом перешли на http4s/cats/doobie, но и тут пососали хуяку, когда обнаружили на сколько медленее пишется код по сравнению со Spring/Hibernate, где за тебя все делает Spring и из коробки предоставляет все - начиная от доступа к данным (Spring Data), заканчивая кэшированием, безопасностью, REST-сервисами и интеграциями со всевозможными Kafka/RabbitMQ и прочими сервисами AWS/GCP. Все это протестировано и активно используется в крупнейших фирмах из FAANG десятками тысяч разработчиков ежедневно.
Стоит ли говорить, что какой-нибудь upsert, который в Hibernate и Spring Data был реализован в бородатые года и доступен в виде одного метода, нужно вручную написать для того же doobie.

Единственные киллер фичи Scala - это Akka и Apache Spark.
Сам язык при этом не предоставляет каких-либо преимуществ по сравнению с Java. Кейс класс уже реализованы в виде рекордов. Паттерн матчинг на поверку оказался тормозным говном. Неизменяемые структуры данных попросто отсосали у JCL, т.к жрут память и имеют значительно более высокую алгоритмическую сложность на типичные операции.
Имплиситы так и вообще будут выпиливать в Scala 3, т.к. от них одни проблемы и код превращается в магическую лапшу.

Если тебе так охото поиграться с HKT и в принципе интересна работа над типами, то для этого есть Haskell, Coq и сотоварищи.

Scala мертва, к сожалению.
438 1771336
>>770959

>По этим критериям ты можешь лично убедится в том, на сколько та или иная технология широко используется в промышленной разработке


Верно. Важно ли это? Для меня нет - работы и так хватает, рекрутеры регулярно пишут.

>за свой более чем 10-летний путь так и не сыскала популярности в этерпрайзе.


Давай точнее - она не стала самым популярным языком в энтерпрайзе.

>но на деле там


На деле там следуют твои домыслы. Также очевидно что в больших компаниях могут использоваться разные технологии.

>Поддержка IDE по сравнению с Java просто никакая


Практически не писал на Джаве, но сейчас поддержка скалы в IDEA хорошая, тобой описанных страшилок не наблюдается.

>Билд тулы тоже в заднице. SBT


Да вагон билд тулов есть. У меня лично нет проблем с SBT, но вот сейчас мавен используем и довольны. Знаю людей которые используют pants/bazel, из нового Mill есть - говорят годно, но я не пробовал.

> с выходом Dotty все труды будут пущены коту под хвост и все начнется с начала.


Вообще-то они уже поддерживают дотти, изменения которые далают скалу похожей на питон чисто синтаксические.

>Какие-нибудь выдающиеся библиотеки и фреймворки?


Как раз библиотеки - сильная сторона скалы. Мы тут недавно искали либу под jvm для стриминга и интеграции с кафкой, так ни в одном языке ничего лучше akka-streaming + alpakka не нашли. Quill реально вызывает восторг, circe - лучшее что есть для работы с джейсоном, ну и вообще почти любая достаточно поддерживается либа намного эргономичнее аналогов которые я видел (в основном в джаве и шарпе).

>скучный пердолинг в апачи спарк


Что ты знаешь про спарк, сынок?

>то, что ты делал на Spring/Hibernate за условный час, ...


1) Я сделаю быстрее на либах для скалы просто потому что у меня больше опыта работы с ними.
2) Думаю есть проекты которые объективно быстрее сделать на Spring (может какие-то простые круды, не уверен), но они очень простые, сделать их можно достаточно быстро на чем угодно.
3) В реальности нетривиальные проекты на спринге достаточно запутаны из-за сложного взаимодействия аннотаций, джавового боилерплейта и рефлексии.

>Привычного IoC нет


Привычка - так себе аргумент.

>ORM тоже нет - есть только нелепая попытка запилить библиотеку для доступа к базе, где ты ручками пердолишь все запросы и рулишь транзакциями.


Снова эту хуйню кто-то защищает. ORM хорошо работает в тривиальных случаях, потом следует жидкий обсер. Опять же, простые запросы делаются одинаково просто на любой достаточно развитой либе для доступа к БД, а их в скале штук пять наверное.

>Паттерн матчинг на поверку оказался тормозным говном.


Первый раз слышу, никогда за 6 лет он не был боттлнеком.

>Неизменяемые структуры данных попросто отсосали у JCL, т.к жрут память и имеют значительно более высокую алгоритмическую сложность на типичные операции


Что не имеет значения для 99.9% кода, а в большинстве оставшихся случаев мутабельных коллекций вполне достаточно.

>Сам язык при этом не предоставляет каких-либо преимуществ по сравнению с Java.


Преимущества следующие - паттерн матчинг, акцент на иммутабельности, тайпклассы, макросы и множество более мелких вещей которые существенно уменьшают размер кода.
Из основных преимуществ следует намного более высокое качество библиотек.

>Имплиситы так и вообще будут выпиливать в Scala 3, т.к. от них одни проблемы и код превращается в магическую лапшу.


Не так - вместо импилиситов хотят дать инструменты, которые будут покрывать все их полезные юз-кейсы, и при этом быть более понятными новичкам.

>Scala мертва, к сожалению.


К сожалению, ты выбираешь тулы которые оптимизированы для тривиальных случаев и делают сложные приложения плохо поддерживаемыми.
К сожалению, ты пиздишь о том, о чем не знаешь.
К сожалению, тебя тут читают другие люди и могут поверить, хотя бы отчасти.
К сожалению, поэтому я должен потратить время на этот пост и макнуть тебя в твое же дерьмо, долбоеб.
К счастью, это доставило мне удовольствие.
438 1771336
>>770959

>По этим критериям ты можешь лично убедится в том, на сколько та или иная технология широко используется в промышленной разработке


Верно. Важно ли это? Для меня нет - работы и так хватает, рекрутеры регулярно пишут.

>за свой более чем 10-летний путь так и не сыскала популярности в этерпрайзе.


Давай точнее - она не стала самым популярным языком в энтерпрайзе.

>но на деле там


На деле там следуют твои домыслы. Также очевидно что в больших компаниях могут использоваться разные технологии.

>Поддержка IDE по сравнению с Java просто никакая


Практически не писал на Джаве, но сейчас поддержка скалы в IDEA хорошая, тобой описанных страшилок не наблюдается.

>Билд тулы тоже в заднице. SBT


Да вагон билд тулов есть. У меня лично нет проблем с SBT, но вот сейчас мавен используем и довольны. Знаю людей которые используют pants/bazel, из нового Mill есть - говорят годно, но я не пробовал.

> с выходом Dotty все труды будут пущены коту под хвост и все начнется с начала.


Вообще-то они уже поддерживают дотти, изменения которые далают скалу похожей на питон чисто синтаксические.

>Какие-нибудь выдающиеся библиотеки и фреймворки?


Как раз библиотеки - сильная сторона скалы. Мы тут недавно искали либу под jvm для стриминга и интеграции с кафкой, так ни в одном языке ничего лучше akka-streaming + alpakka не нашли. Quill реально вызывает восторг, circe - лучшее что есть для работы с джейсоном, ну и вообще почти любая достаточно поддерживается либа намного эргономичнее аналогов которые я видел (в основном в джаве и шарпе).

>скучный пердолинг в апачи спарк


Что ты знаешь про спарк, сынок?

>то, что ты делал на Spring/Hibernate за условный час, ...


1) Я сделаю быстрее на либах для скалы просто потому что у меня больше опыта работы с ними.
2) Думаю есть проекты которые объективно быстрее сделать на Spring (может какие-то простые круды, не уверен), но они очень простые, сделать их можно достаточно быстро на чем угодно.
3) В реальности нетривиальные проекты на спринге достаточно запутаны из-за сложного взаимодействия аннотаций, джавового боилерплейта и рефлексии.

>Привычного IoC нет


Привычка - так себе аргумент.

>ORM тоже нет - есть только нелепая попытка запилить библиотеку для доступа к базе, где ты ручками пердолишь все запросы и рулишь транзакциями.


Снова эту хуйню кто-то защищает. ORM хорошо работает в тривиальных случаях, потом следует жидкий обсер. Опять же, простые запросы делаются одинаково просто на любой достаточно развитой либе для доступа к БД, а их в скале штук пять наверное.

>Паттерн матчинг на поверку оказался тормозным говном.


Первый раз слышу, никогда за 6 лет он не был боттлнеком.

>Неизменяемые структуры данных попросто отсосали у JCL, т.к жрут память и имеют значительно более высокую алгоритмическую сложность на типичные операции


Что не имеет значения для 99.9% кода, а в большинстве оставшихся случаев мутабельных коллекций вполне достаточно.

>Сам язык при этом не предоставляет каких-либо преимуществ по сравнению с Java.


Преимущества следующие - паттерн матчинг, акцент на иммутабельности, тайпклассы, макросы и множество более мелких вещей которые существенно уменьшают размер кода.
Из основных преимуществ следует намного более высокое качество библиотек.

>Имплиситы так и вообще будут выпиливать в Scala 3, т.к. от них одни проблемы и код превращается в магическую лапшу.


Не так - вместо импилиситов хотят дать инструменты, которые будут покрывать все их полезные юз-кейсы, и при этом быть более понятными новичкам.

>Scala мертва, к сожалению.


К сожалению, ты выбираешь тулы которые оптимизированы для тривиальных случаев и делают сложные приложения плохо поддерживаемыми.
К сожалению, ты пиздишь о том, о чем не знаешь.
К сожалению, тебя тут читают другие люди и могут поверить, хотя бы отчасти.
К сожалению, поэтому я должен потратить время на этот пост и макнуть тебя в твое же дерьмо, долбоеб.
К счастью, это доставило мне удовольствие.
439 1771649
>>771336

>Да вагон билд тулов есть.


Они все дерьмовые.

>Вообще-то они уже поддерживают дотти


Ну как поддерживают - пытаются усидеть на двух стульях. Они никак не могут сделать так, чтобы IDEA перестала краснить скала код, забивая на баги годами, но при этом пердолят поддержку дотти.

>Мы тут недавно искали либу под jvm для стриминга и интеграции с кафкой, так ни в одном языке ничего лучше akka-streaming + alpakka не нашли.


Попустись! В Spring годами поддерживал стриминг из кафки. И он, в отличии от той же акки - протестирован и отлажен крупнейшими проектами во всем мире. Ну и так, на заметку, акка - это не настоящая скала.

>Quill реально вызывает восторг


По сравнению с чем? С хибернейтом? Ну если тебе нравится ручками пердолить запросы в базу, то да, наверное это крутая библиотека. А когда тебе нужно решать задачи бизнеса, то хибернейт - это лучшее, что есть в индустрии. Сгенерировать классы по схеме базы данных и предоставить высокоуровневый и типобезопасный API, который из коробки дает кэширование и рулежку транзакциями - это только в хибернейте.

> circe - лучшее что есть для работы с джейсоном


Сесре - ничто по сравнению с джексоном или гсоном. Твое поделие от кающегося соевого куколда даже не имеет сотой части функционала, что предоставляют jackson или gson. Про производительность я вообще молчу. Твой circe просто отсасывает у джава либ.

>Что ты знаешь про спарк, сынок?


А чего ты себе анус начал рвать, старина? Спарк - это не скала и не бекенд разработка. Спарк нужен только аналитикам и прочим SQL-программистам.

>Думаю есть проекты которые объективно быстрее сделать на Spring


Любые бекенды проще и быстрее делать на Spring, т.к Spring - это отточенный годами фреймворк, который позволяет тебе в считанные минут собрать готовый каркас приложения. Попробуй написать крупное приложение без IoC - посмотрим как ты будешь руками все объекты создавать и проставлять зависимости. Собственно количество вакансий и проекты показали, что именно Spring является доминирующей технологией на рынке бекенд разработки.

>ORM хорошо работает в тривиальных случаях


ORM одинаково хорошо работает во всех случаях. Для тривиальных CRUD тебе автоматически будут созданы нужные методы, с помощью которых ты можешь модифицировать записи в базе. Если нужны хитрые запросы, то тебе доступен HQL, который позволяет типобезопасно выбрать нужные данные. Нужен голый SQL - ожалуйста. Это я еще не говорю о таких вещах как связи между сущностями, ленивые записи, которые поттягиваются только при обращении к полям и всякоке кеширование, которое ускоряет работу приложения. Ничего такого в Scala-мире даже близко нет.
439 1771649
>>771336

>Да вагон билд тулов есть.


Они все дерьмовые.

>Вообще-то они уже поддерживают дотти


Ну как поддерживают - пытаются усидеть на двух стульях. Они никак не могут сделать так, чтобы IDEA перестала краснить скала код, забивая на баги годами, но при этом пердолят поддержку дотти.

>Мы тут недавно искали либу под jvm для стриминга и интеграции с кафкой, так ни в одном языке ничего лучше akka-streaming + alpakka не нашли.


Попустись! В Spring годами поддерживал стриминг из кафки. И он, в отличии от той же акки - протестирован и отлажен крупнейшими проектами во всем мире. Ну и так, на заметку, акка - это не настоящая скала.

>Quill реально вызывает восторг


По сравнению с чем? С хибернейтом? Ну если тебе нравится ручками пердолить запросы в базу, то да, наверное это крутая библиотека. А когда тебе нужно решать задачи бизнеса, то хибернейт - это лучшее, что есть в индустрии. Сгенерировать классы по схеме базы данных и предоставить высокоуровневый и типобезопасный API, который из коробки дает кэширование и рулежку транзакциями - это только в хибернейте.

> circe - лучшее что есть для работы с джейсоном


Сесре - ничто по сравнению с джексоном или гсоном. Твое поделие от кающегося соевого куколда даже не имеет сотой части функционала, что предоставляют jackson или gson. Про производительность я вообще молчу. Твой circe просто отсасывает у джава либ.

>Что ты знаешь про спарк, сынок?


А чего ты себе анус начал рвать, старина? Спарк - это не скала и не бекенд разработка. Спарк нужен только аналитикам и прочим SQL-программистам.

>Думаю есть проекты которые объективно быстрее сделать на Spring


Любые бекенды проще и быстрее делать на Spring, т.к Spring - это отточенный годами фреймворк, который позволяет тебе в считанные минут собрать готовый каркас приложения. Попробуй написать крупное приложение без IoC - посмотрим как ты будешь руками все объекты создавать и проставлять зависимости. Собственно количество вакансий и проекты показали, что именно Spring является доминирующей технологией на рынке бекенд разработки.

>ORM хорошо работает в тривиальных случаях


ORM одинаково хорошо работает во всех случаях. Для тривиальных CRUD тебе автоматически будут созданы нужные методы, с помощью которых ты можешь модифицировать записи в базе. Если нужны хитрые запросы, то тебе доступен HQL, который позволяет типобезопасно выбрать нужные данные. Нужен голый SQL - ожалуйста. Это я еще не говорю о таких вещах как связи между сущностями, ленивые записи, которые поттягиваются только при обращении к полям и всякоке кеширование, которое ускоряет работу приложения. Ничего такого в Scala-мире даже близко нет.
440 1771721
>>771649

>Они все дерьмовые


>не могут сделать так, чтобы IDEA перестала краснить скала код


>ручками пердолить запросы в базу


>только в хибернейте


>даже не имеет сотой части функционала


>Спарк - это не скала и не бекенд разработка


>Спарк нужен только аналитикам и прочим SQL-программистам


Еще раз - не говори про вещи, про которые ты только на дваче слышал.

>Любые бекенды проще и быстрее делать на Spring


Это точно не так, поскольку я не раз видел очень сложный код на спринге, который можно было бы намного понятнее написать на скале (что собственно я и делал).

>Попробуй написать крупное приложение без IoC - посмотрим как ты будешь руками все объекты создавать и проставлять зависимости.


Да давно уже пишу, проблем не обнаружил. Наоборот, граф зависимостей и их создание явно выражены в коде, все очень понятно. Хотя имплиситы в этом помогают, это да.

>ORM одинаково хорошо работает во всех случаях


>созданы нужные методы


>тебе доступен HQL


>Нужен голый SQL


Точно одинаково хорошо работает?

>HQL, который позволяет типобезопасно выбрать нужные данные


Где ты там типобезопастость увидел? Ты с hibernate вообще работал? HQL - еще один язык, который нужно учить, со своими нюансами. Он такой же некомпозируемый как и SQL, и тебе именно что нужно ручками пердолить запросы в базу.

>Это я еще не говорю о таких вещах как ...


И в каждой из них есть миллион подводных камней. Опять же, они работают хорошо в тривиальных случаях и приводят к очень труднообнаруживаемым багам и проблемам с производительностью в других.
Вообще суть таких фреймворков в том что они очень много скрывают от программиста, хотя стоит как можно больше функционала делать явным, использующим обычные конструкции языка, создавать кирпичики которые можно легко понимать по отдельности и свободно композировать друг с другом. А то потом появляются "программисты на спринге", которые могут сделать простой типовый сервис за час, но как только появляются проблемы, начинают беспомощно лупать глазками, городить хаки и тратить недели на починку багов, а все из-за того что часто не понимают даже как их любимые спринг с хибернейтом работают.
440 1771721
>>771649

>Они все дерьмовые


>не могут сделать так, чтобы IDEA перестала краснить скала код


>ручками пердолить запросы в базу


>только в хибернейте


>даже не имеет сотой части функционала


>Спарк - это не скала и не бекенд разработка


>Спарк нужен только аналитикам и прочим SQL-программистам


Еще раз - не говори про вещи, про которые ты только на дваче слышал.

>Любые бекенды проще и быстрее делать на Spring


Это точно не так, поскольку я не раз видел очень сложный код на спринге, который можно было бы намного понятнее написать на скале (что собственно я и делал).

>Попробуй написать крупное приложение без IoC - посмотрим как ты будешь руками все объекты создавать и проставлять зависимости.


Да давно уже пишу, проблем не обнаружил. Наоборот, граф зависимостей и их создание явно выражены в коде, все очень понятно. Хотя имплиситы в этом помогают, это да.

>ORM одинаково хорошо работает во всех случаях


>созданы нужные методы


>тебе доступен HQL


>Нужен голый SQL


Точно одинаково хорошо работает?

>HQL, который позволяет типобезопасно выбрать нужные данные


Где ты там типобезопастость увидел? Ты с hibernate вообще работал? HQL - еще один язык, который нужно учить, со своими нюансами. Он такой же некомпозируемый как и SQL, и тебе именно что нужно ручками пердолить запросы в базу.

>Это я еще не говорю о таких вещах как ...


И в каждой из них есть миллион подводных камней. Опять же, они работают хорошо в тривиальных случаях и приводят к очень труднообнаруживаемым багам и проблемам с производительностью в других.
Вообще суть таких фреймворков в том что они очень много скрывают от программиста, хотя стоит как можно больше функционала делать явным, использующим обычные конструкции языка, создавать кирпичики которые можно легко понимать по отдельности и свободно композировать друг с другом. А то потом появляются "программисты на спринге", которые могут сделать простой типовый сервис за час, но как только появляются проблемы, начинают беспомощно лупать глазками, городить хаки и тратить недели на починку багов, а все из-за того что часто не понимают даже как их любимые спринг с хибернейтом работают.
441 1772102
>>770064

>На Scala есть разве что только крепкий middle и senior с 5 годами промышленной разработки


Тред тянется уже много месяцев а я не устаю орать с этого высера
Пришел в скалу джуном на 60к+соцплюшки в миллионнике с полгода опыта на жаве за 45к (медианные по городу), за еще полгода апнулся до 75к
442 1772408
>>772102
На Акке пишешь?
443 1772419
>>772408
На акке хттп да.
Думаю со временем вкатиться в ФП, как и оно дозреет для тырпрайза, и я для него.
444 1772425
>>772419
А до этого на чем писал? Ну кроме джавы, естественно.
445 1772427
>>772425
На плюсах и пхп лабы в вузе
446 1772432
>>772427
Ну акка это не скала, а так - пародия. На плюсах поинтереснее проекты будут. На скале один смех.
447 1772434
>>772432
Продолжай
448 1772447
>>772434
Ну а что продолжать. Ты занимаешься какой-то ерундой, когда мог свои рест сервисы на спринге пилить за 100к минимум.
449 1772453
>>772447

>100к


Зарплата крепкого мидла/вялого сеньера в миллионнике, ебик. Продолжай хуйню нести, говорю.
450 1772456
>>772453
Миллионика всего три - мск, спб, нск. Все остальные перди таковыми не являются. Ты что, Антон Дегузло? Монаду-то залифтил себе в очелло?
451 1772462
>>772447
Давайте-ка сравним ЗП скалистов и джавистов эмпирически. Смотрим статистике по UK за 2020, 2019, 2018 годы:
https://www.itjobswatch.co.uk/default.aspx?q=scala+java&l=&id=900&p=6
Scala
10th Percentile £42,500 £43,750 £42,500
Median annual salary£75,000 £72,500 £70,000
90th Percentile £101,125 £107,500 £107,500

Java
10th Percentile £37,500 £34,000 £32,750
Median annual salary£65,000 £60,000 £55,000
90th Percentile £107,500 £96,250 £90,000

Единственная позиция где Scala < Java - 90-ый перцентиль за 2020 год, причем это значение такое как для Java за предыдущие годы.

Может в штатах не так? Вот статистика stackoverflow:
https://insights.stackoverflow.com/survey/2020#technology-what-languages-are-associated-with-the-highest-salaries-worldwide-united-states
За скалу платят больше, чем за любой другой язык, по сравнению с джавой намного больше (150k vs 120k) Мировая статистика примерно такая же, но разрыв еще сильнее (76k vs 50k).
>>772456

>Миллионика всего три


Ну ахуеть теперь. Что же по-твоему означает слово миллионник?
452 1772470
>>772462
Те самые скала вакансии, где нужны только приципл или хотя бы сеньор девелоперы, которые до этого лет 7-10 пердолили на джаве? Ну да, адекватное сравнение.
453 1772471
>>772462

>Мировая статистика


Теперь открой hh.ru и узри, что за Скэйлу платят ровно столько же, а иногда даже и меньше, чем за джаву со всем привычным спрингом и хибернейтом.
454 1772521
>>772456

>Миллионника всего три


Чел, я думал ты просто троллишь в треде, но ты походу реально шизофреник.
hhscalavsjava.png11 Кб, 604x340
455 1772677
>>772471
Не знаю как смотреть аналитику на hh, по данным запросов java not javascript
Указана1771
от 70 000 руб.1496
от 145 000 руб.908
от 220 000 руб.453
от 290 000 руб.144
от 365 000 руб.47
и scala
Указана129
от 95 000 руб.119
от 155 000 руб.92
от 215 000 руб.59
от 270 000 руб.24
от 330 000 руб.13
можно построить какое-никакое графическое cопоставление ЗП (пикрелейтед). Кто бы мог подумать что и в СНГ за скалу платят больше.
>>772470
В глаза долбишься? Там весь спектр вакансий представлен, от £30k до £100k.
456 1772815
>>772677

>Указана 1771


>и scala


>Указана 129


На этом предлагаю закрыть тред и впредь банить недоумков, которые пытаются переманить уважаемых джавагоспод на мертвую технологию.
Сейчас бы на полном серьезе пытаться вкатиться в скалу, чтобы потом рвать себе очелло из-за того, что всего 129 вакансий на всю россию, лол.
457 1772819
>>772815
Долбоебушка, тут никто и не хочет видеть джява-индусов и вкатывальщиков. Не знаю что мешает тебе это осознать, возможно айкью ниже 80.
458 1772823
>>770959

>полотно


>0 строк кода и примеров решения конкретных задач


>отсутсвие анализа и сравнения фич сравниваемых языков


Я ж говорю, ты - тупой демагог.
459 1772825
>>772819
Ты сам понимаешь, что ты пишешь? На все СНГ 129 вакансий. Ты действительно считаешь, что сможешь тягаться с тысячами разработчиков, которые решили перейти на скалу?
460 1772831
>>772825
Вот только реальность рекрутинга в том что найти скалистов сложно. Это одна из самых главных проблем Скалы с точки зрения проджект менеджмента. Поэтому я тут и распинаюсь, споря с недоумками вроде тебя (вас?) - чтобы было кого хантить и можно было бы и дальше пользоваться нормальным языком, а не сдерживать рвотные позывы, разрабатывая на джаве.
>>772815
Ну тут уж каждый сам для себя решает, стоит ли пробовать. У меня недостатка в предложениях нет, как и у многих знакомых, но не знаю наколько это показатель.
461 1772832
>>772831

>У меня недостатка в предложениях нет


>>772470

>найти скалистов сложно


>на все СНГ 129 вакансий


>чет сложно найти, епт.


лiл
462 1772865
>>772832
Во-первых, на hh не все вакансии висят, во-вторых на джаве 1771 вакансия, что в 15 раз больше, но джава - самый используемый язык наверное. А в-третьих - что тебя удивляет? Есть баланс спроса и предложения и он стоит на уровне 7-10% от джавы. Все кто хочет работать со скалой, со временем получают такую возможность, а работодатели находят скалистов. Из-за небольшого размера рынка этот процесс иногда затягивается, это да.
463 1773008
Почему-то у всех скалагоспод куча предложений от хрюш, а у истеричного жавадебила 129 активных вакансий на одном только ХХ это мало. Ору.
Маня, нахуя тебе больше, если ты за всю жизнь от силы в 10 конторах поработаешь? Чтобы что?
464 1773120
>>773008

>129 активных вакансий


Из них только 20 - от NAUMEN, которые пытаются найти одного разработчика на проект, связанный с онлайн-обучением. Еще 3-4 вакансии - это тинек, который безуспешно ищет разработчика в проект инвестиции. Работу на Spark мы не учитываем, разумеется - а это еще минус 50 вакансий. Пара вакансий от психопатов из Яндекса и ВТБ (одни и те же люди, между прочим), которые пытаются найти суперзвезд и рокстар ниндзь за копейки, чтобы пердолить типичные круды в области недвижимости (циан как-то на пыхе сидит и является лидером в этой области, между прочим). Кто там еще - ну какие-то мутные конторки из Татарстана и Тольятти.
Всякие помойные конторы, где Scala стоит просто как "пожелание" среди остальных маргинальных языков на вроде Haskell, Coq, Rust - мы в расчет не берем, разумеется.
Вот и думай теперь.
465 1773123
>>773120

>Работу в спарк


>Поиск по scala not spark


Так не хочешь - не переходи на скалу, ебланы в комьюнити не нужны. Даже с учётом того что и так сложно найти сотрудника на позицию.
466 1776057
>>665014 (OP)
Подскажите нормальный гайд по котам и котоэффектам, плез. Почти все библиотеки так или иначе используют котов, а офф. дока говно-говна.
467 1778685
>>665014 (OP)
Сколько мант нужно съесть, чтобы жать как Сугак?
468 1782702
>>665014 (OP)
Как быстро перекатиться из Java в Scala? Какие пет-проекты сделать, чтобы заинтересовать потенциального работодателя?
469 1784767
Латынь больше людей знает, чем эту мертвую хуйню.
470 1784777
>>784767
Скалачую! На джяве получается быстрее и качественнее, пока скала-фанатики пердолятся в не работающую IDE и пытаются написать хоть сколько-нибудь работающий код на забагованных библиотеках, которые тормозят и жрут память.
471 1787080
>>770959

>Hibernate


Да от него многие джависты плюются. На вот, почитай - https://www.reddit.com/r/java/comments/dveyx5/the_best_way_to_fix_the_hibernate/.

>I have over 250 articles on my blog showing that Hibernate does just fine to cover any complex scenario.


>over 250 articles


>Hibernate does just fine


Ясненько.
472 1787235
>>787080

>Да от него многие джависты плюются


Открываешь HH.ru и видишь, что на Java буквально тысячи вакансий, где 99% из них это связка из Spring/Hibernate.
Ищешь Scala и находишь 600 вакансий на весь СНГ, из которых 2/3 - это биг-дата под апачи спэрк, лол.
473 1790369
>>665014 (OP)
Приходится много писать на Джаве, но блевать тянет часто от ее уродства, до этого работал на скале как Спарк-девелопер, но затянуло и для всяких утилитных штук тоже начал выбирать скалу. Скала использует память менее эффективно, чем джава. Вопрос такой: есть какая-то инфа будет ли приближаться утилизация памяти скалы к джаве, если писать на скале критичные к перформансу вычисления, которые нельзя распараллелить, в императивном стиле джавы(с мутабельностью) и оборачивать вызовы императивных вычислений в функциональный API скалы, чтоб в целом это не смотрелось уродливо? Или это не путь скалы и если хочешь перформанса в скале, то пиши в ФП и параллель? Не всегда есть время попробовать и так и так и оценить, что лучше.
474 1790604
>>790369

>Или это не путь скалы


Вполне себе. Это же мультипарадигма.
Одерски же сам говорил: пишем всё ФП, потом критичные по ресурсам куски переписываем на мутабельных коллекциях императивно.
475 1790612
>>790604
Обычно это приводит к тому, что ты тратишь минимум в 2 раза больше времени на решение задачи, в ситуации, когда твой ФП код начинает жрать память и имеет алгоритмическую сложность на порядок превосходящую императивный вариант. Затем ты начинаешь переписывать куски кода на императивный лад, попутно изменяя дизайн приложения. В итоге ты потратил минимум 2 раза больше времени, чем если бы ты все писал на Java и при этом лишь слегка смог приблизиться к производительности, которая бы тебе дала Java.
476 1790741
>>790369

>Скала использует память менее эффективно, чем джава.


Точнее - обычно стандартная библиотека скалы создает больше мусора, чем джавовая. Тебе ничто не мешает писать свой код так чтобы было минимальное количество аллокаций.

>в императивном стиле джавы(с мутабельностью)


>оборачивать вызовы императивных вычислений в функциональный API скалы


>Или это не путь скалы


Это путь scala collections, так что наверное и путь скалы.

>если хочешь перформанса в скале, то пиши в ФП и параллель?


Одно другому не мешает.

>Не всегда есть время попробовать и так и так и оценить, что лучше.


Если на это нет времени, скорее всего тебе и оптимизация производительности не нужна. Это обычно достаточно кропотливая работа - выявить боттлнеки, понять почему именно они именно там и исправить их. Если дело касается использования памяти (что вообще говоря не обязательно сильно сказывается на производительности), то все еще сложнее.
>>790612

> имеет алгоритмическую сложность на порядок превосходящую императивный вариант


ФП не избавляет от размышлений об алгоритмической сложности, тут как обычно нужно предствалять размер данных с которыми предстоит работать, чтобы понимать стоит ли вообще заморачиваться.

>при этом лишь слегка смог приблизиться к производительности


Низкоуровневый код будет скопилирован в такой же байткод, как на джаве.

>попутно изменяя дизайн приложения


Это бывает, но скорее говорит о том что алгоритм неверно инкапсулирован.

> ты тратишь минимум в 2 раза больше времени


В теории ты прав, а на практике мне за 7 лет только пару раз пришлось поменять immutable.Map на mutable.AnyRefMap, на этом такого рода оптимизации заканчивались.
477 1791666
>>790741

>Тебе ничто не мешает писать свой код так чтобы было минимальное количество аллокаций.


Зачем мне тогда нужна Scala с ее FP, когда я могу взять Java? Она будет намного проще и для нее хотя бы есть нормальная IDE.

>ФП не избавляет от размышлений об алгоритмической сложности, тут как обычно нужно предствалять размер данных с которыми предстоит работать, чтобы понимать стоит ли вообще заморачиваться.


Достаточно посмотреть как реализованы методы работы с коллекциями и почему их не стоит комбинировать, чтобы не получить взрывную алгоритмическую сложность. Конвертирование в стрим в Scala почему-то считается крайней мерой и заявляется, что это может быть еще медленнее, чем если бы ты подряд вызывал какие-нибудь map,filter,groupBy и т.д. постоянно реитерируясь по реузльтирующим коллекциям.

>Низкоуровневый код будет скопилирован в такой же байткод, как на джаве.


Это не так - https://www.youtube.com/watch?v=__PLkxx6Yko
https://www.youtube.com/watch?v=2YVJD4OQ3Ac
Чтобы получить схожий уровень аллокации на Scala с Java, тебе нужно будет по-сути отказаться от FP и писать тупой императивный код, который компилятор Scala все равно не сможет хорошо оптимизировать и выдаст какие-нибудь посредственный байткод, который потом с трудом пережевывать JVM.
478 1791820
>>791666

>Зачем мне тогда нужна Scala с ее FP, когда я могу взять Java?


Чтобы писать 0.1% кода в низкоуровнево, а остальное - как хочется. Ну и за аллокациями нужно и в джаве следить, если конретнное приложение к ним чувствительно.

>Достаточно посмотреть как реализованы методы работы с коллекциями и почему их не стоит комбинировать, чтобы не получить взрывную алгоритмическую сложность.


Давай подробнее. Сложность большинства методов описана в документации, там нет ничего необычного.

>Конвертирование в стрим в Scala почему-то считается крайней мерой


Смысла конвертировать коллекцию в стрим нет. Ты наверное имешь в виду view. Они нужны для того чтобы избегать лишнего копирования, что оправдано в случае достаточно большого количества элементов в коллекции, и в этом же случае возможно будет выигрыш в скорости итерации. Не то чтобы это крайняя мера, просто возможность оптимизации в случае необходимости.

>Это не так


Вызовы методов, циклы while, хвостовую рекрсию и т.п. компилируются в такой же байткод. Дай конкретный контрпример (код или время в докладе).

>Чтобы получить схожий уровень аллокации на Scala с Java, тебе нужно будет по-сути отказаться от FP и писать тупой императивный код


Что, кстати, касается и OO-кода на джаве.

>компилятор Scala все равно не сможет хорошо оптимизировать


Насколько я знаю, ни scalac, ни javac не оптимизируют байткод. Все оптимизации выполняются JIT-ом в рантайме с учетом конкретного профиля выполнения. Если расскажешь какие оптизации делают именно компиляторы, будет интресно.
479 1791831
>>791820

>циклы while


Уже увидел в докладе на 30:20 разницу в loop unrolling. Интересно конечно, хоть и не влияет на аллокации.
480 1791846
>>665014 (OP)
На сколько важно осилить красную книгу перед тем как приступить к изучению Akka? Остановился на 5 главе и чувствую, что идет не очень быстро. Бывает туплю над задачами и иногда выдают неоптимальные решения.
Погуглил отзывы по книге на амазоне и там много людей сетуют на сложные задания, хотя и говорят, что книга вправляет мозг для программирования в FP стиле.
481 1793613
>>790612

>что ты тратишь минимум в 2 раза больше времени на решение задачи


Учитывая что таких случаев <5% - это не проблема.

Нужно понимать что императивный, тем более оптимизированный код, - хуже наивного ФП-кода по целому ряду параметров, пишется он дольше, не говоря уже про сложность поддержки. Поэтому без критической необходимости он не нужен совершенно.
482 1793851
>>793613
Жаль что нормальной работы на Scala как не было так и нет.
483 1795490
>>665014 (OP)
https://blog.jetbrains.com/kotlin/2020/08/introducing-kotlin-for-apache-spark-preview

Ахахахаххааха. Получай, Скала ебаная! Чем теперь будете крыть?!
484 1797052
>>795490
Так а что тут крыть? Под спарк можно писать на Python (очень популярно, возможно на уровне со скалой), Java, R, SQL, даже достаточно (но не совсем) рабочие обертки на Clojure есть. У тех кто не хочет использовать скалу и готов мириться с не совсем удобным и, главное, не совсем up to date API, появился еще один вариант. Что, кстати, не отменяет необходимость понимать скалу как минимум на уровне чтения для работы со спарком - рано или поздно придется лезть в его кишки и смотреть как именно устроена конкретная фича.
485 1797577
Объясните для ньюфагов, что это за красная книга блять
486 1797594
>>797577
FP in scala
487 1797787
>>797594
Не пали годноту, епт.
488 1797788
>>797577
Не нужно тебе этого знать. Ты все равно не осилишь задачи в этой книге.
15991742533320.jpg1,2 Мб, 1280x960
489 1797793
>>797787
>>797594
>>797788

Тааак, что это тут у нас, книжечка по программированию? Опа! Скачал на! Сё ля, щас как прочитаю на! Спасибо за знания, лохи!

Щас бы гейткипить годный контент, ну что вы за дауны.
490 1797804
>>797793
Учи Джаву. На Скале все равно работу не найдешь.
491 1797807
>>797804

>t. гейткипящая мразь

492 1797811
>>797807
Чет в голос с этого школотуна, который прознал про Скалку и начал тут бегать с воплями - "а покажи-расскажи!", лол.
493 1797813
>>797811
чел я мимо рофлил со скалкодаунов, я вообще с рубитреда
494 1797818
>>797813

>я вообще с рубитреда


Соболезную. Откуда у вас такая тяга к мертвым языкам на которых не найти работу?
495 1797826
У меня есть стойкое ощущение, что местного шизика обоссали на интервью в какой-нибудь желтый банк и вот он уже больше полугода сидит в скалатредах и каждый день не забывает напоминать всем что скала мертва.
В то время как ни один из моих знакомых скалистов, включая меня самого, не испытывал проблем с поиском работы. ТОЛКОВЫХ людей в крупные конторы тупо не хватает, хрюши даже в личку не стесняются регулярно стучать и переманивать..
496 1797838
>>797826

>ТОЛКОВЫХ людей в крупные конторы тупо не хватает


Скала здесь причем? На ту же джаву хантят людей и предлгают 250-300к за крепких сеньоров. Сейчас бы на полном серьезе вводить людей в заблуждение и сетовать на то, что вот ТОЛКОВЫМ скалистам везде дорога - везде ему рады. Лол, так и для джависта и даже для 1C есть высокооплачиваемая работа, если это толковый спец.
Только почему-то на скалу идут какие-нибудь олимпиадники-студенты или отщипенцы из джавы, которые "устали программировать на спринге". А когда узнают, что под толковыми скалистами понимается дурачок с горящими глазами, который будет готов пердолиться в котов, дуби и таглес-файнал за полтинник следующие 3 года.
497 1797854
>>797838

>за полтинник


Жир начал сочиться из системного блока рано утром. Солнце только показалось из-за горизонта, запели первые утренние пташки, а под компом уже была порядочная жирная лужа. Я не понимал в чём причина этого явления и просто протёр лужу. Когда я включил компьютер, жир начал вытекать уже и из монитора тонкой но непрерывной струёй. Я терпел, я думал это пройдёт. Но всё же была непонятна причина столь активного жироотделения. Когда я зашёл на двач, жир потёк таким потоком что нужно было подставлять тазик под монитор и системник и выносить их каждые 20 минут. Потом я открыл этот тред... Это было нечто невообразимое, это был уже не поток, это было какое-то цунами жира! Он хлынул из компа, ничто уже не могло его остановить! Поток жира нёсся, снося всё на своём пути. Не знаю каким чудом мне удалось уцелеть, ибо от моего дома остались одни руины, двор сейчас похож на пустыню с барханами из жира. Погибли люди, некоторые лишились крыши над головой. Оп, что же ты наделал?
498 1797876
>>797854
А чего тебе не понятно, приятель? Переходя на Scala, ты попросту выбрасываешь весь свой опыт, который ты нарабатывал годами работая на Java/Go/Erlang/Elixir/C#. Ведь писать круды на Scala это не тоже самое что писать круды на Java. Весь твой опыт идет на хуй и ты начинаешь с самого начала. Это просто предостережение всем желающим перекатиться в Scala, которые по наивности считают, что смогут сохранить прежний уровень компенсации. Готовьтесь, что будете начинать с самых низов и следующие 3-5 лет ползти к той зарплате, которую вы получали на той же Java.
Ну и да - не забудьте занести денег лысому - https://www.eventbrite.com/e/functional-effects-by-john-a-de-goes-tickets-119597333845
А то хули вы как в гостях, епт.
499 1797889
>>797876
Перешел, сидя в дс-4, с мидловских 120к на шарпе на 100к на скале, через полгода получал уже те же 120к. У многих коллег и знакомых истории похожи, а то вообще переходили в плюс.
Конечно если ты ебложопый идиот, которому надо 3 года на доосвоение концепций ФП, то ты будешь гроши джуновские получать, это правда. Жалко тебя даже.
500 1797892
>>797889
Сказки рассказываешь. Ты для начала осиль красную книгу и прорешай все задачи не подглядывая в решения. Затем освой котов и прочие дуби с таглес-файнал, а уже потом рассказывай как ты зарабатываешь 120к на скале, лол.
501 1797893
>>797892

>Сказки рассказываешь.


Ясно, отшитый на собеседовании неудачник походу тут уже манямирок выстроил. Ну ок, не мешаю, живи в нём.
502 1797895
>>797893
Задачки все прорешал?!
503 1797901
504 1797903
>>797893
Твой личный опыт не является аргументом, Антон ДеГузло. Монаду уже залифтил себе в очко?!
505 1797918
>>797903
Ты там из дурки капчуешь?
506 1797920
>>797918
Давай, продолжай вводить новичков в заблуждение, что в скалу можно вкатиться без знания красной книги, прорешивания всех задач, а так же опыта в котах и эффектах.
507 1798021
Что ласт большую зп? Го или скала?
508 1798113
>>798021
Начнем с того, что выбрав Go ты обеспечишь себя работой. Выбрав Scala ты не сможешь найти работу и тебе придется вернуться к престарелым родителям, чтобы сидеть у них на шее и хлебать мамкин борщец, пока ты будешь решать задачки из красной книги.
Выбор, как всегда, за тобой.
509 1798126
>>798021
Если интересно ковырять всякие близкие к академическим, но все-таки практические, штуки, постоянно апать скилл и контрибутить в жопенсорс - скала
Если у тебя легкая (или хуже) форма умственной неполноценности, как у местной порватки - то го.
Если что-то между этими крайностями - начинаются тонкости.
Тред утонул или удален.
Это копия, сохраненная 22 марта 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски