Программирование

Ответить в тред Ответить в тред
Check this out!
Scala #2 /scala/ Аноним 05/09/20 Суб 18:53:59 17981681
image.png 31Кб, 493x202
493x202
image.png 364Кб, 1920x1200
1920x1200
Scala сочетает объектно-ориентированное и функциональное программирование в одном выразительном, высокоуровневом языке.
Система типов Scala позволяет избегать ошибок в сложных приложениях, а рантаймы для JVM и JS позволяют строить высокопроизводительные системы с удобным доступом к огромной экосистеме библиотек.

Q: Какой стэк библиотек взять?
A: cats, http4s, doobie, circe, ZIO

Q: Какие либы НЕ брать?
A: play, izumi, tofu, джавовые фреймворки

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

Q: Хочу угорать по функциональщине и теории категорий
A: Посмотри на Хаскелль
Аноним 05/09/20 Суб 18:56:33 17981712
Аноним 06/09/20 Вск 18:26:49 17988963
>>1798168 (OP)
>рантаймы для JS
Кому нужона скала на фронте?
И что там с компилятором, очередные свистоперделки поверх гугловского кложура? Он еще поддерживатеся вообще?
Аноним 06/09/20 Вск 18:32:11 17989034
>>1798896
> Кому нужона скала на фронте?
Из отечественных юзеров "Мой Склад" использует (по крайней мере использовал год назад) для электрон-приложения

> Он еще поддерживатеся вообще?
Вполне. Почти все популярные библиотеки адаптированы для работы со scala.JS
Аноним 06/09/20 Вск 21:43:23 17990715
>>1798168 (OP)


> Q: Какие либы НЕ брать?
> A: play, izumi, tofu

А что с ними не так?

> Q: Хочу угорать по функциональщине и теории категорий
> A: Посмотри на Хаскелль

Да ты ж ебанутый.
Аноним 07/09/20 Пнд 21:16:28 17998966
Ребят, кто димсола и кота в овощной кидает?
Аноним 07/09/20 Пнд 22:12:49 17999627
>>1799896
У шизика совсем крыша потекла я смотрю. Своих одноклассников в треде ищет.
Аноним 07/09/20 Пнд 22:58:44 18000058
Аноним 08/09/20 Втр 00:19:04 18000869
>>1799962
В Москве есть замкнутая тусовочка Scala-разрабов из желтых банков.
Их особенность в том, что это такая самобытная секта - они пилят собственную библиотеку эффектов, и не замечают происходящего в коммунити за их пределами.
Короче, каноничные борщехлебы, только сидящие не на шее у мамки, а каким-то образом пробравшиеся в отделы разработки банков.
Аноним 08/09/20 Втр 07:23:42 180019210
>>1800086
>Пробрались в банки
>Борщехлебы
Поражаюсь твоему отрицанию реальности.
Аноним 08/09/20 Втр 10:16:19 180031111
>>1800192

Объективно, с точки зрения норм работодателя они пойзонус емплоерс, втащившие свой матан на прод и локнувшие этот прод на необходимость искать редких академиков с матаном головного мозга вместо индусов.
Аноним 08/09/20 Втр 12:27:02 180045212
>>1800311
Значит они няши и сделали всё правильно.

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

Я сам занимаюсь подобной деятельностью и веду активную агитацию на местах.


мимо-фп-партизан
Аноним 08/09/20 Втр 12:28:13 180045413
>>1800452
> умных людей
Лол, нет, такие же долбоёбы, только залифтили representableK монады себе в очелло
Аноним 08/09/20 Втр 12:37:27 180046514
>>1800454
>вумники очки напялили сидят со своими мандадами, ни то что мы простые макакены чисто на спринге и не паримся еее)
Ммм, эта боль копчёного.
Аноним 08/09/20 Втр 12:45:00 180047115
>>1800465
Чини детектор. Я не против ФП, я против того как эти долбоёбы наворачивают trait Transfer[T[_[_]], Link[_[_]], _[_]], Constraint[_[_]]]. Это реальный пример если что.
Аноним 08/09/20 Втр 20:54:01 180109016
>>1800471
А что тут сложного, и похожего говно и в джаве много
Аноним 08/09/20 Втр 21:03:04 180110117
>>1801090
Давай, объясни сходу, что это за тайпкласс, какие у него laws и как его лучше применять
Аноним 09/09/20 Срд 02:30:44 180131618
сугакпорицает.jpg 53Кб, 599x500
599x500
>>1801101
Главный laws это то, что у твоей мамы ты родился не очень умным. Это обычный обычный трейт с тайп параметрами.
Аноним 09/09/20 Срд 19:37:53 180199319
>>1800311
Не в курсе что именно они там делают, но что именно ты назывешь матаном? Любую абстракцию? Так почти любая библиотека и особенно фреймворк в любом языке дает тебе свои абстракции.
Кто такие академики? Люди, способные осилить эти самые абстракции? Все программисты этим занимаются каждый день ну уж точно когда приходят на новый проект.
>>1801101
Странно высрать рандомную строчку внутреннего кода и требовать по ней понять то что ты просишь. Тот анон наверное имел в виду что эта конкретная строчка понятна - есть какая-то передача данных, видимо но каналу с началом и концом и какими-то ограничениями. Все это параметризировно по типу эффекта, скорее всего, но сказать сложно без контекста проекта. Еще для меня не ясно что такое тип T - тип данных для передачи или что? Могли бы и попонятнее назвать.
Нужны ли эти абстракции и качственны ли они - другой вопрос.
Аноним 09/09/20 Срд 20:41:38 180203420
>>1801993
> рандомную строчку внутреннего кода
Это не внутренний код, это абстракция которую эти пацаны запихнули в библиотеку. Предлагая понять, что это такое, я и намекал что это какой-то частный случай, который они пытаются выдать за нечто общее и абстрактное.
Так что мой пойнт как раз в том что
> Нужны ли эти абстракции и качственны ли они
Аноним 09/09/20 Срд 22:10:29 180214421
>>1802034
Дай ссылку на код, по одной строчке сложно понять качество. Может там scaladoc на 50 строчек над этим определением.
>это какой-то частный случай, который они пытаются выдать за нечто общее
Ты же понимаешь что наверное о чем угодно можно сказать "это частный случай чего-то более общего". Монада - частный случай моноида, если что. Ты о "матане" точно в негативном ключе говорил?
Аноним 10/09/20 Чтв 11:14:51 180245922
>>1802144
Расскажите, зачем дрочить монады и дырки, когда 3/4 вакансий на Scala - это неумелый пердолинг в "большие данные" на Apache Spark, а остальная четверть это дрочь акторов или какого-нибудь плей фреймворка?
Аноним 10/09/20 Чтв 11:16:07 180246123
>>1802459
Чтобы такие недоучки как этот >>1800452 могли потешить ЧСВ и сказать "смотри мам математика"
Аноним 10/09/20 Чтв 11:41:48 180247824
>>1802461
Но ведь я серьезно. Я листаю вакансии и чистые бекенд позиции это чья-то не очень удачная попытка запилить проект на малораспространненном стеке, когда на том же Spring это делается на раз-два, а разработчиков на несколько порядков больше.
Аноним 10/09/20 Чтв 17:43:40 180278925
>>1802459
Люди дрочат монады и дырки потому что им нравится теоркат. Я, например, ничего не дрочу, а просто использую абстракции по мере необходимости.
>>1802478
Научишь удачность проекта по тексту вакансии определять? Дай угадаю, алгоритм такой: есть скала - проект неудачный.
Аноним 11/09/20 Птн 20:53:12 180390126
>>1800311
Ну значит рано или поздно их выкинут на мороз и наймут индусов за три копейки, чтобы переписать все на шарпе/джаве.
Аноним 11/09/20 Птн 21:14:12 180392727
>>1800452
>Потом ещё спасибо скажут.
За что? Программист -- это commodity, дешевый расходный материал. Неважно на чем он пишет - на скалке или пыхе.

Главное, что двигает ИТ иднустрию - наличие большого количества дешевой рабочей силы. Если вдруг кодерки станут элитой, то это замедлит прогресс
Аноним 11/09/20 Птн 23:32:14 180403928
>>1800452
Элита программистов должна сделать такие тулзы и языки, чтобы даже тупые макаки могли бы делать что-то работающее и полезное, пользуясь ими.
Аноним 12/09/20 Суб 01:07:34 180408929
Аноним 12/09/20 Суб 01:36:53 180410230
>>1804089
Нет не мне. Я-то как раз Элита. Можешь мне поверить.
Аноним 12/09/20 Суб 05:35:58 180414231
Есть реальная возможность вкатиться в скалу если до этого только на жс и реакте работал? Или лучше бросить эту идею и взять что более приземлённые типа го?
Аноним 12/09/20 Суб 05:58:35 180414332
>>1804142
На Гоу ты хотя бы работу сможешь найти и вкатиться с JS на нее будет проще простого. На Скалу ищут только опытных разработчиков, которые до этого работали Java программистами.
Аноним 14/09/20 Пнд 09:42:09 180588133
Сап, скалолазы. Какие книги топ по скале? И стоит ли сейчас её изучать или дождаться уже третьей версии (слышал она будет примерно в конце 20го года)
Аноним 14/09/20 Пнд 10:52:07 180593034
>>1805881
>третьей версии
Она уже готова на 95%, но из литературы только дока и хуй вместо вменяемой поддержки IDE. Но если сильно интересно, то можешь взять Dotty и ковырять прямо сейчас. Лично я уже около года балуюсь дома.

Но учти что разница между ней и прошлой версией, это как между Perl и Perl 6 - почти другой язык.
Так что учитывая слоупочную специфику эволюции скаламирка, на тройку можно забить ещё на пару лет минимум, если ты не энтузиаст early adopter.
Аноним 15/09/20 Втр 06:26:15 180695335
>>1798168 (OP)
Как лучше всего взаимодействовать с реляционными СУБД из Scala? Slick мертв и "поддерживается" пользователями, которые только новые ишью создают в трекере. Doobie завязан на одного человека, который сейчас вообще ушел в какой-то экспериментальный проект по написанию драйвера для PostgreSQL. Quill? Но это только DSL для написания SQL запросов. Т.е. исполнять их должен какой-нибудь Doobie. JOOQ? Так он вроде для Java/C#, т.е. Scala там даже и не пахнет.
Как люди работают с базами данных из Scala?
Аноним 15/09/20 Втр 17:15:19 180739136
>>1806953
doobie норм работает, мы его во всем новом подключаем (но у нас не оч сложные схемы, просто локальный сторидж без джойнов), scalike, да и любая стабильная java-либа с небольшой оберткой подойдет, на самом деле.

>>1805881
можешь пока не переживать за дотти, учи что есть.
топ книги - functional programming от создателя (не обязательно целиком), от него же курсики по fp на курсере, scala for the impatient (чуть устарела вроде), твиттеровские ресурсы какие-то были неплохие.
Аноним 15/09/20 Втр 17:17:02 180739637
>>1804143
> На Скалу ищут только опытных разработчиков, которые до этого работали Java программистами.

вкатился когда-то на первую работу скалистом-джуном, 0 опыта работы, так что это как минимум не невозможно, как в общем - хз.
Аноним 15/09/20 Втр 17:45:41 180742838
>>1807391
>functional programming от создателя
Если ты имеешь Functional Programming in Scala, то ее писал не Мартин, а Рунар. Книга так себе, если честно. Начиная с 7 главы повествование идет в очень сумбурном стиле. Есть Functional Programming Simplified от Alvin Alexander - там по сути тоже самое, только написано более простым языком и примеры чуть ли не на пальцах разбираются.

>от него же курсики по fp на курсере
Курсы от Одерски по FP на Scala - это по сути передранный учебник SICP, где примеры кода и задачи переписали на Scala сo Scheme. Курс очень посредственный, если что.

>scala for the impatient (чуть устарела вроде)
Довольно таки бодрая книжка. Сложно сказать, что-нибудь плохое про нее.
Аноним 15/09/20 Втр 17:48:20 180743139
>>1807391
>doobie норм работает
Меня пугает то, что его разрабатывает один челик. Над сликом пахало целая команда, которая сидела на зарплате у Lightbend, но его это не спасло.

>да и любая стабильная java-либа с небольшой оберткой подойдет, на самом деле.
На сколько это Scala-way? Если писать обертки поверх джавовых библиотек, то можно ведь и головой двинуться. Одно дело, если ты используешь какую-нибудь Akka, из которой футуры торчат, а если ты на котах или зио пилишь бекенд?
Аноним 15/09/20 Втр 18:04:13 180745140
>>1807431
IO.fromFuture(IO(здесь твоя фйюча))
Аноним 16/09/20 Срд 00:29:04 180774241
>>1807428
Перепутал книгу Одерски и the red book видимо. Я говорил про первую, красная книга по желанию. От Александра не читал, думаю норм.

Курс мне когда-то зашёл как начальная точка, не жалею, что посмотрел, но для опытных конечно есть лучшие варианты.
Аноним 16/09/20 Срд 05:37:01 180787442
>>1807742
>книгу Одерски
Ну, это же типичный справочник по языку. Читать его скучно и там не разбираются ни типичные архитектурные приемы ни паттерны при работе на Scala. Красная книгу рекомендуется читать как введение для котов. Хотя я не уверен, что описанные там практики помогут тебе при работе с той же Akka, например.

Аноним 16/09/20 Срд 07:22:05 180789843
image.png 5Кб, 264x143
264x143
Аноним 16/09/20 Срд 07:27:44 180789944
Аноним 16/09/20 Срд 07:29:33 180790145
>>1807899
Ну то есть как многие опенсорс продукты, которые пилятся коммьюнити?
Аноним 16/09/20 Срд 07:35:51 180790246
>>1807901
За крупными опенсорс продуктами обычно стоят крупные конторы на вроде VMware, JP Morgan, Apple, Twitter, Google и другие. И ключевые мейнтейнеры таких проектов либо работают в таких компаниях, либо наняты в виде внештатных работников. В любом случае - это люди на зарплате, которые пашут стандартную 5-дневку, где пилят "опенсорс проект, которые разрабатывается коммьюнити".
Аноним 16/09/20 Срд 22:46:52 180856947
>>1807874
> Хотя я не уверен, что описанные там практики помогут тебе при работе с той же Akka, например.
Всё верно, чтобы узнать акку, нужно работать с аккой, чтобы освоить коты - использовать котов как можно чаще.
На моей практике вообще красную книгу стоит читать после некоторого опыта использования котов в реальном коде, а не наоборот.
> Ну, это же типичный справочник по языку. Читать его скучно и там не разбираются ни типичные архитектурные приемы ни паттерны при работе на Scala.
Мб, что бы сам посоветовал?
Аноним 17/09/20 Чтв 05:45:02 180871948
>>1808569
>Мб, что бы сам посоветовал?
Essential Scala
Аноним 17/09/20 Чтв 17:19:01 180916549
>>1803927
>Главное, что двигает ИТ иднустрию - наличие большого количества дешевой рабочей силы.
Только если называть движением повышение скорости высирания стартапного забагованного говнища, про 95% которого никто никогда не узнает, кроме заказчика и команды разработки. А те 5% что взлетят - или рухнут позже под тяжестью говнокода, либо не рухнут, но говном от этого быть не перестанут.

opinionated нытьё ↓ как будто остальной пост не opinionated нытьё, хех
Насмотревшись 10 лет назад на успехи популярных соц.сетей, людишки уверовали в мантру "пока в Вилариба выдрачивают код, в Вилабаджа уже зарелизились и фиксят баги". В целом логика правильная: во всех соц.ориентированных продуктах качество даже не на третьем месте, а главное - это захватить ресурс (людишек) и отхватить как можно больше. В итоге, если не получилось - отбиваемся минимальными затратами, а если получилось - конкуренты могут выпускать хоть в десять раз более качественный аналог, он нахуй никому не будет нужен, потому что в соц.продуктах - главное не сам продукт, а пользователи, вернее их количество. Фейсбук по сей день остаётся убогим говном, пользоваться которым невозможно без рвотных позывов, но все там сидят, потому что там все сидят. То есть даже при коммерческом успехе продукты остаются дырявым и забагованным, поэтому лаги, ошибки, слив юзер данных и прочий абьюз багов - вещь повсеместная, независимо от крупности компании. А выпуск новой версии в которой всё будет сделано правильно произойдёт в том дне, который не наступит никогда, а в том что наступит выпустят скорее свистоперделки для подогрева интереса юзеров, такие же забагованные и прикрученные сбоку на костылях.
Так как подавляющее большинство новых продуктов - тоже социальные, то вся эта история повторяется вновь и вновь, и самое печально, что оно задаёт тенденцию и влияет на другие области, например, на продукты ориентированным на бизнес, где вся эта спешка в общем-то ни к чему


Интересы буржуйчика и качество софта - вещи ортогональные, иногда они совпадают, чаще - нет. Но вот интересы людей в целом - иметь качественный софт.
Я не против, чтоб всякий MVP хлам на выброс клепала индусня на питоне и гоу, но разработкой полезного прикладного софта для людей должны заниматься как минимум умные люди, которых ныне в IT сфере страшный дефицит.
Аноним 17/09/20 Чтв 18:22:11 180923050
>>1809165
>разработкой полезного прикладного софта для людей
Это какой-такой софт ты называешь "полезным" и "для людей"?
Аноним 17/09/20 Чтв 18:24:01 180923251
>>1809165
>про 95% которого никто никогда не узнает
Достаточно посмотреть где используется всеми ненавистный Spring и какие проекты на нем реализуют, чтобы понять, что не обязательно дрочить анус котами и плакать кровавыми слезами из-за того, что ИДЕЯ код краснит, чтобы выдавать продукт, который будет приносить радость пользователям, а тебе - деньги.
Аноним 17/09/20 Чтв 18:39:54 180924652
>>1800471
Ты уверен, что второй тайп аргумент `Link` правильный? _[_]

Это разметка съела часть типа?
Аноним 17/09/20 Чтв 18:45:15 180925453
>>1808719
Да, читал её, отличная. По-моему оттуда же книжка про Cats стоит прочтения.

>>1809232
> дрочить анус котами и плакать кровавыми слезами из-за того, что ИДЕЯ код краснит
Коты это прекрасно, а идея уже давно почти не краснит код, во всяком случае проблем уже давно не было, хз о чем ты. Самое уродское, что есть в scala-мирке - sbt, вот там я плачу частенько от того, как он зависимости проебывает, остальное кайфец а может я просто привык годами жрать говно и мне комфортно

> какие проекты на нем реализуют
какие?
Аноним 18/09/20 Птн 05:16:12 180971854
>>1809254
>идея уже давно почти не краснит код
Возможно ты не пишешь ничего сложнее хеллоуворлдов на пару строк, поэтому и не видишь всего того пиздеца который происходит при работе над крупным проектом.
Идея может краснить корректный код или не подсвечивать некорректный. Может валить эксепшенами и жрать память гигабайтами. Я все время порываюсь перейти на VS Code + Bloop, но меня быстро отрезвляет тот факт, что VS Code обычный текстовый редактор, а Bloop - не более чем очередная поделка Scala Center, где студенты Одерского осваивают гранты.

>Самое уродское, что есть в scala-мирке - sbt
К сожалению, ничего не изменится в ближайшее время. Всех все устраивает и все считают, что sbt - это путь Scala.
Очень жаль, что при разработке sbt, разработчики не ознакомились с такими проектами как Maven или Gradle, где банальные вещи делаются интуитивно и буквально за минуту, когда как sbt с самого начала начинает тебя грузить какой-то эзотерической хуетой и рассказывать как здорово, что у тебя теперь есть еще один DSL на Scala на котором ты можешь описывать свои билды.
Пожалуй это самая тормозная, забагованная и неинтуитивная система сборки, которая, ко всему прочему, еще имеет отвратительную интеграцию с IDEA.

>какие?
Любые крупные проекты, начиная от банковских систем, заканчивая какими-нибудь соц. проектами или крупными площадками на вроде Яндекс.Маркета. Тот же Netflix очень плотно сидит на Spring Boot и все микросервисы стартует именно на этой платформе.
Та же Scala у них там сбоку и вообще про Big Data.
Какой-нибудь Twitter мы не берем в расчет. Там изначально собралась отбитая компашка, которая изначально все писала на Ruby, а когда начало все тормозить, то они кинулись на Scala, т.к. синтаксис был похож. Ну и да - Twitter за все время своего существования показал прибыль лишь однажды, когда провел массовое увольнение разработчиков. А так это просто очередной убыточный проект, который проедает очередной раунд инвестиций. Но да, там есть собственная виртуальная машина, наработки на Scala (правда без котов и прочего тайплевл стека).
Аноним 18/09/20 Птн 16:23:42 181001955
>>1809718
> Возможно ты не пишешь ничего сложнее хеллоуворлдов на пару строк
Пилю скалку в известном банке, тут немного не пара строк, но всё равно "пиздеца" прямо не ощущаю, как и ранее писал. Мб дело в настройках и мощностях, мб у всех разный порог пиздеца. Пользуюсь обычной комьюнити идеей на средней мощности воркстейшене на линуксе.

> Пожалуй это самая тормозная, забагованная и неинтуитивная система сборки, которая, ко всему прочему, еще имеет отвратительную интеграцию с IDEA.
Всё так.

Яндекс, кстати, регулярно пишет-зовет на небигдатную скалу, видимо не только спринг у них.
Аноним 18/09/20 Птн 16:57:47 181005556
>>1810019
>Яндекс
У них все проекты, которые входят в Вертикали написаны на скалке.
Аноним 18/09/20 Птн 23:18:34 181033957
В общем только недавно узнал, что языки, где зарабатывают просто дохуя, по сравнению со всякими пхп и джавами. Это Эликсир, Руби, Скала, Го. Твердо решил перекатитьcя с пхп в один из них. Подсобите с выбором, в каком из них самые высокие зарплаты, но чтоб при этом работа вообще была ?
Аноним 19/09/20 Суб 02:22:35 181045058
>>1810339
Не знаю как в скале но в руби работа есть, только вот хуй куда устроиться, везде миддлов с пятилетним стажем хотят.

Миморубист-вкатун
Аноним 19/09/20 Суб 06:53:43 181052159
>>1810339
>Твердо решил перекатитьcя с пхп
Женя? Это ты в скаладжобс поливаешь говном пхп и хочешь перейти в скалу? Ты же понимаешь, что платят не за знание языка, а за экспертизу в предметной области и опыт разработки высоконагруженных проектов.
Учти, что те графики с зарплатами, где скала лидирует - это не более чем махинация со статистикой, т.к. в скале нет джюнов, а только сеньоры и принципалы.
Аноним 19/09/20 Суб 12:19:12 181066760
>>1810521
Нет понятия "платят". Есть понятие вакансия. И в вакансиях пхп платят мало, полоток 300 тыщ, а в вакансиях скалы платят много, потолок 670 тыщ.
Это если говорить про удаленку из России

А вот тот факт, что в скале нет джун вакансий и невозможно вкатиться без 3+ лет опыта, конечно может меня остановить.
Аноним 20/09/20 Вск 20:56:47 181190261
>>1807431
>Меня пугает то, что его разрабатывает один челик
Отчасти это проблема, но он достаточно много кем используется, входит в тайплевел стек, да и сам можешь подхачить что-то, не программист чтоле?
>Над сликом пахало целая команда, которая сидела на зарплате у Lightbend, но его это не спасло.
Не то чтобы его прям спасать нужно, он работает себе, пусть и не развивается активно. Просто появились альтернативы лучше, в том числе потому что его задумка оказалась не самой удачной как а смысле использования, так и в разработке.
>>1807431
>На сколько это Scala-way?
Вопрос не в этом, а в том насколько это нужно.
>>1806953
>Quill? Но это только DSL для написания SQL запросов.
Все из коробки работает, хотя можно и с Doobie подружить. Рекомендую, очень хороший проект, я его еще и с кассандрой и даже спарком использовал. Хотя возможно для новичков scalikejdbc понятнее будет, он простой (если все строго по примерам из доки делать и не стараться вникать как там этот DSL реализован) и на jooq похож. Обе либы, кстати, поддерживают асинхронную работу с постгресом, но я не знаю в каком состоянии эта функциональность, возможно альфа и это никогда изменится.
>>1808569
https://www.handsonscala.com
Сам не читал, но слышал положительные отзывы именно о том что тут разобраны реальные примеры. С другой стороны, автор использует свои библиотеки в книге. Это само по себе не плохо - они простые и позволяют сфокусироваться на языке и задачах, но если (скорее всего) в проде будут другие, придется их доучивать.

Аноним 21/09/20 Пнд 06:01:49 181217762
>>1811902
>входит в тайплевел стек
Туда много что входит, включая какие-то поделки от рандомных челиков.

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

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

>https://www.handsonscala.com
>Сам не читал, но слышал положительные отзывы именно о том что тут разобраны реальные примеры.
Слышал ты из-за того, что этот хитрый китаец бегает по всем площадкам, где тусуются скала программисты и пиарит свою книжонку. Сама книга довольно посредственная и во многом опирается на поделки этого китайца, который изобретает очередной велосипед, которым пользуются полтора анонимуса.
Аноним 21/09/20 Пнд 11:03:05 181228763
>>1798168 (OP)
Откуда столько ненависти к Lightbend стеку? В основном это исходит из ру-сегмента скала коммьюнити. Большинство называет Akka, Play, Slick - легаси и рассказывает охуительные истории про то как "все компании" переходят на typelevel и горя не знают.
Аноним 21/09/20 Пнд 15:23:59 181255764
>>1812177
>Туда много что входит, включая какие-то поделки от рандомных челиков.
Там есть разделение на включенные проекты и incubator projects, doobie именно включен.
>Зачем мне что-то "хачить" в библиотеках?
Чтобы добавить то, чего в ней нет, очевидно же, а не ждать пока разработчики соизволят уделить внимание твоей проблеме.
>За многие годы работы джава программистом мне не приходилось
>что-то там править
Везет, мне и на джаве, и на С# приходилось. Судя по, например https://github.com/hibernate/hibernate-orm/graphs/contributors, сюда тоже контрибьютят люди не на зарплате.
>копаться в сорсах библиотек
А вот это вообще странно, очень часто по документации невозможно понять как точно работатет та или иная фича. Ну может тебе не нужно было.
>Заодно можешь посмотреть количество багов, которые весят в ишьюсах.
50 багов. Это много или нет? Не знаю. По моему опыту 3-4 летней давности еще 2-ой слик был вполне работоспособным, но не слишком удобным в использовании.
Можешь, кстати, посмотреть на баги в Hibernate - там их сотни.
> Сама книга довольно посредственная
Ну вот теперь у меня еще один отзыв есть, негативный. Хотя я бы все равно советовал дать книге шанс - китаец хорошо пишет как минимум блог-посты.

Аноним 22/09/20 Втр 12:46:05 181316965
Аноним 22/09/20 Втр 13:54:43 181324166
>>1813169
>Scala мертва
>получил 4-5 офферов на Scala в нескольких Европейских странах
Как-то не очень вяжется.
>Подоспела качественная аналитики от инженера
>Раунд 1: Go vs Java
>Безоговорочно Go.
>мой опыт с ним составляет всего пару месяцев
На этом думаю стоит закончить, и не тратить время на очередную аналитику про микросервисы - ебанутые совершенно не понимают сколько проблем создает перенос вызова из памяти в сеть.
Аноним 22/09/20 Втр 13:59:58 181324367
>>1813241
Гоу сочетает в себе простоту освоения (неделя-две) и удобство программирования. На Scala, пока не осилишь красную книгу и не прорешаешь все задачи без подглядывания в решение - можно даже и не начинать проект, т.к. все равно обосрешься без понимания комбинаторов, монад и типов высших порядков.
Аноним 22/09/20 Втр 14:15:10 181325368
>>1813243
Гоу не так уж и легко освоить на уровне написания идиоматичного кода, особенно если до этого не работал с CSP-based системами и не привык к structural typing и это еще go2 не вышел, а удобно на нем программировать только тривиальные сетевые сервисы, которые легко создавать на любом достаточно распространенном языке вплоть до Хаскеля. Его преимущества в другом, а именно в рантайме, заточенном под определенные типы задач и унифицированном тулчейне.
Аноним 22/09/20 Втр 14:43:42 181325869
>>1813241
>на очередную аналитику про микросервисы - ебанутые совершенно не понимают сколько проблем создает перенос вызова из памяти в сеть.
Ты совершенно напрасно драматизируешь. Микросервисы и serverless - это будущее разработки масштабируемых приложений. Проблема Скалы заключается в том, что за ней не стоит никакой крупной технологической компании, которая бы выпускала библиотеки/фреймворки, которые бы, в свою очередь, радикальным образом упрощали жизнь типичному разработчику.
Какое-то время люди были в восторге от Akka и Play Framework, но вскоре основательно поели говна с акторами (которые слишком поздно сделали типизированными и это так и не решило никаких основных проблем, а только добавило новых, в основном с деплоем новых версий сервисов в кластере). С Плеем так вообще смешно вышло - сейчас бы в 2к20 писать на толстом веб-фреймворке вместо того, чтобы отдельно выкатить фронт, который бы отдавался инжинксом и отдельно рест-бек на чем-нибудь легковесном.
В итоге, получили ситуацию, когда весь LIghtbend стек в скала-коммьюнити считается легаси и не рекомендован для новых проектов.
Остается typelevel стек. Но проблема тайплевела в том, что это не технологическая компания как редхат или оракл, а просто конгломерат из приходящих челиков, которые проталкивают свои мутные велосипеды в инкубатор и консалтеров, которые напилили всяких котов, сёрсе и прочих дубей и теперь пытаются выехать на поддержке и внедрении.
Это не идет ни в какое сравнение с тем же Spring за которым стоит VMware или Helidon за которым стоит Oracle или взять тот же Quarkus, который пилится с подачи Красношапки.
Т.е. не стоит сравнивать жалкие потуги скалистов, которые нажравшись дерьма на Akka, побежали пердолить микросервисы на котах и гонять месседжи через кафку, попутно объясняя менеджменту, что такое моноиды и как залифтить монаду себе в очко и почему это важно для проекта.
Аноним 22/09/20 Втр 14:49:57 181326370
>>1813253
>Его преимущества в другом, а именно в рантайме
Да похуй на твой гоу рантайм, старина. Там до недавнего времени GC врубался по таймауту. Преимущество гоу в том, что можно взять условную похапэ-макаку и она через неделю будет выдавать код, который можно будет лить на бой. Код при этом получается однообразный и в нем нет никаких сюрпризов, когда нужно себе анус рвать, чтобы понять, как он работает.
За интересным рантаймом это тебе в Erlang/Elixir и виртуальную машину BEAM или взять тот же OCaml.
Аноним 22/09/20 Втр 16:40:45 181333171
>>1813258
Я уже хотел было написать развернутый ответ про микросервисы и фреймворки, но после этого
>попутно объясняя менеджменту, что такое моноиды и как залифтить монаду
передумал, слишком толсто. Менеджменту похуй на монады и технологии.
Для мимокрокодилов могу только сказать что
> весь LIghtbend стек в скала-коммьюнити считается легаси и не рекомендован для новых проектов.
только на дваче и можно услышать, большинство проектов как стартуют, так и остаются на нем. Хорошо это или плохо - другой вопрос.
>>1813263
Конечно есть рантаймы намного интереснее, да у той же JVM есть перимущества перед ним. Но для простых сетевых лоу-латенси сервисов он очень хорошо работает из коробки, как и CSP и то как он обрабатывает блокирующие вызовы. Ключевое слово здесь из коробки, его не нужно тюнить.
>OCaml
Интересно, а что в нем особенного?
>преимущество гоу в том, что можно взять условную похапэ-макаку
Это миф, на уровне "хороший программист осилит любой язык за неделю, они все одинаковые". Языки разные, и научиться писать идиоматичный код за неделю не выйдет. Кроме того, не похоже чтобы на Go писали макаки, судя по тому сколько за него платят.
>когда нужно себе анус рвать, чтобы понять, как он работает.
Что интересно, самый запутанный код который я видел в жизни бы написан на С# в абсолютно процедурной парадигме - только циклы, рекурсивные вызовы и изменения переменных. Ничего такого же сложного в скале со всеми ее фичами я никогда не видел, так что думаю что сложность, привносимая самим по себе языком очень преувеличена (кроме С++, но это отдельная история).
Аноним 22/09/20 Втр 17:12:01 181336372
>>1813331
>Менеджменту похуй на монады и технологии.
Нет, не похуй. Менеджмент понимает, что если начать проект на непопулярной технологии, то это может загубить весь проект. Так случилось с Моим Складом. Пока его писали борщехлебы на Scala, то дела у компании шли так себе - новых сотрудников было тяжело нанять и они стоили каких-то безумных денег, продукт был забагован и вхождение в проект было тяжелым испытанием для новых программистов. Но вод пришел Козуля и переписал проект на Java и теперь разработчики находятся на раз-два, проект очистился от FP-дерьма и теперь все будет ништяк.

>большинство проектов как стартуют, так и остаются на нем. Хорошо это или плохо - другой вопрос.
Ну вот M2 стартанул на лайтбенде (акка), а потом раз, и теперь они ищут людей только на typelevel стек со знанием кафки. Тут уже вкидывали видео, где еще одна компания в ужасе съебала с акторов на тайплевел и кафку и горя не знает.
Аноним 22/09/20 Втр 18:07:36 181343473
>>1813363
Сложность поиска людей конечно имеет значение, я скорее про технологии внутри одного языка говорил. Обьяснить разницу между lightbend- и typelevel-стеком менеджменту сложно, для них это сорта одного говна. Но lightbend продвинуть легче, если станет вопрос - мне вот недавно нужно было стек для нового проекта выбирать, я подумал-подумал над http4s + doobie, и решил что продвинуть akka-http + quill проще будет. Основные конкуренты были (и еще есть наверное) finagle и go, кстати.
> вот M2 стартанул
Понятно что кто-то переходит, но это единицы. Я достаточно часто на собеседованиях бывал (хотя последний год не хожу), чтобы иметь достаточно большую выборку.
>компания в ужасе съебала с акторов на тайплевел
С акторов кто угодно съебет в ужасе, а вот akka-streams вполне себе прилично работают и имеют огромное количество коннекторов. Я не то чтобы гоню на typelevel, просто он не и близко не занимает той доли проектов, что lightbend.
>ищут людей только на typelevel стек
>со знанием кафки
Если они действительно ищут людей со знанием этих обеих технологий, то удачи, хех. Что в той, что в той очень мало кто разбирается, а пересечение вообще почти пустое множество.
Аноним 22/09/20 Втр 18:26:12 181346074
>>1813363
Ага, помню обратную ситуацию в Приватбанке, когда в одном из отделов страшно обосрались со своей джявой, в этот день уволили нахуй СТО вместе с половиной джавадебилов, остальным был предложено изучить Erlang в кратчайшие сроки (к счастью простота языка позволяет) или съебать тоже. Дальше разработка в том отделе велась исключительно на Erlang правда с ним тоже в конечном итоге поели говна, очевидно надо было брать Haskell или на крайний случай Scala
Аноним 22/09/20 Втр 22:36:12 181362275
>>1813460
>Приватбанке
>обосрались со своей джявой
Как вообще такое возможно? Ну т.е. если обосрались с джавой, то там уже проблемы на уровне хромосом CTO.
А технологии и стек - вообще дело десятое.
Аноним 23/09/20 Срд 10:50:58 181392076
>>1813434
>Я не то чтобы гоню на typelevel, просто он не и близко не занимает той доли проектов, что lightbend.
Ру-сегмент Scala с тобой в корне не согласен. В их понимании Lightbend стек - это легаси и все адекватные компании сразу стартуют новые проекты на тайплевеле. Схожая риторика проскакивает и в зарубежном коммьюнити, где ту же Akka поливают говном и рассказывают как сладко живется на typelevel + Kafka.

>Если они действительно ищут людей со знанием этих обеих технологий
Сейчас как-бы 2к20 и от рядового бекендера требуют опыт работы с Kafka практически в обязательном порядке.
Никто не хочет пердолиться в кластеры или херачить микросервисы через какой-нибудь gRPC - все гоняют месседжы через кафку.
Аноним 23/09/20 Срд 10:52:31 181392277
>>1813460
Ну так это известная история. Там же Максимка опердени на своем ёрланге ебал. По итогу все вылилось в то, что его возвышенный код никто не понял из команды и все пошло по пизде. Учитывая то, что они и с джавой говна поели, то можно сделать вывод, что уровень разработчиков там было довольно низкий.
Аноним 23/09/20 Срд 13:29:55 181407878
>>1813920
>Ру-сегмент Scala с тобой в корне не согласен
Не очень знаком с ру-сегментом, даже скалалаз давно не слушал. Есть что почитать на эту тему?
>где ту же Akka поливают говном
То что в интернете все что угодно говном поливают - не новость. Не нужно из этого делать далеко идущие выводы.
>опыт работы с Kafka практически в обязательном порядке
Не толсти, кафка редко где нужна.
>>1813922 >>1813622
>если обосрались с джавой, то там уже проблемы на уровне хромосом CTO.
>с джавой говна поели, то можно сделать вывод, что уровень разработчиков там было довольно низкий.
Джава это залог успеха чтоле? Пишешь на ней и задачи сами собой решаются? Открою секрет, люди часто используют не мейнстримные языки именно из-за того что им надоело жрать на них говно.
Аноним 23/09/20 Срд 14:23:37 181415279
>>1814078

>Джава это залог успеха чтоле?

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



Аноним 23/09/20 Срд 14:25:57 181415780
>>1814078
>Открою секрет, люди часто используют не мейнстримные языки именно из-за того что им надоело жрать на них говно

ЭТО ПРЕКРАСНО, НО НАМ НУЖНО РЕАЛИЗОВАТЬ ЕРП СИСТЕМУ СУТЬ ТАКОВА ЕСТЬ БУХГАЛТЕРСКИЕ ПРОВОДКИ И ЕСЛИ ПОЛЬЗОВАТЕЛЬ ИГРАЕТ ЗА МЕНЕДЖЕРА, ТО БАЛАНСОВЫЕ СЧЕТА В ЛЕСУ СКЛАДЫ НАБИГАЮТ КОРОЧЕ ВОЗМОЖНОСТИ КАК В 1С
Аноним 23/09/20 Срд 14:42:58 181418481
>>1814078
>Есть что почитать на эту тему?
Достаточно открыть @scala_ru где общаются тимлиды и разработчики топовых компаний в СНГ и РФ.

>Не толсти, кафка редко где нужна.
Если мы отбросим Big Data на Scala и посмотрим на чистые бекенд позиции, то увидим, что там либо Akka, либо тайплевел с Kafka. Люди пишут микросервисы на тайплевел стеке, а для общения между этими микросервисами используется Kafka.
Есть истории, когда люди сидели на кластере из Akka, а затем переходили на связку typelevel + Kafka.
Кафка обеспечивает надежную доставку сообщений между сервисами.
В Java разработке она тоже повсеместно используется - пилятся сервисы на Spring Boot, а затем они связываются через Kafka.

>Джава это залог успеха чтоле?
Если грубо, то - да. Java это считай 50% успеха проекта. Это не только простой в освоении язык на котором может писать любая макака, но и десятки фреймворков за которыми стоят крупные компании и сотни библиотек на все случаи жизни. Большинство проектов основаны на Spring Framework, т.к. он позволяет тебе собрать каркас приложения за считанные минуты и начать накидывать бизнес-логику предоставляя различную функциональность через всевозможные модули. Ничего подобного в экосистеме Scala даже близко нет.
Я не говорю про простоту найма джава-разработчика, которых на рынке труда только в РФ - десятки тысяч. Это со Scala ты вынужден брать кого попало и учить на месте. С Java ты можешь выбирать лучших, т.к. пул разработчиков невероятно огромен.
Аноним 23/09/20 Срд 15:53:46 181426482
>>1814152
Готовые инструменты это замечательно, но помимо чисто технических аспектов есть еще и сложность доменной области. И проекты часто фейлятся из-за того что команда именно с ней не справляется, а не из-за того что в базу что-то записать не получилось или билиотеки не хватает. И вот хороший язык как раз позволяет писать логику понятно. Еще конечно случаются обсеры с архитектурой, например если пытаются в CQRS не подумав, или в 100 микросервисов, или, упаси Господи, какому-то долбоебу придет в голову связывать сервисы через Kafka. В общем такого чтобы обосрались просто из-за выбора языка я еще не встречал.
>>1814157
Ну так может 1С взять и все?
>>1814184
>@scala_ru
Зайду почитаю, чтоле.
>то увидим, что там либо Akka, либо тайплевел с Kafka
Да полно всего есть, Кафка далеко не везде. Ну и Акку с Кафкой часто видел, да и сам использовал.
>Кафка обеспечивает надежную доставку сообщений между сервисами.
Ты точно понимаешь что такое Кафка и что она отличается от очередей сообщений?
>Если грубо, то - да.
Все эти мифы про
> каркас приложения за считанные минуты
> и десятки фреймворков за которыми стоят крупные компании
уже в прошлом треде разобрали, не интересно уже.
Аноним 23/09/20 Срд 16:10:25 181427983
>>1814264
>В общем такого чтобы обосрались просто из-за выбора языка я еще не встречал.
Целую команду скалистов из озона на хуй выгнали и все переписали на Пщ.

>Ты точно понимаешь что такое Кафка и что она отличается от очередей сообщений?
Есть паблики, на которые подписываются клиенты. Ты туда складываешь сообщения и они доходят до получателя.

>Господи, какому-то долбоебу придет в голову связывать сервисы через Kafka.
Вот тебе история успеха, как команда свалила с Akka и переписала все на микросервисы + Kafka - https://youtu.be/_sIOwQdQPIQ?t=525
Аноним 23/09/20 Срд 19:34:27 181449484
>>1814279
>Целую команду скалистов из озона на хуй выгнали и все переписали на Пщ.
С чего ты взял что это связано именно языком? Истории миграции вообще интересные, можно почитать об этом кейсе?
>Есть паблики, на которые подписываются клиенты. Ты туда складываешь сообщения и они доходят до получателя.
Так обще можно о чем угодно сказать. Есть таблица в постгресе, кто-то туда кладет данные, а кто-то читает. Почти Кфака. У Кафки есть особенности, которые делают ее не слишком пригодной именно для использования как очереди сообщений, но очень классным распределенным логом событий.
>Вот тебе история успеха
Видел, как по мне это говорит только о том что ZIO вероятно пригодно к продакшену, а сырые акторы - неудобны, что впрочем достаточно известно. Если они организовали коммуникацию (именно коммуникацию, запросы-ответы, а не просто поток событий) между сервисами через кафку, ну что ж, земля пухом. Для этого должны быть какие-то очень серьёзные причины, которые я бы хотел узнать, будет очень интересно.
Аноним 23/09/20 Срд 22:53:52 181461285
>>1814279
Работаю в около биг дате.
Жидко обосрались с кафкой между компонентами и всё переделывали на http сервисы. Так как нужно было часто гонять большие сообщения между сервисами, а потеря одного сообщения ломала всё. При этом нам ещё надо было ответ отдать клиенту. Слишком поздно мы поняли что кафка не подходит для запрос-ответ систем.
Тот кто её привнес в проект конечно ушёл задолго до вскрытия проблем.

Теперь вижу кафку только как уведомлялку между интеграциями, для чего-то более серьёзного нужно писать овердохуя кода
Аноним 24/09/20 Чтв 04:40:20 181476286
>>1814494
>С чего ты взял что это связано именно языком?
>Команда борщехлебов рвала себе анус и безуспешно пыталась в этерпрайз, подсев на уши менеджеру, что "вот-вот и Scala всем покажет, ух покажет!".
>Менеджер видит, что работа стоит, выделенный бюджет тает на глазах, а все что он имеет - это команду великовозрастных ебланов, которые свои монадки додрочить не могут, чтобы наконец-то запустить пилот
>Вся команда борщехлебов идет на хуй и заместо нее нанимаются гоферы, которые в кратчайшие сроки запускают проект
Да, действительно, что же тут не так с языком, хмммм?!
Аноним 24/09/20 Чтв 04:42:54 181476387
>>1814612
>обосрались с кафкой между компонентами
>переделывали на http сервисы
>нужно было часто гонять большие сообщения между сервисами
>потеря одного сообщения ломала всё
Ты же в курсе, что в случае, если твой сервис, посылающий HTTP запрос умрет или пропадет соединение между двумя сервисами и твой запрос отвалится по таймауту, то ты его потеряешь навсегда?
Кафка же тебе позволяет гарантированно доставить сообщение в кластер, сохранить его на диск и так же надежно доставить до получателя. Сравнивать HTTP запросы и Kafka - как минимум странно.
Аноним 24/09/20 Чтв 11:00:08 181489488
>>1814264
>Ну так может 1С взять и все?

ЭТО СЛИШКОМ НИМОДНА МЫ ЖЕ СИРИУС ГАЛЕРА МЫ ДОЛЖНЫ ПРЕДЛАГАТЬ КЛИЕНТАМ УНИКАЛЬНЫЕ БИЗНЕС РЕШЕНИЯ.
Аноним 24/09/20 Чтв 11:30:35 181491589
>>1814762
Это твои фантазии или где-то можно получить более достоверную информацию об этом кейсе, чем от анонимуса с двача?
Суть в том что я не один проект сделал на Скале, и знаю еще больше успешных проектов как у знакомых, так и во всемирно известных компаниях. Так что я точно знаю что на скале можно писать очень быстро и качественно, хотя и допускаю что она может быть не оптимальным инструментом и некоторых ситуациях. И вот о таких случаях хорошо знать, чтобы не наступать на те же грабли.
>>1814763
Ты же в курсе, что в случае, если твой сервис, посылающий сообщение в Кафку умрет или пропадет соединение между сервисом и брокером и твой запрос отвалится по таймауту, то ты сообщение потеряешь навсегда?
>Кафка же тебе позволяет гарантированно доставить
Because Kafka is webscale.
>Сравнивать HTTP запросы и Kafka - как минимум странно.
Сравниваются способы организации коммуникации между сервисами. И Кафка - не самое подходящее решение. Казалось бы, почему не взять нормальную очередь сообщений, если обычные запросы не подходят?
>>1814894
Вот действительно сириус пацаны - https://habr.com/en/company/lsfusion/. Целый ЯП вместо 1С придумали.


Аноним 24/09/20 Чтв 11:50:53 181493290
Аноним 24/09/20 Чтв 12:07:56 181495591
>>1814915
>нормальную очередь сообщений
А ничего другого нормального и нет. RabbitMQ - это говно-говна, которое не умеет в кластеризацию (разваливается при split-brain) и херит данные, которые хранит в мнезии.

>можно получить более достоверную информацию об этом кейсе
Конкретно эта история затерялась за задворках scala_ru и scalaponv
Вот тебе еще история ребят, которые перешли со Scala на Пщ и горя не знают -
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/

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

Аноним 24/09/20 Чтв 14:36:23 181508992
>>1814955
> RabbitMQ - это говно-говна
> split-brain
Начинается, анонимус на двачах обсирает одну из самых проверенных в продакшене технологий. Во-первых, это может быть, а может не быть проблемой. Во-вторых, насколько я помню, стратегию обработки сплит-брейна можно конфигурировать. В-третьих, ты знаешь как Кафка сплит-брейн обрабытывает, или в чатике в котором ты вычитал про проблемы рэббита об этом не писали?
>А ничего другого нормального и нет.
Как минимум есть старый добрый ActiveMQ, NATS, SQS если на амазоне, если уж хочется велосипеды покрутить, можно что-то свое на ZeroMQ придумать, проще чем на кафке получится.
>Конкретно эта история затерялась за задворках scala_ru и scalaponv
Ну так и говори - я читал в каком-то чатике, что .... Не очень убедительно и полезно.
>Вот тебе еще история ребят, которые перешли со Scala на Пщ
Читал, у них там больше со scalaz проблема была и разными стилями. Ну и это 2015 год, эти уроки уже давно выучены.
>В одном случае ты кладешь мессендж в кафку и идешь дальше заниматься своими делами
И посылка в кафку может точно так же зафейлится, как и HTTP запрос.
>а в случае хтпп запроса - ты отправляешь его, ждешь ответ
В первом случае ты тоже должен ждать ответ, только он придет в виде сообщения в другом топике. После этого ты должен как-то сматчить запрос с ответом. Это можно реализовать, но достаточно сложно - не лучше ли позволить HTTP это сделать за тебя?
>В случае асинхронных запросов ты все равно жрешь ресурсы.
Соединение или что? С Кафкой ты его не держишь?
Аноним 24/09/20 Чтв 16:00:33 181516893
>>1814955
Это "говно говна" используют примерно все, лол. Просто как и у любой технологии у него есть свои ограничения. Конкретно раббиту, вроде бы, становится плохо при 300к сообщений в секунду (что-то такое я слышал от очень крупных ребят, которые имели его в продакшене), но при этом если у тебя есть такие нагрузки - ты или уже имеешь деньги на целый штат инженеров, чтобы тюнить его или переписать всё на гораздо более мудрёную кафку, или ты что-то сделал очень плохо и дидосишь сам себя.
А построение кластера и борьба со сплит-брейном - это сложная штука вообще всегда.
И да, раббит идеально подходит для простых проектов, потому что он прост в освоении и с ним легко работать. Кафка же сложная, как самолёт, с миллионом ручек, настроек и всякими зукиперами под капотом.
Аноним 24/09/20 Чтв 16:03:29 181517494
В чатиках говорят, что популярность scala падает, что scala используется в основном в data science (и то, потому что хадуп на ней написан) и как мейн язык она не очень, потому что очень узкая ниша.
Это правда? Она умирает или есть какие-то перспективы? (я слышал, хадуп написан на предыдущей мажорной версии скалы и, поскольку переписывать такую сложную хрень себе дороже, а хадуп - основной поставщик вакансий для скалистов, то новую скалу будет использовать заметно меньше народу)
Какие вообще подводные для вката?
Аноним 24/09/20 Чтв 16:04:00 181517695
>>1815168
Давай так - кролик разваливается при сплит-брейне и там нет никакой автоматики, которая бы собрала кластер обратно и отрезолвила сообщения между половинками. Все это нужно делать руками, включая перезапуск самого кролика. Поэтому люди уходят на кафку, т.к. там эти проблемы решены на уровне архитектуры.
Но если область твоих проектов - это какие-нибудь сельские интернет-магазины, которые хостятся на VPS за 300 рублей в месяц и их посещают полтора сельчанина, то да - кролик лучший выбор в качестве MQ.
Аноним 24/09/20 Чтв 16:09:59 181518996
>>1815174
Хадуп написан на Java. Apache Spark написан на Scala. Да, все верно говорят. 3/4 всех вакансий - это т.н. data science/big data/data engineer job, где Scala нужна на уровне DSL к Apache Spark. Остальные 1/4 всех вакансий это какие-нибудь мутные стартапы, которые пытаются в FP на котах, либо какие-нибудь залетные микрочелики, которые пытаются писать энтерпрайз на Akka, когда есть Spring.
Основные подводные заключаются в том, что без опыта в Java, ты вряд ли попадешь на позицию Scala разработчика, либо будешь сосать бибу первые 3-5 лет, пока выйдешь на адекватный уровень компенсации.
Большинство вакансий в РФ - это либо желтые банки (где царит своя, собственная атмосфера из тру ФП и наколенных поделок), либо компании поменьше, где эта Scala используется сбоку в маленьких командах (big data/akka).
Если хочется чего-то нового и не хочется побираться и нищенствовать, то попробуй Go - платят больше чем на Scala, куча вакансий, полно библиотек и фреймворков, отличная поддержка IDE и прочего тулинга, включая билд системы.
При этом учится он за месяц максимум. Дальше люди выдают боевой код.
Аноним 24/09/20 Чтв 16:12:09 181519097
>>1815176

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

Если много денег то берут вот такую хуету и забрасывают все эти ваши игрушки в долгий ящик:

https://www.ibm.com/support/knowledgecenter/SSMKHH/mapfiles/product_welcome.html
Аноним 24/09/20 Чтв 16:16:07 181519198
>>1815190
Зачем, когда в облаке уже есть все эти ваши очереди сообщений, через которые можно гонять сотни тысяч сообщений в секунду, отправляя их где-нибудь в Нью-Йорке и забирая в датацентре из Токио?
Аноним 24/09/20 Чтв 16:27:54 181519999
>>1815089
Так, понятно... Давай тогда тезисно:
- Scala используется преимущественно в big data (Apache Spark)
- За 11 лет существования так и не появилось нормальной поддержки со стороны IDE
- Билд тулы находятся в заднице по сравнению с Gradle/Maven
- Нет никаких киллер фич со стороны языка, которые бы сделали работу рядового разработчика проще и приятнее
- Нет никакой альтернативы библиотекам/фреймворкам из Java (Spring/Hibernate/Quarkus/etc). Все либо сырое, либо нужно пердолить очередную обертку самостоятельно
- Scala 3 окончательно добьет Scala, т.к. это по сути новый язык, а значит, что поддержка IDE откатывается на годы назад, библиотек нет, программистов нет, а те что есть - идут на хуй и все переписывается на Java/Go.
Аноним 24/09/20 Чтв 16:37:12 1815204100
Scala выпиливается усиленными темпами из всех продакшнов. Это мертвый язык, на который не стоит тратить ни секунды времени.

— Знаете, почему у LinkedIn много лет такой тормозной, глючный и неудобный сайт? Потому что они надолго увязли в Scala и до сих пор не могут оправиться — https://www.quora.com/Is-LinkedIn-getting-rid-of-Scala/answer/Kevin-Scott
— Twitter отказывается от Scala — https://www.quora.com/Is-Twitter-getting-rid-of-Scala
https://movio.co/blog/migrate-Scala-to-Go/
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/
http://uberblo.gs/2016/12/golang-is-really-awesome-and-why-it-beats-scala/jvm
Аноним 24/09/20 Чтв 16:52:18 1815209101
>>1815204
>It took some of us six months including some after hours MOOCs, to be able to get relatively comfortable with Scala. In contrast, we picked up ‘Go’ in two weeks. In fact, the first time I got to code some Go was at a Code Retreat about 10 months ago. I was able to code a very basic Mario-like platform game!

Nice, nice!
Аноним 24/09/20 Чтв 16:58:15 1815218102
>>1815204
>— https://movio.co/blog/migrate-Scala-to-Go/
Хуй знает. По мне так стоит посмотреть в сторону Go. Чувак описал буквально боль любого Scala разработчика. Нахуй себе волосы на жопе рвать, когда можно получать удовольствие от разработки?
Go звучит как история успеха.
Аноним 24/09/20 Чтв 17:07:57 1815233103
>>1815218
Го так-то норм, правда, лично мне там как раз недостаёт гарантий. Он в ряде мест слишком уж низкоуровневый и никак не страхует тебя от того, что ты забудешь проверить указатель перед разыменованием или не проверишь ошибку. Но при этом действительно очень простой, буквально "си с утиной типизацией и зелёными потоками".
Аноним 24/09/20 Чтв 17:13:55 1815243104
>>1815218
>процедурная параша из 80х без ничего
>поучать удовольствие от разработки

С goвном только только перед жатниками проповедовать.
Аноним 24/09/20 Чтв 17:21:51 1815248105
>>1815243
Просто у гошников есть куча интересной работы и зп в 300к а у тебя нет, вот и бесишься
Аноним 24/09/20 Чтв 17:22:06 1815250106
>>1815243
Ну, смотри. Haskell или какой-нибудь OCaml еще строже и предоставляют больше гарантий, только тулинг там никудышный и библиотек - хуй да нихуя. Пишут на них либо фанатики, либо какие-нибудь научные работники.
А нужен простой и понятный инструмент для решения типичных проблем с которыми сталкивается разработчик.
Аноним 24/09/20 Чтв 18:17:52 1815307107
>>1815248
Какая у гошников интересная работа? Этот недоязычек настолько невыразителен, что его применение в любом сложном домене на монолитном проекте неизбежно приводит к горам невменяемого быдлокода. Поэтому он подходит только для микросервисов, для плоской примитивной хуйни, исходя чисто из ограничений самого языка.
Может ли быть интересно писать сотни примитивной хуйни на 2.5 экшена и склеивать всё это воедино в основном девопс методами? Возможно, если ты студент или свитер.

П.С. вчера звали в калифорнийский е-комерс стартап, где они тоже стартанули на гоу, но потом решили что всё это хуйня, и без нормальной системы типов программировать нельзя и взяли скалу.
Аноним 24/09/20 Чтв 18:45:29 1815323108
>>1815250
Это принимается. С другой стороны, моделирование сложной предметной области на примитивном языке приводит к куче бойлерплейта с огромным пространством для потенциальных багов, особенно если в языке нет почти ничего для повышения сейвовости. В итоге, за счёт тулинга, инфраструктуры, малого порога вхождения, простоты самого языка ты действительно получаешь буст на старте, но при переходе в стадию продукта с поддержкой неизбежно ждёт возмездие, потому что одно дело накидывать goвнокод на стартапе, другое - менеджить крупную кодовую базу, которая прошла через кучу рук.
Scala как бы должна была стать посередине, с одной стороны дав инфраструктуру, с другой дав необходимые выразительные средства самого языка.

Ну и касательно изначального поста на который я ответил, фан от быдллкодинга на ЯП уровня бейсика может получать только вчерашний студент. Опытный разработчик либо вообще не получает никакого удовольствия, а только хочет побыстрее закрыть задачу в жире (типичный джява/пхп сениор), либо получает, но для этого нужен как минимум ЯП позволяющий ясно выражать абстрактные мысли, и go таким ЯП очевидно не является.
Аноним 24/09/20 Чтв 19:51:58 1815356109
>>1815176
Если ты думаешь что кафка как-то резолвит сообщения между половинками, то у меня для тебя плохие новости.
>там эти проблемы решены на уровне архитектуры.
Ну-ка расскажи, как по твоему мнению эта проблема решена в кафке, а мы посмеемся я-то знаю как, лол.
>>1815189
>без опыта в Java будешь сосать бибу первые 3-5 лет
Справедливости ради, переходить на новую платформу и изучать Скалу действительно сложно. Впрочем, если ты с С# или PHP захочешь на Java или Go переехать, тоже будет непросто.
>>1815199
Мы же про очереди сообщений говорили, разве нет? Ну а твоим тезисам (выдумкам):
> - Scala используется преимущественно в big data (Apache Spark)
Нет у меня такой статистики, но возможно.
>- За 11 лет существования так и не появилось нормальной поддержки со стороны IDE
Появилось. Тут спорить бесполезно, каждый может просто проверить.
>- Билд тулы находятся в заднице по сравнению с Gradle/Maven
Ну так используй мавен, в чем дело?
>- Нет никаких киллер фич со стороны языка, которые бы сделали работу рядового разработчика проще и приятнее
Есть, уже разбирали в прошлом треде.
>- Нет никакой альтернативы библиотекам/фреймворкам из Java (Spring/Hibernate/Quarkus/etc). Все либо сырое, либо нужно пердолить очередную обертку самостоятельно
Есть, и лучше. Я использовал обе экосистемы и работал с людьми которые их использовали. Тоже разбирали в прошлом треде.
>- Scala 3 окончательно добьет Scala, т.к. это по сути новый язык, а значит, что поддержка IDE откатывается на годы назад, библиотек нет, программистов нет, а те что есть - идут на хуй и все переписывается на Java/Go.
Я так не думаю: язык не новый, библотеки и идея уже подтягиваются. В любом случае, увидим через год.
>>1815250
> Пишут на них либо фанатики, либо какие-нибудь научные работники.
Либо компиляторы с криптой.
Аноним 24/09/20 Чтв 20:44:27 1815445110
>>1815323
Я бы очень хотел с тобой согласится, на самом деле. Только опыт показывает, что бизнес выигрывает от выкатки даже полусырых фич сейчас больше, чем от идеальных фич после и поэтому скорость найма обезъянок и выкатки говнофич - чуть ли не главное достоинство правильного айти стартапа.
Вот когда станет много денег - тогда можно будет и переписать. Только за такие деньги и с такой пользовательской базой уже все баги будут отловлены руками пользователей и обёрнуты в if'ы руками тех же обезьянок.
И я сейчас говорю даже не про го, а скорее про пехапе и plain js: я уже видел множество компаний, с разваливающимся спагетти-монолитом, которые были успешными финансово и им было вообще наплевать, что там работает. Переписывалось оно только и исключительно в том случае, когда всё ложилось от больших нагрузок и то часто дешевле плашку памяти купить или сервер мощнее, даже если там просто в цикле запросы в базу делаются.
К сожалению, качество не нужно практически никому кроме того, кто непосредственно с кодом работает. Пользователям кстати тоже не нужно, они очень консервативные и ленивые, им вообще не влом страницу обновить или вернуться через полчаса, они начинают отваливаться только если там действительно что-то ужасное.
Далее, можно было бы сказать, что такие языки как скала или хаскель должны помогать в тех областях, где вероятность ошибки критична, типа процессинга банковских транзакций - но я сам работаю в банке и знаю, что эти вещи элементарно пишутся на го и проблем с ними не возникает.
Далее, про го: да, мне хотелось бы больше гарантий и больше выразительности, но в реальности выгода от их использования неочевидна очень многим, потому что нормальные разработчики и так не забывают проверить указатель на nil и всё такое плюс пишут много тестов, на которых отлавливается подавляющее большинство глупых ошибок. Я вот вообще по tdd работаю.

Так что, к сожалению, мы живём не в идеальном мире и выразительность с мощностью и безопасностью нужны очень и очень мало кому. Особенно безопасность, гугл пароли для gmail до 2019 года в открытом виде хранил и всем было насрать, лол.
Аноним 25/09/20 Птн 07:54:23 1815631111
>>1815356
>Появилось. Тут спорить бесполезно, каждый может просто проверить.
Проверяй - https://youtrack.jetbrains.com/issue/SCL-18207

Остальное даже комментировать не хочу. Ты либо поехавший фанатик, либо на зарплате в JB/желтых банках.
Аноним 25/09/20 Птн 07:56:40 1815632112
>100 постов жирный тролль на самоподдуве тянет рандомные фразы из понва и смакует любой кейс где со скалой что-то пошло не так, в то время как сам пишет на пхп и жалуется что не может перейти на Scala

Хороший у вас тут тред. Ладно, скоро рабочий день начинается, пойду писать на Scala в прод за 4 средних зарплаты пхпшника.
Аноним 25/09/20 Птн 08:23:00 1815640113
>>1815632
>пойду писать на Scala в прод за 4 средних зарплаты пхпшника.
Ну расскажи-покажи! Ну расскажи-покажи!!
Аноним 25/09/20 Птн 14:47:13 1815859114
>>1815631
Ты и здесь обосрался, долбоеб. BSP - относительно недавняя разработка, как со стороны скалы, так в IDEA, так что баги там ожидаемы.
Для тех кто интересуестя скалой и просто мимокрокодилов: поддержка скалы и в IDEA хуже чем джавы, по вполне понятным причинам - джава приносит больше денег джетбрейнсу и проще как язык для анализа и компиляции. Я сам иногда сталкивался с тем что валидный код подсвечивается как некорректный и наоборот, а также что некоторые рефакторинги работают некорректно. С другой стороны, это и раньше нблаюдалось на коде использующем много магии системы типов (то есть 0.1% от всего кода, а во многих проектах 0%) и со временем ситуация улучшается (в 2013 действительно все было намного хуже). В любом случае, называть поддержку скалы не нормальной - не более чем троллинг, для каждодневной разработки ее хватает с головой.
>Ты либо поехавший фанатик
Да не сказал бы, просто пока Скала - самое удобное что есть на JVM.
>Остальное даже комментировать не хочу.
Слив засчитан. А мы еще даже на серьёзные темы вроде сплит-брейна говорить не начали, это тебе не какашками в ЯП бросаться, тут чтением чатиков не обойдешься.
>>1815445
В общем-то согласен, но вот это
>Только за такие деньги и с такой пользовательской базой уже все баги будут отловлены руками пользователей и обёрнуты в if'ы руками тех же обезьянок.
не вся правда. Проблема в том что софт развивается, и после определенного порога говнокода и количества ифов вносить измнения, не ломая уже сущесвующую функциональность становиться иногда невозможно, но чаще очень трудно, а точнее долго. А вот этого бизнес уже очень не любит.
>Пользователям кстати тоже не нужно, они очень консервативные и ленивые, им вообще не влом страницу обновить или вернуться через полчаса,
Так работает только если ты монополист.
>потому что нормальные разработчики и так не забывают проверить указатель на nil
Это сарказм?


Аноним 25/09/20 Птн 15:33:21 1815887115
>>1815859
> не вся правда. Проблема в том что софт развивается, и после определенного порога говнокода и количества ифов вносить измнения, не ломая уже сущесвующую функциональность становиться иногда невозможно, но чаще очень трудно, а точнее долго. А вот этого бизнес уже очень не любит.
Как бы да, но потихоньку рефакторится и всё такое. Таким изящным, каким он был бы на той же скале, код на го будет наверное никогда, но поддерживать +- приемлемую структуру и избегать соскальзывания в говномонолит можно очень долго. Это даже не вопрос языка, скорее умения писать достаточно абстрактно и знания, когда нужно немного порефакторить.

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

> Это сарказм?
Неа. Без шуток, я давно программирую на го и как правило перед использованием всё проверяется. Я согласен, что какой-нибудь maybe даёт больше гарантий и был бы лучше, но правда в том, что за последний год точно я не ловил nil pointer error ни разу (ну может во время тестов что-то падало, такое не запоминается).
Аноним 25/09/20 Птн 15:50:05 1815898116
Аноним 25/09/20 Птн 21:09:04 1816271117
>>1815640
Что тебе показать, дебич?
Аноним 25/09/20 Птн 22:33:40 1816344118
>>1815887
>Как бы да, но потихоньку рефакторится и всё такое.
Конечно, рабочий и даже поддерживаемый софт писали на намного более сложных в использовании языках чем джава и гоу. Просто я за то чтобы хоть чуть-чуть двигать индустрию в сторону более оптимальных подходов.
>Неа, даже в нишевых продуктах
В нишах как раз часто и возникают монополии. Но никто не будет ждать минуту пока загрузатся сайт, если рядом есть такой же, загружающийся за секунду.
>я давно программирую на го и как правило перед использованием всё проверяется.
Прямо в каждом методе? Это на уровне стайл-гайда у вас? В джаве/шарпе это не так распространено, и там NPE - наверное самая частая ошибка. В любом случае, такой подход имеет свою цену в плане боилерплейта, а глобально с ним можно очень далеко зайти - можно сказать что раст не нужен, нормальные разработчики не делают free after free и не допускают выхода за границы массивов, статические анализаторы кода не нужны, да и вообще нормальные разработчики не делают багов вне зависимости от языка.
Аноним 25/09/20 Птн 23:40:36 1816380119
>>1816344
> Конечно, рабочий и даже поддерживаемый софт писали на намного более сложных в использовании языках чем джава и гоу. Просто я за то чтобы хоть чуть-чуть двигать индустрию в сторону более оптимальных подходов.
Я тоже и излишняя примитивность го мне тоже кажется во многом ошибочной. Не во всём (в их подходе есть здравое зерно, надо сказать), но во многом. В областе дженериков - так точно, лол, благо что их таки введут в го2.

> В нишах как раз часто и возникают монополии. Но никто не будет ждать минуту пока загрузатся сайт, если рядом есть такой же, загружающийся за секунду.
я имел ввиду не монополии. Даже сраный интернет магазин, продающий матрацы, может позволить себе минутную загрузку корзины. Да, может существовать другой магазин, грузящийся за секунды и самая прошаренная часть аудитории уйдёт туда (до 20 лет, айтишники и то), но подавляющая часть - какие-нибудь бабушки, деревенские, рабочие с заводов и прочий пролетариат очень непритязательны, у них и так всё тормозит, потому что комп обвешан яндекс-барами и mailru-игорами, они разницы и не заметят.
Но это зависит от целевой аудитории, это 100%.

> Прямо в каждом методе? Это на уровне стайл-гайда у вас?
При использовании перед разыменованием, если параметр опциональный и ты не проверил его раньше.
Ну и всем известные правила вида "не пили сук на котором сидишь", "не передавай nil непонятно куда, если это явно не требуется" и тп. Может, звучит странно и небезопасно, но повторюсь - проблем с указателями у меня не было примерно никогда, при том, что я работаю в команде и мы пишем довольно много кода.

> В любом случае, такой подход имеет свою цену в плане боилерплейта, а глобально с ним можно очень далеко зайти - можно сказать что раст не нужен, нормальные разработчики не делают free after free и не допускают выхода за границы массивов, статические анализаторы кода не нужны, да и вообще нормальные разработчики не делают багов вне зависимости от языка.
Я осознаю, что такой подход небезопасен и ни в коем случае не говорю, что он правильный. И даже выше писал, что мне такое не очень нравится. Просто заметил, что при этом в реальной работе таких ошибок не настолько много, чтобы суровая необходимость в таком подходе чувствовалась. Поэтому многим отбитым гошникам и сишникам он кажется избыточным.
А линтер в го кстати очень мощный, много чего отлавливает, рейс детектор вообще огонь.
Аноним 26/09/20 Суб 06:07:00 1816473120
>>1815859
>поддержка скалы и в IDEA хуже чем джавы, по вполне понятным причинам
Причина ровно одна - действительно важные фичи на вроде рефакторингов, инспекций кода, поддержки всевозможных фреймворков и т.д. есть в Ultimate версии IDEA для Java. В Scala за 11 с лишним лет существования плагина ничего такого не появилось, ровно как и нормального анализа кода, который бы не подсвечивал все красным. А, ну и в Ultimate версии для Scala ничего нет. Именно поэтому все сидят либо на Community, либо на EAP. Иными словами - разработка Scala плагина не приносит JB ни копейки.
Аноним 26/09/20 Суб 12:31:11 1816549121
>>1816380
> В областе дженериков - так точно, лол, благо что их таки введут в го2.
Интересно, кстати, будет посмотреть насколько go2 останется простым языком. Очень часто бывает что решения приклееные сбоку оказываются сложнее чем если бы проблему решали в изначальном дизайне.
>Даже сраный интернет магазин, продающий матрацы
Тут остается надеятся что через какое-то время сайты-магазины можно будет создавать без помощи программистов, а они будут заниматься более сложными задачами.
>подавляющая часть - какие-нибудь бабушки, деревенские, рабочие с заводов и прочий пролетариат очень непритязательны
Они действительно непритязательны к производительности (до определенного предела), но часто чувствительны к плохим интерфейсам - видел как приложения из телефона удаляли после минуты использования, а баги, особенно связанные с проебом данных никому не нравятся, особенно в B2B приложениях. Ну и если тормозит не магазин, в который ты заходишь раз в год, а что-то чем ты пользуешься каждый день, тут и работяга с завода альтернативу искать начнет.
>если параметр опциональный
Ну это понятно. А что если нет? Обычно проблема с null возникает когда его передают вместо обязательного параметра, а туда он в свою очередь попадает как результат вызова какой-то другой функции. По сути, нужно проверять не столько переданые параметры, а скорее возвращаемые значения. Это еще осложняется тем что функция, которая раньше нулы не возвращала, может начать это делать без изменения сигнатуры. А значит, эти проверки нужно делать просто всегда или же рано или поздно получишь NPE. С другой стороны, может в го это как-то по-другому обходится, или эти логические ошибки все равно существуют, но проявляются в другом виде. А может вы просто контролируете 90% используемого кода, не интегрируетесь с большим количеством библиотек и ловите все тестами.
>>1816473
>Причина ровно одна
Пока я нашел ровно одну причину нелепости твоих высеров - не никогда не пользовался тем, о чем пиздишь. Этот пост только подтверждает мой вывод.
>действительно важные фичи на вроде рефакторингов, инспекций кода, поддержки всевозможных фреймворков и т.д. есть в Ultimate версии IDEA для Java
Ultimate версия для Java действительно дает поддержку фреймворков, все остальное доступно в CE. Еще многие языки доступны только в Ultimate, если мне не изменяет память Node.JS, Python, PHP, Go.
>А, ну и в Ultimate версии для Scala ничего нет.
Есть, как раз таки поддержка фреймворков, а именно Akka и Play.
>Иными словами - разработка Scala плагина не приносит JB ни копейки.
Иными словами ты думаешь что бизнес потратил 11 лет и кучу денег на то что им не приносит прибыль, хотя бы косвенно?

Аноним 26/09/20 Суб 17:29:37 1816886122
>>1798168 (OP)
На сколько хороша Scala в serverless? Как лучше всего собрать программу, чтобы не попасть на БАБКИ?
GraalVm - глюкодром и анальная лицензия от Оракула. Scala.js - еще один глюкодром, к которому подключается знание помоев в виде Node.js. Scala Native заброшен и по сути не имеет никаких байндингов к тому же AWS Lambda.
Аноним 26/09/20 Суб 20:15:32 1816994123
>>1816473
может потому что в жяве ты бойлерплейтишь и из-за этого тебе нужны рефакторинги сложные, а в скале бойлерплейта не так много из-за типов?
Аноним 27/09/20 Вск 01:54:55 1817114124
>>1816549
> Интересно, кстати, будет посмотреть насколько go2 останется простым языком. Очень часто бывает что решения приклееные сбоку оказываются сложнее чем если бы проблему решали в изначальном дизайне.
Ага, мне тоже интересно, во что в итоге это выльется.
> Тут остается надеятся что через какое-то время сайты-магазины можно будет создавать без помощи программистов, а они будут заниматься более сложными задачами.
Ну да. Только какой-нибудь pleer.ru (а сайт такого размера и сложности не так-то просто сделать "на цмске") может всё равно выглядеть всрато, обладать отстойным сервисом и при этом "жить".
> С другой стороны, может в го это как-то по-другому обходится, или эти логические ошибки все равно существуют, но проявляются в другом виде.
Ты наверное проводишь аналогии с джавой. В го можно передавать переменную по значению и тогда ты не сможешь передать вместо неё nil, а можно передать указатель на переменную и вот он может быть пустым. Но аргумента для передачи указателя может быть ровно два:
- или это опциональный аргумент и тогда его всё равно придётся проверять перед использованием;
- или мы специально передаём указатель вместо передачи по значению, чтобы не нагружать гц лишний раз (такое делается не всегда, а только если в каком-то месте на больших нагрузках гц проседает и приходится руками оптимизировать код) - но в таком случае ты всё равно будешь передавать аргумент вообще всегда и никогда не передашь nil, потому что ты знаешь, что он обязательный и указатель там чисто ради оптимизации.
Там есть отдельный момент, что вместо любого интерфейса (в смысле, когда вместо явного типа функция принимает интерфейс) можно передать nil и вот это жопа (и огромный камень в огород авторов го), потому что естественно никто в каждой функции не будет писать повторяющуюся лапшу типа if arg == nil return error - но реально это решается коллективным договором "никогда, вообще никогда не передавать nil вместо интерфейса". Звучит пиздец, конечно, но на самом деле это практика аналогичная "чисти за собой память" в си или "не делай die внутри библиотеки" вообще везде, просто никто никогда так не пишет, а если пишет - такой пакет никто не использует.
> не интегрируетесь с большим количеством библиотек
Их не так много, как в js, это да - но при этом почти все следуют тем же правилам, которые я описал выше, так что с этой стороны всё нормально.
> ловите все тестами.
Тестов пишем дофига, это верно, но даже не ради безопасности, а потому что так удобнее. Лень самому долбить в localhost джсончиками, когда тестируешь только написанный код. А так ты и проверяешь то, что только что написал - и на будущее тесты остаются. Хотя это настолько легко только потому, что у меня выстроена вся инфраструктура для тестов: под тесты создаются бд, миграции, вот это всё - и поэтому я реально только предсоздаю данные, шлю запрос и потом проверяю ассертами ответ.
И да, даже на тестах я не помню, чтобы были какие-то частые проблемы с указателями, значит, или не было совсем, или так редко и такие тривиальные, что в памяти не отложились.


Аноним 27/09/20 Вск 01:59:37 1817116125
>>1815356
> я-то знаю как, лол
Расскажи, пожалуйста, мне интересно
Аноним 28/09/20 Пнд 17:17:42 1818265126
>>1817114
>может всё равно выглядеть всрато
Да может. Вопрос в том почему нет конкурентов. Хотя может они и есть и отжирают у него аудиторию. Ну и у бизнеса могут быть другие преимущества - цены у магазинов и например количество уже существующих пользователей. В B2B с этим посложенее - если твои платные сервисы проебывают чье-то время или деньги, это не может продолжаться бесконечно (хотя может долго по разным причинам).
>никогда, вообще никогда не передавать nil вместо интерфейса
А что делать если тебе нужно вернуть значение которого у тебя нет? Нет пользователя в базе или ключа в мапе? Или не получилось выделить память, как в malloc? Почти во всех языках, которые я немного знаю (условно С, Python, C#, Java, Clojure), для этого обычно используется null и именно отсюда и вылезает пресловутая billion-dollar mistake. В С++ используют что попало, в Scala - Option или похожие типы. А в Go какой принят паттерн обработки таких ситуаций?
>Тестов пишем дофига, это верно, но даже не ради безопасности, а потому что так удобнее
Это радует, а то в 2020 все еще есть ебанутые, который именно что руками JSONы пуляют.
>>1817116
Гугли in-sync replica set и unclean leader election. Возникнут конкретные вопросы, спрашивай.
Аноним 29/09/20 Втр 11:34:51 1818719127
>>1798168 (OP)
Все, кто хотел вкатиться в Scala, рекомендую прочитать сегодняшний срач тимлидов крупных контор в scala_jobs, которые на пальцах объясняют, что перебежчиков, вкатунов и прочих мутных личностей им не надо. А нужны люди с опытом (минимум 1 год коммерческого опыта разработки), чтобы войти в Scala. При этом они подтверждают, что в Scala люди идут не за высокой зарплатой, а за возможностью работать над сложными задачами, которые, по какой-то причине, невозможно решить на Java.
Аноним 29/09/20 Втр 14:12:24 1818809128
>>1818265
> Да может. Вопрос в том почему нет конкурентов. Хотя может они и есть и отжирают у него аудиторию.
Всегда есть конкуренты. Но при этом практически невозможно захватить ровно 100% рынка, всегда будут недовольные, кому не понравился дизайн или просто кто в гугле не на ту ссылку ткнул. Так что в B2C ты не обязан даже быть лучшим - просто держи свой говносайтик и живи, пока твой доход меньше твоих расходов. Тем более, что там куча маркетинговых механизмов, скидочки, реклама, вся хуйня. Если у тебя говносайт - то тебе сложно стать лучшим, но это не означает, что ты умрёшь, короч.
> А что делать если тебе нужно вернуть значение которого у тебя нет?
Ага, через указатель, точнее, указатель с ошибкой: в го функция может возвращать несколько переменных (как правило это [pointer, error]) - и гошные линтеры умеют понимать, проверил ты это ошибку или используешь указатель "всырую".
Но даже если функция возвращает только указатель (хотя так обычно не делают), если это геттер, то ты же не дурачок и сразу напишешь что-то вида
```
val := GetVal()
if val == nil {
return err
}
// use *val
```
и убьешь возможную ошибку в зародыше.
Было бы лучше, если бы были к примеру юнион тайпы и в го можно было писать `func Foo() (value | error)`, но чего нет, того нет :(
Аноним 29/09/20 Втр 17:27:57 1818954129
>>1818719
>работать над сложными задачами, которые, по какой-то причине, невозможно решить на Java
Божечки, что же это за задачи такие-то?
Аноним 29/09/20 Втр 17:52:06 1818978130
>>1818954
Очевидно, написать кастомный scala-based-dsl.
Аноним 29/09/20 Втр 18:05:55 1818997131
>>1818954
this >>1818978 Типа сложный домен (обычно финансовый), где нужно накрутить побольше тайпклассов и упороться монадами на отличненько. Все как один негативно относятся к Akka/Play/Slick и говорят, что это "не тру скала" и что им "жаль" людей, которые тратят время на беттер джава подход, когда можно все тоже самое писать на котах.
Аноним 30/09/20 Срд 01:25:23 1819263132
>>1816886
Все хорошо с GraalVM, спроси у жейли в скалачяти.
Аноним 30/09/20 Срд 08:40:44 1819355133
>>1819263
>жейли
Жейли с Каем (Михаилом) - это как Весемир с Геральтом из мира Ведьмака. Они же ебанутые на всю голову.
Аноним 30/09/20 Срд 13:36:36 1819608134
А чо есть варианты со скалой в Украине? или лучше уже питон + го?
Аноним 30/09/20 Срд 13:59:24 1819647135
>>1819608
Немчинского послушай по Scala. Он дурного не посоветует. Там грамотный разбор, между прочим.
Аноним 30/09/20 Срд 16:50:04 1819800136
>>1818719
> сегодняшний срач тимлидов крупных контор в scala_jobs
Видимо потёрли уже, ничего не нашёл :(
Аноним 30/09/20 Срд 17:46:29 1819859137
>>1818978
>Очевидно, написать кастомный scala-based-dsl.
Что еще можно услышать в скала треде кроме - скала ради скалы.

Нет такой бизнес задачи написать кастомный scala-based-dsl, есть задачи где это один из вариантов решения. Но кастомный DSL можно много на чем написать, есть и котлин и груви, в конце концов ANTLR.


>>1818997
>Типа сложный домен (обычно финансовый), где нужно накрутить побольше тайпклассов и упороться монадами на отличненько.
У кого в руках скала - тому все кажется тайпклассами и монадами.
Аноним 30/09/20 Срд 18:19:30 1819884138
>>1819859
>У кого в руках скала - тому все кажется тайпклассами и монадами.
Эти разговоры не на пустом месте появились. Большинство бекенд вакансий - это коты и прочий тайплевел стек. А это тайпклассы через тайпклассы.

Ни спарк ни лайтбенд стек не признается в скала коммьюнити как тру-скала. Хотя вакансии по спарку еще присутствуют.
Аноним 01/10/20 Чтв 03:59:31 1820223139
image.png 97Кб, 2350x768
2350x768
image.png 47Кб, 1134x678
1134x678
>Ни спарк ни лайтбенд стек не признается в скала коммьюнити как тру-скала
Коммьюнити уровня чатиков в телеге?
Коты, как видишь, растут. Ну так выучи если работу не найти, делов-то.
Аноним 01/10/20 Чтв 04:06:55 1820225140
>>1819859
>Нет такой бизнес задачи написать кастомный scala-based-dsl
Там выше "сложными задачами, которые, по какой-то причине, невозможно решить на Java".
Как видишь, слова "бизнес", там нет.
01/10/20 Чтв 08:25:12 1820241141
>>1820225
>Там выше "сложными задачами, которые, по какой-то причине, невозможно решить на Java".
>Как видишь, слова "бизнес", там нет.
Там еще выше
>При этом они подтверждают, что в Scala люди идут не за высокой зарплатой, а за возможностью работать над сложными задачами, которые, по какой-то причине, невозможно решить на Java.
Как видишь там есть слово "работать", что подразумевает решение именно бизнес задач, а не скала ради скалы.
Аноним 01/10/20 Чтв 09:59:19 1820264142
>>1820223
>Ну так выучи если работу не найти, делов-то.
Ах если-бы все было так просто! Ведь в РФ никому не нужен перебежчик без коммерческого опыта в Scala. Ну и вакансии на котах меня ничуть не возбуждают. Ведь я могу лишь только догадываться сколько боли и унижения приходится терпеть рядовому программисту, которые в очередной раз пытается реализовать тайпкласс из котов, а идея все краснит!
Аноним 01/10/20 Чтв 20:38:00 1820766143
>>1820264
>Ведь в РФ никому не нужен перебежчик
Ищи работу не только в РФ.
Аноним 02/10/20 Птн 07:55:45 1821026144
>>1820264
>Ну и вакансии на котах меня ничуть не возбуждают
Ну и че ты в скалатреде забыл, если тебе ни betterjava ни ФП стек не нравятся, опущ? Иди на питоне пиши скрипты.
Аноним 02/10/20 Птн 09:29:41 1821039145
>>1821026
>betterjava
Отсутствие вакансий как класс. Общественное гонение на лайтбенд стек.

>ФП стек
Полторы вакансии в РФ, где нужно 3 года коммерческого опыта на котах и прочих фс2, минимум. Весь фп-стек - это леваки из тайплевела + пару отбитых кадров на вроде болгарина, который топит за дайверсити, и какого-то чела, которого поперли из твиттера и теперь он воюет с воображаемыми белыми супремасистами и пишет жысон парсеры.
Аноним 02/10/20 Птн 11:49:34 1821110146
>>1821026
Тааак, сейчас буду писать масштабируемые приложения на Скэйле!
@
Падажжиии, а почему ИДЕЯ краснит! Тааак...
@
Что же это такое, почему Скейла срет в хип! Падажииии!
@
Хм, а это что за закорючка?! Таааак!
@
Да как так то?! Почему всего 1к запросов в секунду! У на с же должно быть РЭКТИВ ПРАГРУММИНГ! Тааак, падажжии!
@
Михал Брсыч, ну дайте еще полгода - мы все на котлин перепишем и людей наймем!
@
Сап /pr, мне не перезванивают...
Аноним 03/10/20 Суб 23:34:25 1822473147
>>1813363
> Нет, не похуй. Менеджмент понимает, что если начать проект на непопулярной технологии, то это может загубить весь проект. Так случилось с Моим Складом. Пока его писали борщехлебы на Scala, то дела у компании шли так себе - новых сотрудников было тяжело нанять и они стоили каких-то безумных денег, продукт был забагован и вхождение в проект было тяжелым испытанием для новых программистов. Но вод пришел Козуля и переписал проект на Java и теперь разработчики находятся на раз-два, проект очистился от FP-дерьма и теперь все будет ништяк.

Я уж сильно извиняюсь, что отвечаю на пост далекой давности. Но блэт, какая же бредятина здесь написана. У МоегоСклада на Scala.js был написан только один маленький подпродукт (онлайн-касса), который не так уж сильно влиял, и говорить, что у компании шли дела плохо из-за этого - просто большая и наглая ложь. Основную прибываль в компании приносил сам МойСклад (невероятно, да), в котором скалы нет и использовался супер-древний полу-мертвый Java EE стэк (немножно вру, ибо капелька скалы в виде, например, джавовой обертки на скаловым персистентным вектором там была в коде). И лучше бы в МС хотя бы использовали Scala.js на фронте, ибо в реальности там используется для этого GWT, о котором ничего кроме кучи мата сказать вообще нельзя.

мимо бывший сотрудник МС, который ушел в скалу
Аноним 04/10/20 Вск 11:54:53 1822724148
>>1821039
Ты бот, который на кейворды триггерится? Или ты просто малолетний дебил, которому понабрасывать хочется?

- СКАЛА ГОВНО
- Ок, говно так говно, хуле ты в треде забыл?
- СКАЛА ГОВНО РАБОТЫ НЕТ
- Ну не нравится так пиши на пхп
- ГОВНО ГОВНО

Всем похуй, чел

Аноним 05/10/20 Пнд 17:08:02 1823793149
>>1798168 (OP)
Аналитика по Akka подоспела -

>Вот в акке ты что-то добавил и у тебя всё развалилось, и ты об этом не узнаешь
Аноним 05/10/20 Пнд 19:31:09 1823881150
Прохожу степик, беру спецкурс в унике и иду в жёлтый банк на 300кк/нс, подводные?
Аноним 05/10/20 Пнд 20:44:56 1823931151
>>1823881
> подводные?
На собеседовании тебя травят виабушники с котами на аватарках
Аноним 06/10/20 Втр 08:14:05 1824123152
>>1823881
Проходить курс от Олега стоит только в случае, если ты потом собираешься идти в финтех школу Тинькофф и являешься при этом студентом. Только учти, что туда подаются одни из лучших ребят, которые побеждают в межнарах и щелкают задачки с литкод уровня HARD как орешки перед завтраком. 300кк/нс тебе, конечно же, никто не предложит. Типичная вилка для рядового разраба с 3-5 годами опыта - 100-130к. Сам желтый банк теперь куплен Яндексом (на самом деле Сбербанком, который держит "49%" акций Я).
В зависимости от вакансии, тебя ждет либо скандальная бабенка, которая будет тебе выносить мозг, доказывая, что Option - это не монада. Либо будет челик из инвестиций, который обмазывается тофу и прочими поделками ирландских бездельников, которые дожидаются выдачи паспортов.
В любом случае, перспективы у тебя далеко не радужные.
Аноним 06/10/20 Втр 10:42:35 1824181153
>>1824123
> ирландских бездельников
С трактором на аватарке?
Аноним 07/10/20 Срд 16:56:31 1825302154
>>1798168 (OP)
Неистово проигрываю в голосинушку с вакансий, которые вкидывают в скала_джоубс. "до 200к!", "ищем строго сеньоров!", "5 лет на спарке!", "физмат или математическое образование!". Какие-то мутные конторки, онлайн-казино из Литвы, где заебанные жизнью крупье со слезами на глазах крутят рулетки. Какие-то "стартапы" из Эстонии и Финки, пытающиеся найти сенек на 2к баксов через ИП.
Все эти "вакансии" не имеют ничего общего с настоящей работой, которую можно лицезреть в про_джмджобс. Вот где работа так работа! Каждый день вкидывают по 5-7 новых вакансий и все как на подбор - адекватные требования, вилки от 150 до 400к и выше (для лидов и крутых парней). Все хорошо у джавистов. Одни скалисты работают не за зарплату, а ради интересных проектов и пердолинья монад.
Аноним 09/10/20 Птн 10:40:39 1826454155
>>1798168 (OP)
Очередная вакансия в скала_джоубс. Очередная компания пытается найти Apache Spark разработчика на вилку до 175к, лол.
Аноним 12/10/20 Пнд 09:50:58 1828332156
>>1798168 (OP)
Как начать писать пет-проекты? Прочел несколько книг, но все равно появляются моменты, когда я понимаю, что освоил не всю скалу. Понимаю, что без пет-проектов мое резюме даже рассматривать не станут, а на собеседованиях, скорее всего, будут попускать на алгоритмических задачках и каких-нибудь тонкостях языка на вроде линеаризации трейтов, например.
Аноним 12/10/20 Пнд 12:51:19 1828414157
15900179550350.png 506Кб, 653x995
653x995
>>1828332
О, да, знаю эту проблему. Творческий кризис.
Если в кратце, старайся почаще задаваться вопросом "хуйнянейм не существует, а было бы супер, если бы она была".
Возможно, на андройде нет клиента для твоего любимого сервиса?
Или один бот в телеграмме работает не так хорошо, как бы тебе хотелось (если он вообще есть)?
Или ты бы хотел, чтобы малинка крутила резитивный диммер на маслянном обогревателе?
Аноним 12/10/20 Пнд 13:29:48 1828448158
>>1828414
У меня нет проблемы с идеями проектов. Я боюсь, что мой код на Scala будет не оптимальным или всратым, в духе Java, т.к. я могу не знать каких-нибудь фишечек или паттернов, которые распространены в Scala-мире. Из-за этого у меня некого рода паралич, когда просто записываю и анализирую идеи (выбираю библиотеки и фреймворки, ищу аналоги и анализирую, что я мог бы улучшить, рисую архитектуру), но за написание кода так и не берусь...
Аноним 12/10/20 Пнд 13:32:19 1828449159
>>1828448
Попробуй вкатиться как стукнет совершеннолетие
Аноним 12/10/20 Пнд 13:39:43 1828459160
Аноним 12/10/20 Пнд 15:17:59 1828579161
>>1828449
Почему ты такой жестокий? Я гребу джавистом и хочу перейти в скалу. Вот из-за таких как ты, люди уходят из скала-коммьюнити.
Аноним 13/10/20 Втр 14:12:27 1829243162
>>1828579
У тебя на работе скорее всего есть куча штуковин, которые возможно многим лень сделать (ну или просто нахрен не нужно, а тебе может быть весело). Такие штуки и есть отличный плейграунд для маленьких пет-прожектов. Не факт, что кто-то будет использовать, не факт, что получится годно, но для игр с интересным стеком такие задачи прекрасно подходят.

Чаще всего можешь посмотреть в сторону CD (в очень многих проектах, особенно свежих, это целый простор для своих тулзов)
или, например, если сервис большой и публичный и с предыдущим пунктом все ок, можно написать какую-нибудь тулзу, играющуюся с АПИ. А может у тебя тестеры есть? Вот посмотри, что им не хватает.
Аноним 15/10/20 Чтв 18:17:17 1831407163
Приходите к нам в scala-коммьюнити, здесь вас ждут:

- Лысый рекламщик-нацист
- Психически неуравновешенный Мистер Коричневый
- Гей-пара из Ирландии
- Поехавший тимлид из желтого банка с аниме на аватарке
- Телеграм-пацаны с λ и [F] в именах
Аноним 15/10/20 Чтв 19:54:15 1831493164
>>1831407
Шавка Трэвиса? Это ты?!
Аноним 16/10/20 Птн 20:50:19 1832273165
image.png 1403Кб, 998x650
998x650
>>1824123
> Option - это не монада
Аноним 17/10/20 Суб 08:11:41 1832489166
>>1832273
Определение монады почитай, дружок. И какие лаус она реализует.
Аноним 18/10/20 Вск 01:32:43 1833247167
Аноним 18/10/20 Вск 03:57:31 1833292168
Аноним 18/10/20 Вск 08:39:30 1833338169
>>1832489
И какой же из законов нарушает опшн, еблан?
Аноним 18/10/20 Вск 08:54:13 1833340170
>>1833338
Еще раз - Опшн это монада и она следует лаус монады, а именно реализует методы мэп и флэтмеп и является тайпклассом.
Аноним 18/10/20 Вск 09:48:28 1833347171
image.png 1513Кб, 998x650
998x650
>>1833340
>лаус монады, а именно реализует методы мэп и флэтмеп и является тайпклассом.
Аноним 18/10/20 Вск 10:15:13 1833352172
>>1833347
Я тебе еще раз объясняю, что монада - это тайпкласс с методами мэп и флетмеп. Почитал бы красную книгу.
Аноним 18/10/20 Вск 10:30:46 1833356173
Аноним 18/10/20 Вск 12:59:11 1833398174
image.png 516Кб, 750x716
750x716
Аноним 18/10/20 Вск 13:57:28 1833456175
>>1833398
Открой любое пояснение, что такое монада и увидишь, что это тайпкласс с методами мэп и флетмеп.
Аноним 18/10/20 Вск 14:12:29 1833472176
>>1833456
>Открой любое пояснение, что такое монада
Но ведь монада - это коробка, из которой вантуз выталкивает значение...
Аноним 18/10/20 Вск 15:31:23 1833538177
e053d7ed34654fa[...].jpg 9Кб, 431x300
431x300
1c22f3a8336dad8[...].png 111Кб, 580x713
580x713
>>1833472
Каждый раз в голос.
Аноним 18/10/20 Вск 19:11:55 1833719178
>>1833456
Ты каждым постом мисконцептишь или путаешь вообще всё от теортиповых категорий до подходов к их реализации
Аноним 18/10/20 Вск 21:01:04 1833920179
>>1833456
Ващет монада определяется тайп конструктором М с двумя операциями:
return :: a -> M a
join :: M (M a) -> M a

где join можно заменить на bind

bind :: M a -> (a -> M b) -> M b
Аноним 19/10/20 Пнд 19:48:32 1834823180
>>1833456
Объясните уже кто-нибудь этому долбоёбу, что монада - это функтор T: K->K с двумя известными естественными преобразованиями, а все эти тайпклассы и мапы - это специфика реализации монад в конкретном ЯПе или даже библиотеке.
Аноним 20/10/20 Втр 18:59:03 1835568181
>>1834823
Ну ты еще скажи что монада это моноид в категории эндофункторов, в чем проблема?
Аноним 20/10/20 Втр 19:04:26 1835573182
>>1835568
Это уже лишнее. Мой поинт был в том, что монада - это концепция, а тайпкласс с методами - это какая-то конечная уебищная реализация.
Аноним 26/10/20 Пнд 10:17:58 1839941183
Здравствуйте.
Учусь на старшем курсе и задался вопросами. Есть ли смысл вкатываться в скалу через Олежа-банк в Екате? И смогу ли я потом перекатиться в другую компанию на скалиста? Ведь жёлтый банк вроде как на тофу пишет.
Аноним 26/10/20 Пнд 12:27:42 1840005184
>>1839941
>Учусь на старшем курсе
Нет, не стоит. Вкатывайся в джаву или питон.
Аноним 31/10/20 Суб 14:05:33 1844748185
>>1840005
Да, конкуренции меньше будет на скале. Пусть лучше подемпингует зпхи на Яве. Питонистам и так платят копейки.
Аноним 18/11/20 Срд 10:43:46 1859258186
изображение.png 114Кб, 1279x663
1279x663
изображение.png 58Кб, 1209x390
1209x390
изображение.png 58Кб, 985x410
985x410
Друзья, помогите, не знаю как такое загуглить.
У Apache есть либа kafka_2.12, я использую версию 2.3.1

В ней есть класс (Пик1)
Когда я подключаю как библиотеку в джава проект, я могу обращаться к этой штуке так: new RackAwareMode.Safe$()
Идея показывает байткод Пик2

Я попытался зашейдить эту зависимость с релокейтом ЗК, И теперь у меня нет доступа до Safe$ - не видно ее из джава класса + байткод стал другим (Пик3)

От чего это может зависеть? думал от таргет версии двм, но вроде как нет... Как такое гуглить?
Аноним 18/11/20 Срд 12:38:59 1859298187
>>1859258
Ух бля.
По идее делать new для обращения ко вложенным object тебе не нужно, гугли "scala static forwarders".
В остальном я хз, видимо зависит от того, как именно ты делаешь релокейт.
Но вообще, почему бы не написать код на скале, либо просто взять джавовый кафка клиент?
Аноним 18/11/20 Срд 15:39:48 1859371188
>>1859258
>>1859298
контекст: кровавый тырпрайз на джаве, а мне нужно обновить версию зукипера, при этом кафке нужна старая версия ЗК (Зукипер), поэтому я зашейдил кафка-зависимость и релокейтнул ЗК.

В итоге такой отвал жепы скалы случился.

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

способом тыка понял, что эта проблема появляется когда релокейт происходит
добавил в релокейт пакет, где лежит проблемный класс (kafka.admin) и все заработало.

Не знаю почему так :(
Аноним 18/11/20 Срд 17:15:01 1859442189
>>1859371
>>1859371
а нет я долбаеб, нихуя не заработало. я же импорты не поменял после релокейта сука. блять как же заебало
Аноним 18/11/20 Срд 19:30:49 1859507190
>>1859442
А ты шейдил бинарник кафки? Что-то по байткоду не видно, чтобы там что-то в другой пекедж уехало.
Аноним 19/11/20 Чтв 10:37:11 1859960191
>>1859507
да шейдил, но пекедж менял только у "org.apache.zookeeper",
"org.apache.jute"
Попробовал зарелокейтить аналогично все пакеты с префиксом "kafka" - не помогло, та же проблема :(

Я пользовался для шейдинга плагином https://github.com/johnrengelman/shadow
Щас посмотрел - там много окрытых ишью со скалой - видимо плагин криво работает с ней.

Может кто нибудь посоветовать плагин для шейдинга кафки? с учетом что там сорцы на скале.
у мавен шейд плагин тоже какие-то проблемы есть https://issues.apache.org/jira/browse/MSHADE-345
Аноним 19/11/20 Чтв 12:24:45 1860004192
>>1859960
>да шейдил, но пекедж менял только у "org.apache.zookeeper",
>"org.apache.jute"
Не понял, зачем ты менял пекдж у зукипера, если у тебя конфликт версий кафки?
Аноним 20/11/20 Птн 12:19:55 1860934193
>>1860004
зукипер в проекте должен быть новой версии, а кафка должна использовать старую
поэтому для кафки зашейдил старую, а в основном проекте поднял версию
Аноним 20/11/20 Птн 14:15:29 1861023194
изображение.png 9Кб, 414x110
414x110
изображение.png 24Кб, 303x251
303x251
>>1859371
короче деконплеировал бинарник самой либы kafka_2.12 (пик1) и то что у меня получилось зашейдить (пик2).

Почему-то плагин для шейдинга наколбасил для каждого вложенного object отдельный класс.

При этом джавовы конпелятор его не видит, иде показывает синтаксическую ошибку, когда пытаешься к нему обратиться. Но! Class.forName("kafka.admin.RackAwareMode$Safe$") работает.
ну и хуйня....
Аноним 20/11/20 Птн 15:37:48 1861110195
>>1861023
зашейдил с помощью maven shade plugin'а - абсолютно такая же проблема. может все таки я что-то не так делаю, а не плагины кривые...
Аноним 20/11/20 Птн 16:05:13 1861130196
Аноним 22/11/20 Вск 14:01:32 1862714197
>>1861023
1) Ты точно понимаешь как шейдинг работает?
2) Опиши граф зависимостей - что и в каком порядке ты компилируешь и собираешь.
Аноним 23/11/20 Пнд 16:39:43 1863796198
>>1861023
Есть вариант попробовать разные класслоадеры.
Аноним 25/11/20 Срд 13:15:01 1865312199
>>1862714
ну смотри как я понимаю
шейдинг - когда код зависимостей прямо запихивается в сам джарник, это удобно для развертывания приложения на серваке - чтоб все нужные зависимости нужных версий в самой джарке были
Во время шейдинга можно релокейтнуть классы в другой пекедж (т.о. изменить их FCN и импорты все соотв. в джарке поменять), таким образом можно позволить в рантайме иметь две версии одной и той же либы: джарка использует ту, которую сохранила и релокейтнула, а клиентский код, который подключил эту джарку как либу - может юзать другую версию

Аноним 26/11/20 Чтв 20:48:04 1866411200
>>1865312
Верно, только обычно шейдингом называют именно сборку с релокейтом. Если просnо запихнуть все зависимости в джарник, это не шейдинг. Теперь нарисуй граф зависимостей.
Аноним 27/11/20 Птн 18:18:58 1867101201
Есть тут еще живые? Вопрос от мимостудента. Создаю класс и передаю ему как аргумент pattern matching. Как уже в методах класса к нему обратиться и совершить там поиск? Нужно понять содержится ли в сопоставлении данный элемент или нет, заранее спасибо!
Аноним 27/11/20 Птн 18:59:45 1867144202
>>1867101
>Создаю класс
>передаю ему как аргумент
>pattern matching
Тебе бы у специалиста провериться. Боюсь, что программирование это не твое. Возможно, что будет лучше, если ты пойдешь работать кассиром или дворником.
Аноним 27/11/20 Птн 19:31:50 1867173203
>>1867101
Этот >>1867144 конечно токсик, но матчасть тебе действительно подтянуть бы
Аноним 27/11/20 Птн 21:32:50 1867275204
>>1867173
а что собственно не так?
Аноним 27/11/20 Птн 21:54:40 1867292205
>>1867275
Паттерн матчинг это фича языка, как ты можешь ее в класс передавать? Код показывай и скажи какие значения он должен возвращать.
Аноним 27/11/20 Птн 22:03:36 1867299206
Безымянный.png 53Кб, 1920x1050
1920x1050
>>1867292
Я не претендую на гениальный код, я всего лишь начинающий разработчик и могу ошибаться, вот код, слева реализация класса с одним методом(пока), справа основной фай. Реализую нечеткие множества. Паттерн матчинг прекрасно передается в класс и используется в методе(первый метод работает), в ином случае никак не могу обратиться к паттерн матчингу. В принципе по коду все понятно должно быть, создаем юниверс(общее множество элементов) и несколько нечетких множеств. Прошу сильно не ругаться
Аноним 27/11/20 Птн 22:04:23 1867301207
Безымянный.png 83Кб, 1920x1050
1920x1050
>>1867299
сейчас скину второй скрин снова, чет тут хуево показывается
Аноним 27/11/20 Птн 23:17:59 1867382208
>>1867301
У тебя FuzzySet принимает не "паттерн матчинг", а double или флоат, который и является результатом выражения с паттерн матчингом.
Аноним 27/11/20 Птн 23:20:28 1867389209
>>1867382
значит он получает несколько значений, верно? Если так, то как мне к ним обратиться в теле класса?
Аноним 27/11/20 Птн 23:28:50 1867407210
>>1867389
Извини, пропиздоглазил. Класс получает функцию int -> float, ее и можешь вызвать в теле класса.
Аноним 27/11/20 Птн 23:31:14 1867411211
>>1867407
могу, но как? в методе isEmpty это получается благодаря юниверсу и forall, но других вариантов я не нашёл вовсе
Аноним 27/11/20 Птн 23:31:55 1867412212
>>1867407
И да, класс получает не Int - double, а T - double
Аноним 27/11/20 Птн 23:36:54 1867415213
>>1867411
Не понял вопроса. Ты не знаешь как функцию вызвать? Или ты хочешь узнать ее область область определения?
Аноним 27/11/20 Птн 23:38:21 1867417214
>>1867415
Я хочу узнать как получить доступ к значениям, которые передаются при создании класса. Там есть закомментированный метод contain и я хочу понять есть элемент v в тех значениях, которые я передал в класс.
Аноним 27/11/20 Птн 23:42:51 1867421215
>>1867417
Ты в класс передал одно значение - фунцию.
Аноним 27/11/20 Птн 23:44:08 1867422216
>>1867421
Понял, тогда как мне обраться к этой функции для получения значений?
Аноним 27/11/20 Птн 23:45:13 1867424217
>>1867422
Вызвать ее внутри метода класса.
Аноним 27/11/20 Птн 23:51:32 1867429218
>>1867424
Вызвал, передаёт ее хэшкод. Как получить ее элементы? Просто вызов не совсем работает.
Аноним 28/11/20 Суб 00:52:29 1867473219
>>1867429
Что такое элементы функции? Покажи как ты ее вызываешь.
Аноним 28/11/20 Суб 07:30:00 1867539220
>>1867299
>>1867301
А ребята из Неофлекса в курсе, что ты тут двачуешь? И с каких пор они начали предоставлять некий тренинг для перекатывающихся в Scala? Они же ищут только матерых спецов на Java/Scala, чтобы пердолить проекты на аутсорсе.
Аноним 01/12/20 Втр 14:48:08 1870007221
Сап аноны, я ещё не сталкивался с Scala, занимаюсь сейчас Java, но необходимо scala за короткое время обозреть/понять на уровне основ и чтобы можно было эти знания применять. Можете посоветовать сурс какой-то или книжечку, думаю тут есть люди с опытом которые могут помочь направить меня в верное направление, данке
Аноним 01/12/20 Втр 17:03:36 1870094222
>>1870007
Не нужна тебе Скала.
Аноним 01/12/20 Втр 17:11:30 1870100223
>>1870094
Да что ж у вас за коммюнити-то такое раковое, у скалистов. Ведро змей.

>>1870007
Functional Programming in Scala попробуй. Говорят что сложная, но я хз, по моему обычная книга.
Аноним 01/12/20 Втр 17:23:44 1870114224
>>1870100
> Да что ж у вас за коммюнити-то такое раковое
Это ты ещё в телеграм-чатики модерирующиеся виабушниками из желтого банка не заходил, уровень токсичности OVER9000.
Потом они ещё удивляются, почему никто не хочет использовать их поделки тофу
Аноним 01/12/20 Втр 19:58:02 1870357225
> занимаюсь сейчас Java, но необходимо scala за короткое время обозреть/понять на уровне основ и чтобы можно было эти знания применять

кто ж это в скалко-комьюнити так заходит? так тебя сразу определят в джявачерта и будут соответствующим образом относиться всегда
правильно заходить через хаскiль, чтобы все сразу поняли что ты правильный пацан
нужны знания хотя бы уровне осиленной тайпклассопедии, устройства основных либ и умения применять цацкель на практике
лишнего лучше не припёздывать, а то если фраернёшься адванседом и не вывезешь, то потом ещё хуже, чем джявочертом сидеть
ну и про свой старый опыт как ты там на джяве спринг лизал тоже помалкивай офк
пис
Аноним 01/12/20 Втр 22:21:01 1870437226
я >>1870007
уже понял что тут за децибелов джавистов держат, я не в теме, почему так происходит? Интересно стало)))))
Аноним 01/12/20 Втр 23:56:48 1870513227
>>1818719
>дут не за высокой зарплатой, а за возможностью работать над сложными задачами
Классика, лол.
Работа за идею, горящие глаза, умным деньги не нужны и так далее.
Аноним 02/12/20 Срд 05:51:29 1870612228
>>1870513
Ты, для начала, пройди 4 алгоритмические секции в Вертикали, да за канкурэнси и модель памяти расскажи. А потом посмотрим, брать тебя на 30к или нет.
Аноним 02/12/20 Срд 08:52:48 1870662229
>>1870114
Самое дружелюбное коммьюнити из телеграмных, чел
Аноним 02/12/20 Срд 09:23:46 1870668230
>>1870662
То самое коммьюнити, где один вайс си-ти-оу хвастался как они пересели на базель, и как у них все заверте...
А потом выяснилось, что под базель нет и десятой доли плагинов, да и поддерживается он так себе. И теперь вайс си-ти-оу, запрягает команду, чтобы те метнулись кабанчиком и вернули все взад?
Аноним 02/12/20 Срд 14:34:34 1870835231
>>1870612
>пройди 4 алгоритмические секции в Вертикали, да за канкурэнси и модель памяти расскажи
Подобное является впечатляющим для скалистов?
Аноним 02/12/20 Срд 16:31:49 1870929232
>>1870835
Джависты проходят одно собеседование и влетают на царские 200к минимум.
Аноним 02/12/20 Срд 23:52:52 1871421233
>>1870007
Я лет 6-7 назад заходил из С# через Scala for the Impatient. Сейчас есть второе издание, оно наверное тоже не совсем актуально, но для твоих целей должно подойти.
Аноним 04/12/20 Птн 12:34:02 1872596234
>>1798168 (OP)
>Q: Какой стэк библиотек взять?
>A: cats, http4s, doobie, circe, ZIO
Почему, когда я открываю HH.ru, то вижу вакансии либо на Apache Spark, либо на Akka?
Аноним 04/12/20 Птн 15:39:05 1872744235
>>1872596
ну Акка очень неплоха, отработал на проекте больше года где все было на акке, мне понравилось. Это нормальные вакансии.
А вот с спарком лучше не сунутся туда. Так как сейчас надо овер дохрена макак которые все говно которое писали с 2003 на мап редюсе, сейчас переписывают на спарк, так как быстро и молодежно. и спарк писали на скале, значит нам надо скала девы. хотя им надо обезьяны знающие спарк. рекрутеры это не понимают поэтому ищут скалистов. Попал в такой местяк где хотели под шумок заставить выучить спарк и пойти на бигдату.
Аноним 04/12/20 Птн 15:44:55 1872750236
Больше 3 лет с скалой. Всякие монады, хуяды, функторы, знаю и использую.
Хочу для себя поучить что-то интересное необычное. Из вариантов хаскель, идрис( но я так понимаю без хаскеля смысла нет макаться), эрланг, кложур, и возможно дотти.
Что имеет смысл попробовать? Цель - узнать всякие приколюхи которые глубокие по концепции. Например как в скале сделали с имплиситами, и таким корявым образом сделали тайпклассы из хаскеля.
Аноним 04/12/20 Птн 16:13:57 1872767237
>>1872744
А что был хоть за проект на Акке? Я куда не приду - везде либо от нее отказываются, либо говорят, что это легаси и сейчас все пилят микросервисы на котах/зио и связывают их через кафку.
Аноним 04/12/20 Птн 16:22:19 1872775238
>>1872767
гемблинг, вся бизнес логика была на модели акторов. Ну либы для функционального у нас тоже были, типа котов, шейплесов.
Та все так говорят, но я хз, может есть проблемы с перформансами. Некотрые жалуются что тяжело разбираться. Но надо просто привыкнуть к модели. Мне нравилось что тестировалось очень хорошо. плюс у акки есть типизиованые актеры. с персистансом хорошо сделано. Но если бы я начинал делать свой проект то явно не на акке, а скорее на зио и всяких модных вещах
Аноним 04/12/20 Птн 16:37:23 1872812239
>>1872775
>гемблинг
Сразу вспоминаю ЭволюшнГейминг и того бравого парня, который рассказывал как на Акке жить тошно и как они все лихо переписали на зио с котами, а поверх посыпали кафкой.
Аноним 04/12/20 Птн 19:45:46 1873095240
Что почитать по жаве для базы под скалу?
Аноним 05/12/20 Суб 07:28:20 1873315241
>>1873095
Смотря откуда перекатываешься. Поди PHP какой-нибудь.
Аноним 05/12/20 Суб 10:18:31 1873340242
Аноним 05/12/20 Суб 10:52:17 1873345243
>>1873340
Где можно спиздить? И стоит ли книга того?
Аноним 05/12/20 Суб 15:59:27 1873551244
>>1873315
Из любительского ковыряния и редких макакинг заказов
>>1873340
Даже не задумывался, что может быть книга по жвмязык + сама жвм, лол
Книжка вроде не ищется, но по такой тематике поищу что-нибудь. спасибки
Аноним 05/12/20 Суб 16:24:50 1873596245
>>1870437
так потому что так и есть. часто джависты это тупые вкатывальщики без какого либо интереса к программированию. так как если бы оно их интересовало, они бы смотрели на разные подходы. разные языки. и тогда точно бы небыли бы джавистами.
Аноним 05/12/20 Суб 17:22:45 1873644246
>>1873596
Беда только в том, что на Scala в РФ пишет полторы помойной конторы, которые считают за честь, что ты у них будешь писать на поделии свихнувшегося немца из Швейцарии.
Аноним 05/12/20 Суб 18:04:19 1873676247
>>1872750
Варианты такие:
- clojure - макросы, трансдьсеры, CSP
- agda/coq/TLA+ - формальные доказательства/завтипы
- rust - new generation байтоебство
- prolog - логическое прогрмаиирование
А я вообще для себя решил что после после понимания основных парадигм слишком задрачивать их дальше смысла особо не имеет - нужно изучать что-то более фундаментальное (в моем случае распределенные системы).
Аноним 05/12/20 Суб 18:16:24 1873688248
>>1873676
Распределенные системы отлично пишутся на связке котов/зио + кафка, между прочим.
Аноним 05/12/20 Суб 18:31:49 1873695249
>>1873644
тебе патриотизм не позволяет писать не в рф? или не на рф компанию?
Аноним 05/12/20 Суб 18:42:47 1873696250
>>1872750
>с имплиситами, и таким корявым образом сделали тайпклассы из хаскеля
Как будто тайпклассы были изобретением разработчиков хаскеля
И что в них корявого, если реализация с самого начала называется имплисит?
Аноним 05/12/20 Суб 19:37:03 1873714251
>>1873696
>Type classes were first implemented in the Haskell programming language after first being proposed by Philip Wadler and Stephen Blott as an extension to "eqtypes" in Standard ML,[1][2] and were originally conceived as a way of implementing overloaded arithmetic and equality operators in a principled fashion
Аноним 05/12/20 Суб 19:56:01 1873721252
>>1872750
Ну имплиситы вещь весьма выразительная, с ними можно делать вещи, которые даже в хаскеле нельзя, но и говна с ними поесть можно, поэтому в скала3 их будут менять.
Аноним 05/12/20 Суб 20:21:54 1873742253
>>1873714
Я имел в виду общий концепт ад-хок перегрузки с группировкой типов в классы, а не одну из его реализаций
В момент приведения типы в скале ничем не отличаются от типов в хаскеле, только всё остальное время твои яйца не зажаты пьюр-фп костылями
Аноним 06/12/20 Вск 06:35:44 1874007254
>>1873695
>Халло!
>Ай воркд он таск 953 энд ай хэв э куэстшон
>Хау ду ай коннект ту датабасэ, плэз?

Если ты учился в школе с углубленным изучением английского и тебя родители натаскивали, то да, проблем устроиться в подобные конторы не будет. А так будешь мычать как побитая собака на собеседовании с рекрутером, вспоминая слова.
Ну и не забывай, что там, за забором, столько первоклассных разработчиков, что ты должен быть литерали гением, чтобы с ними конкурировать.
Аноним 06/12/20 Вск 11:56:29 1874104255
>>1874007
ладно, тогда сиди в рашке и не пизди, если не можешь выделить 200 долларов в месяц и пойти на курсы английского, или даже нанять репетитора. и за год уже говорить в 5 раз лучше.

А еще пиздят на хохлов, тут каждый 2 кто не совсем даун, или уже перекатился или перекатывается, или сидит дома и пиздячит на пиндосов.
Аноним 06/12/20 Вск 12:09:18 1874113256
>>1874104
>на курсы английского
Это где собирают группу в 10 человек на одного препода и тот пытается со всеми поговорить и что-то там объяснить за 40 минут?
Аноним 06/12/20 Вск 12:38:24 1874129257
>>1874007
Ну так таким нужно английский, а не скалу учить. И знать его нужно на уровне что быть понятым, а не идеально использовать речевые обороты и знать нюансы синонимов (хотя и желательно).
>Ну и не забывай, что там, за забором, столько первоклассных разработчиков, что ты должен быть литерали гением, чтобы с ними конкурировать.
1) Первоклассных не хватает. Работодатели за них конкурируют, а не наоборот.
2) У тебя точно есть конкурентное преимущество - цена.
>>1874113
Это по-разному. За пару лет активного изучения (курсы, сериалы в оригинале, грамматика по учебникам) вполне можно подтянуть до сносного уровня. Лет семь назад я за полгода разговорный язык с околонулевого подтянул до достачного для работы (ну это я, среднестатистическому двачеру как раз года два нужно будет).
Аноним 06/12/20 Вск 12:45:56 1874136258
>>1874129
Я коплю деньги на препода с айталки, с которым можно было бы качать разговорную практику
Аноним 07/12/20 Пнд 01:44:26 1874724259
Лучше бы собрали группу из 10 вкатывальщиков
Аноним 08/12/20 Втр 18:54:47 1876032260
>>1798168 (OP)
В чем смысл переката в Scala, если в скала канале вкидывают один раз в месяц полудохлую вакансию на 160-200к на хадуп, спарк?
Аноним 08/12/20 Втр 20:31:31 1876091261
>>1876032
у меня в линкед стабильно в неделю 3-4 вакансии.
Аноним 09/12/20 Срд 05:25:24 1876308262
>>1876091
На буржуев работать за баксы? Ну так для этого нужно уметь в разговорный английский и знать Akka.
Аноним 09/12/20 Срд 11:46:23 1876407263
Можете скинуть мемную пасту про функторы в стиле темной башни?
Аноним 09/12/20 Срд 18:44:16 1876796264
>>1876032
В 2020 году никакого смысла перекатываться в скалу нет.
Этот хайп из овер.

Скала - одно из самых больших разочарований прошедшего десятилетия.
Аноним 09/12/20 Срд 18:54:55 1876808265
Аноним 09/12/20 Срд 19:21:49 1876833266
>>1876032
Порог входа невысок, если ориентируешься в фп с тайпклассами можешь попробовать как простую альтернативу жаве
Аноним 10/12/20 Чтв 00:58:16 1877061267
>>1876796
О да, перекатываться нужно именно в хайповые технологии. Что за дауны здесь сидят.
Аноним 10/12/20 Чтв 01:20:07 1877075268
>>1877061
Перекатываться нужно в то за что деньги платят.
Аноним 10/12/20 Чтв 01:38:02 1877084269
>>1877061
Чувак, причём тут хайп?
Скала просто закончилась.

Изначально было принято несколько принципиальных провальных архитектурных решений, и итог был, в общем-то, предрешён.
Аноним 10/12/20 Чтв 03:05:44 1877108270
>>1877084
>принципиальных провальных архитектурных решений
Например?
Аноним 10/12/20 Чтв 09:39:00 1877156271
>>1877108

Например, делать процедурный сахар для джавы и фп 2 в 1.

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

А фп не развивалось никак.
Аноним 10/12/20 Чтв 10:27:56 1877163272
>>1877075
слыхал неплохо дают бабок если быть жопной проституткой. Не хочешь попробывать?
Аноним 10/12/20 Чтв 10:30:15 1877165273
>>1877084
я хз где вы видите что все закончилось. мне постоянно кидают вакансии, да, из них 40% это спарки. Куча людей работает, куча стартапов запустилось, плюс минус живое комьюнити, в раз 100 приятней чем в жабе. Люди развивают свои библиотеки, делятся знаниями.

может в россии и закончилось, но явно не в мире
Аноним 10/12/20 Чтв 10:36:57 1877170274
>>1877165
добавлю, а не выстрелила потому что-пиндосы в своем большинстве крайне ленивые и не склонны к изменениям в карьере. был на проекте где люди работали по 20-25 лет в одной компании. и пришли туда как перл, потом переучивались на скалу. и таких 60%.
они не будут вкатываться с джавы на скалу.
наше снг комьюнити чаще всего готово в жопу давать за долларовые зарплаты, и им вообще похуй на чем писать, они пишут зарплаты прогромистов, видят что на жабе выхлоп один из самых высокий. на обжектив С и свифт сложнее вкатываться.
В итоге на скалу перекатились только ебнутые, которым не сидится на месте.

КОмпании которые примазались к "хайпу" в 2012-13 начали ахуевать, где им искать работяг на вашу это скалу. а остальные посмотрели на этих дураков и решили даже не макаться. Так как джава-макаку найдешь за пол часа, а хорошего специалиста за месяц-2. Порочный круг рынка, поэтому в нулевых было 2 базы или мускл(бесплатный) или оракл. так как на оракл ты найдешь всегда людей. и все ребята которые хотели идти в дба знали, что выучишь оракл, найдешь работу.

Аноним 11/12/20 Птн 01:03:27 1877766275
>>1877156
Если какой-то придурок с двача считает что какое-то решение провальное, то так очевидно и есть. Особенно если его уровень - рассуждения о переслащености языка и о том что фп в скале не развивалось никак.
>>1877170
>не выстрелила
Я вот что понять не могу - что для вас было бы выстрелила? Иметь такой же уровень использования как у джавы или что?
>>1877075
Ну это хорошая причина для преката, но я-то отвечал на пост в котором слова хайп и перекат в одном абзце стоят.
Аноним 11/12/20 Птн 10:13:51 1877887276
>>1877766
выстрелила, это значит как кубер, что его каждая собака использует, или как реакт, или как например как котлин, графкьюл, сваггер.

или технологии которые не стали топ запрашиваемым, а заняли свою нишу, например, спарк, го, кафка.
А скала по факту для бизнеса не нужна, и даже вредна. И проекты на скале сейчас ,или от энтузиастов, которым нравится фп и скала, или от "дураков" которые на нее перекатились/стартанули в 2012-2015 и думаю как найти людей.
Аноним 11/12/20 Птн 11:17:49 1877911277
>>1877887
Олег же пишет инвестиции и рассказывает про вэлью. Есть еще пара ирландских проходимцев, которые создают инструменты для вэлью. Ну и лысый из брейзерс тоже не отстает и толкает свои курсы и собирает на патреоне по 10к грина в месяц.
Аноним 11/12/20 Птн 13:31:31 1878011278
>>1877887
>или от энтузиастов
Ну так работать стоит только на таких проектах.
Там как минимум учитываются интересы дев-отдела, а значит есть понимание его важности, важности культуры разработки и т.д.
Аноним 11/12/20 Птн 15:02:02 1878099279
>>1878011
Конечно, полностью с тобой согласен. Но большинство(95%) пришли работать девами за бабки. Есть товарищ, прога ему всегда как и мне нравилась, занимались олимпиадным. Но сейчас, он хочет, до усрачки, попасть в топ компании типа амазона, гугла, фейсбука, САП , в любую залупу, главное чтобы было много людей, и он так и оценивает все компании, мол, "200 человек, ну что за говноеды, вот у гугла 10 милиардов к людей работает", мотивируя тем что там он поднимется по лестнице и будет получать очень дохуища бабок. Ну и таких дохуя.
Аноним 12/12/20 Суб 02:35:23 1878581280
>>1877887
>выстрелила, это значит как кубер, что его каждая собака использует, или как реакт, или как например как котлин, графкьюл, сваггер
Никакую из этих этих технологий каждая собка не использует (ну кроме реакта наверное). Особенно кубер, лол - пиздят о нем много, а используют единицы.
>или технологии которые не стали топ запрашиваемым, а заняли свою нишу, например, спарк, го, кафка.
Ну вот и скала заняла свою нишу - лучший язык для JVM для тех кто понимает как ее использовать.
>А скала по факту для бизнеса не нужна, и даже вредна
Мне кажется или ты по кругу в своих рассуждениях ходишь? Скала не выстрелила потому что вредна, а то что она вредна подтверждается тем что не выстрелила? Ты все-таки можешь сказать что такое выстрелила, не на примерах, которые больше на список текущих хайповых технологий похожи, а определение которое можно применить к любой технологии?
Аноним 12/12/20 Суб 12:45:55 1878681281
>>1878581
я сразу написал что это замкнутый круг

Я не понимаю предмет спора и что ты хочешь доказать. хочешь сказать что скала популярная в бизнесе, ну ты тогда не прав. У нее хорошее комьюнити, она развивается, много хороших идей есть. Но бизнесу она не надо, так как заебешься искать людей.
Аноним 12/12/20 Суб 14:58:46 1878717282
>>1878681
>я сразу написал что это замкнутый круг
Этот круг делает необоснованным любое рассуждение в котором используется. Например - ты дебил, потому что сидишь на дваче, а сидишь на дваче потому что дебил. Вывод - ты дебил.
>Я не понимаю предмет спора и что ты хочешь доказать
Я ничего не хочу доказать. Ты (или кто-то еще) высрал фразу скала не выстрелила. Я хочу понять что под этим имеется в виду.
>Но бизнесу она не надо, так как заебешься искать людей.
Слишком сильное обобщение. Все что мы можем обоснованно заявлять - скала менее популярна чем джава, а потому на нее труднее искать людей. Все остальные обобщения - фантазии, пока не приведены факты и непротиворечивые рассуждения, а реальная ситуация зависит от конкретных обстоятельств.
Аноним 12/12/20 Суб 15:34:51 1878729283
>>1878681
Ошибка в том, что «бизнес» это слишком общее понятие.
Я знаю лично несколько контор, которые работают исключительно на ФП-стеке, в том числе на скале, и вполне себе успешно живут в своей нише, оставаясь конкурентноспособными. Да, их меньшинство, но это тоже «бизнес». Поэтому если пишешь что «скала бизнесу не нужна», нужно указывать какому именно. Супер-крупные компании как раз могут себе позволить (и позволяют) экспериментировать сколько угодно с каким угодно стеком, так как кадрового голода не испытывают, а бюджеты и количество разрабов позволяют спавнить сколько угодно экспериментальных проектов, контрибьютить в опенсорс и т.д.
Стартапу тоже всё равно на чём стартовать, тут даже чем хайповее или необычней - тем лучше. Средние и большие конторы тоже разные бывают, типичные снг-галеры заточены на максимальные охваты, поэтому фокусируются на консервативном стеке, чтобы с одной стороны иметь как можно больше заказов, а с другой чтобы была возможность быстро захайрить нужно кол-во рабов из местных. И то, даже там завозят пару скалистов, чтобы не пропускать скала-заказы, когда они всё таки случаются. Но ещё сейчас есть много чисто виртуальных полностью ремоут-контор, которые собирают людей со всего мира, поэтому проблема захайрить людей у них особо не стоит. Так же есть масса консалтеров, с CTO на своей стороне, где выбор технологии полностью зависит от них, которые берут только те проекты, которые соглашаются на их правила разработки. Все они существуют и некоторые функционируют десятилетиям.
Аноним 13/12/20 Вск 22:23:20 1879649284
А я вот читал блог Элвина и мне по кайфу, даже писать свой откровенно идеальный код на скалке понравилось. И клал я на то, что сбт собирает это пол года на моем калькуляторе.

Но:
1. горело жопьё с токситиси чатов скалки, видимо поцы оттудава внебрачные сыны старого пердуна мартина которые звали не маму и папу при рождении а монады и моноиды очень умные и не для меня сравни с рукомьюнити раста -это как жопа и палец
2. как котик плакал сру вакансий: либо какие-то адепты, либо вечер в типа большую дату

Короче для меня ru Scala environment - so-so. А язык прикольный, вписался бы в какую-нибудь опенсорс компашку долбачей но без желтого налета и был бы рад как слон, но нiт яких хлопцев.
Аноним 14/12/20 Пнд 00:50:04 1879835285
>>1879649
Вкатывайся в англоязычное коммьюнити (реддит, гиттер) если владеешь языком.
В телеграм-чатики по Скале не заходи, там тусуются одни и те же долбоёбы. Мне вот с ними на работе приходится общаться, с постоянным А КАК В ТАЙПЛЕВЕЛ СТЕКЕ КАКАТЬ и прочими фразами уровня /b/
Аноним 14/12/20 Пнд 09:16:52 1880033286
>>1879835

сил тебе, Иисус все видит

вообще не понимаю нахерас работать с командой с которой некомфортно? Да в кудепсту их, пусть там в говне своем варятся сами.
Аноним 17/12/20 Чтв 17:50:30 1882880287
>>1870612
За 30к могу дать ботинки полизать вашей хрюше.
Слоуответ
Аноним 18/12/20 Птн 01:58:45 1883211288
>>1877887
>как кубер, что его каждая собака использует

>>1878581
>Особенно кубер, лол - пиздят о нем много, а используют единицы

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

Аноним 19/12/20 Суб 22:40:24 1884964289
>>1883211
Да ясен хуй что много где используют. В абсолютных числах и хаскель наверное много где используют. Я про процент от тех кто о нем пиздит.
Аноним 28/12/20 Пнд 18:49:42 1893781290
Есть кто работал в желтом банке и может пояснить за подводные и стоит ли туда идти?
Аноним 28/12/20 Пнд 19:46:54 1893823291
>>1893781
> кто работал в желтом банке
В каком из?
В любом случае, что там что там обычноработа, без особых подводных, но детали конечно зависят от того, в какую команду попадешь.
Аноним 01/01/21 Птн 23:59:01 1898222292
>>1879649
> Вечер в дату
Проигрункал в голосину
Аноним 16/01/21 Суб 10:55:19 1911525293
>>1893781
>желтом банке
>пояснить за подводные
Пойдешь в один желтый банк - встретишь тимлида-анимешника, который упарывается тру эфпе и пердолит свои, никому ненужные, библиотеки.
Пойдешь в другой желтый банк - попустят на собеседовании, да так попустят, что выбежишь весь взмыленный и помчишь в свою съемную однушку, чтобы поскорее принять душ.
Аноним 18/01/21 Пнд 12:09:34 1913974294
>>1911525
Всё так. Только в другом желтом банке тоже используют ненужные библиотеки из первого желтого банка, т.к. это считается тру фп и как раз поэтому на собеседованиях попускают всех кто не согласен
Аноним 18/01/21 Пнд 13:18:58 1914001295
>>1880033
>сил тебе, Иисус все видит

"и подошли к нему кНижники и фарисеи и вопрошали" (с) евангелие от
Аноним 19/01/21 Втр 00:13:44 1914665296
>>1893781
На мой взгляд сейчас в обоих желтых банках самые сильные команды скалистов в рашке. Но я ни в одном из них не работал, не знаю, есть ли подводные. ИМХО обычная банковская работа должна быть и з.п. должна быть средняя по рынку.

Еще они там большие фанаты ФП, причем странные фанаты. Типа считают, что ФП - это круто само по себе. Поэтому давайте писать монады на Скале и пихать zio куда не поподя. А то, что в Скале ФП - не пришей кобыле хвост, их как-то особо не волнует.

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

мимо из зеленого
Аноним 19/01/21 Втр 11:49:37 1914951297
>>1914665
> пихать zio куда не поподя
Сама по себе ZIO неплохая вещь, считай что это такие продвинутые Future'ы.
Однако, в жёлтобанках(тм) за использование просто ZIO тебя обоссут, потому что (по мнению отдельных упоротых персонажей) нельзя завязываться на конкретную реализацию IO-монады, грубо говоря, ты должен абстрагировать использование ZIO и писать всю бизнес-логику в абстрактном виде.
Дальше - больше, весь мир для таких целей использует cats-effect, но эта тусовочка не особо вдавалась в мотивацию и идеи положенные в основу этой библиотеки/стека, вместо этого они просто заявили что "тайплевел-стек говно", и сделали свою, более лучшую нет либу tofu, в которой идея абстрагировать конкретные типы возведена до абсурда.
И даже хуй бы с этими упоротыми челиками с их психическими расстройствами, но эта около-Московская тусовочка настолько токсичная, что за любое отличное мнение тебя просто загнобят (если ты уже там работает) либо попустят на собеседовании, как писали выше.
Аноним 19/01/21 Втр 15:09:46 1915213298
>>1914951
>Сама по себе ZIO неплохая вещь
Лол, базаришь. Я сам в ФП лет как 10. Вкатился на самом хайпе. Коты и ZIO - это попытки натянуть сову на глобус ФП на Скалу. ZIO лучше котов. Сам её использую просто потому, что мне так хочется. Раньше котов использовал. Тоже просто потому, что мне так хотелось. Но реальных причин этого делать в Скале нет в 98% приложений.

Что касается упоротых фанатов - я слушал их выступления. Есть хорошие работы, уважаю. Если ты фанат ФП, то почему не желтые? Быстро вкатишся, быстро прокачают. У меня минимум 2 сотрудника съебали к желтым, оба по итогу очень довольны.

tofu - нет не слышал. Вообще, срать на Скале ФП-либами - такое себе. Но раз они высрали, это уже говорит об уровне их культуры кодинга. И говорит о том, что культура есть.

И да, cats - говно (про tofu не знаю, возможно такое же говно, просто сбоку). Zio - говно (потому что сама Scala - говно, но лучше zio на этом говне уже не придумать). ФП на Скале - не нужно.

Но если ты молодой специалист, который угорел по ФП, то желтые - не говно. Причем оба желтых. И мне нет смысла их рекламировать, я сам из зелёных, как уже раньше писал.
Аноним 19/01/21 Втр 16:29:56 1915284299
>>1915213
>ФП на Скале - не нужно.
lol'd
Аноним 19/01/21 Втр 16:41:18 1915290300
https://hh.ru/vacancy/41739360

> Чем тебе предстоит заниматься:
> изучением решения на Scala и переписыванием его на Java

Ну вот, ещё одна фигня-для-засирания-интернетов-рекламой переходит на надёжный и проверенный стек вместо хипстерского ФП
Аноним 19/01/21 Втр 16:42:11 1915291301
>>1915284
Просто ты не умеешь использовать CompletableFuture, править баги многопоточности и делать new Thread {}!
Аноним 19/01/21 Втр 17:18:32 1915327302
>>1798168 (OP)
Не слушайте этого - >>1915290
Вкатывайтесь в Скэйлу. Вам все условия для этого обеспечили - https://fintech.tinkoff.ru/study/fintech/scala/
Даже если не найдете работу, то вырастите как инженер и на крайняк сможете колесить по миру и вызволять гарнiх дiвчiн из лап мужей тиранов - https://twitter.com/Oleksandra_A/status/1351287068681515012
Аноним 19/01/21 Втр 17:29:51 1915344303
>>1915327
Ну Дегоус давно зашкварен всякой политотой лол
Аноним 19/01/21 Втр 17:37:05 1915369304
18AA4D8A-7E75-4[...].png 8Кб, 225x225
225x225
>>1915213
> cats - говно
> Zio - говно
> сама Scala - говно
> ФП на Скале - не нужно.

> я сам из зелёных
Мы заметили.
Аноним 19/01/21 Втр 17:47:31 1915398305
Аноним 20/01/21 Срд 22:55:28 1916735306
>>1798168 (OP)
>Q: Хочу угорать по функциональщине и теории категорий
>A: Посмотри на Хаскелль

как такое можно пейсать? это диверсия же.
Аноним 20/01/21 Срд 23:31:24 1916744307
>>1916735
Потому что Haskell - это флагман мира ФП.
Pure FP, без поддержки оопе, мутабельности, интеропа с двявой и всей связанной с этим тяжёлым наследием и наркоманией, так что всё честно.
Аноним 21/01/21 Чтв 18:19:55 1917325308
>>1914665
> мимо из зеленого
Что у вас там по зарплатам?
Аноним 22/01/21 Птн 16:55:22 1918169309
>>1916744
> Haskell - это флагман

конечно. только почему-то весь энтерпрайз юзает Скалу.

Х-ль был нормальным языком в 98-м, но с тех пор заметно устарел.
А Скала шагает в ногу со временем, Дотти будет (уже есть) на порядок круче вашего Х-ля.
Аноним 22/01/21 Птн 18:59:18 1918259310
>>1918169
> Дотти будет (уже есть) на порядок круче вашего Х-ля
Когерентных тайпклассов - НЕТ
Вывода констрейнтов для GADT - НЕТ
Тайп тегов - НЕТ
Зато есть питоносинтаксис им. Одерски и сотни багов
Аноним 22/01/21 Птн 19:04:03 1918264311
>>1918259
Нормальной IDE, которая не краснит код за 12 лет - НЕТ
Жим штанги, поедание хинкалей и покуривание кальяна - ДА
Аноним 22/01/21 Птн 19:52:31 1918307312
>>1918264
Зачем вы обсуждаете Х-ль? Его нет.
Аноним 22/01/21 Птн 20:23:11 1918337313
>>1918264
>Жим штанги, поедание хинкалей и покуривание кальяна
>обсуждаете Х-ль
Ты не в теме, чел.
Аноним 22/01/21 Птн 20:28:36 1918345314
>>1918337

я не в зеленой банке, лол.

штангу свою обычно выпячивал один (не будем упоминать всуе) Х-лист.
Аноним 23/01/21 Суб 00:46:17 1918658315
>>1915291
Ой, будто бы конкурентность - это такая неебаться проблема и будто бы вещи типа Zio её ой как хорошо решают. Про многопоточность я вообще молчу (ты, кстати, перепутал многопоточность с конкурентностью).

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

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

Думаю, максимум - это должность исполнительного директора и 500 р. Есть ребята, которые и в 25 лет это делают. Но я с ними общался, они реально умные и заряженные, я прекрасно понимаю, почему они могут 500 рублей зарабатывать, а я столько не смогу.
Аноним 23/01/21 Суб 00:54:56 1918669316
>>1915369
Нет, ну серьёзно, с чем ты из этого не согласен? Я вообще не представляю, какие профиты может дать cats. Он просто неюзабелен в текущих реалиях. Zio - юзабелен. Но с кучей оговорок. А профитов, опять же, не много. Почему не надо писать на Scala в FP-стиле я уже тут тысячу раз разбирал, не хочу делать это еще раз. Просто изучи нормальный FP-язык и посмотри, чем Scala от него отличается.
Аноним 23/01/21 Суб 00:58:02 1918672317
>>1915344
>Дегоус давно зашкварен
Кста, что за драма вокруг Дегоуса? Он у себя в твиттере пишет, что он весь дохуя толерантный, не токсичный и геев уважает. Я особо не следил, но подозреваю, что драмы в Scala-сообществе, это как драмы в европейских странах - люди просто с жиру бесятся и за неимением реальных проблем придумывают интрижки из нихуя.
Аноним 23/01/21 Суб 01:08:02 1918679318
>>1918669
> Я вообще не представляю, какие профиты может дать cats
Рискую начать срач, но тем не менее. Как ты будешь решать такую задачу:
Твоё приложение это некий HTTP-сервер. Ему нужно ходить к другим сервисам по HTTP и например к базе данных. Если клиент твоего сервиса отвалился, нужно канцелить все подзапросы к базе/другим сервисам, корректно закрывая соединения и другие ресурсы, а если ошибка прилетела от апстрима, ретраить её на другой инстанс.
В джава-мире это решается примерно никак. Максимум какой-нибудь fault-tolerance от нетфликсовых либ прикрутят, но чаще просто хуй забьют. Или поставят сервис-меш и будут надеятся что ресурсы внутри приложения не будут течь.
На акке ты охуеешь писать стейт-машины для этого добра.
На фьючерах не пробросишь кэнсел.
В cats-effect + fs2 это делается сравнительно легко.
Аноним 23/01/21 Суб 01:20:37 1918687319
>>1918169
>почему-то весь энтерпрайз юзает Скалу
Потому что ФП - это не энтерпрайз. И Скалы там с гулькин хуй, кстати.

>Х-ль был нормальным языком в 98-м
Нет. В 98-м он был абсолютно неюзабельным языком. В 98-м на нём нельзя было написать что-то практически применимое в принципе. Писать на Haskell в 98-м кстати, писать на стандарте Haskell-98 на современном стеке и писать на Haskell в 98-м году - это совершенно разные вещи, это как на Агде или Идрисе сейчас что-то писать. Ну язык вроде есть, но, с другой стороны, больше нихуя нет.

Более-менее нормальный GHC - это где-то начиная с 8-й версии. После появления Stack, либ Сноймана и прочей инфраструктуры. Вообще, хороший Haskell - это только самый новый Haskell. Старую версию ты даже устанавливать заебёшся, не говоря уж про то, чтобы что-нибудь с ней сделать.

>А Скала шагает в ногу со временем
Не. Скала - cripple by design. Дотти уже 100 лет пилят и никак допилить не могут. И, скорее всего, Дотти так и не станет продолжением Скалы. Будет альтернативный язык, вроде Питон-2, Питон-3.

Как раз Хаскель, в отличие от Скалы, развивается гармонично, потому что там за дизайном следят. Чем Дотти может быть лучше Хаскеля, я вообще не знаю. Тем, что там есть интеграция с JVM? Но JVM - это как раз против принципов ФП. Т.е. в языке пытаются решить изначально неразрешимую задачу. Поэтому всё будет на костылях и странных дизайнерских решениях, продиктованных существующей платформой, а не тем, как надо делать язык правильно.
Аноним 23/01/21 Суб 01:50:20 1918716320
>>1918679
>В cats-effect + fs2 это делается сравнительно легко.

Согласен. Но это очень частная задача, под которую effect и fs2 заточены.

>На фьючерах не пробросишь кэнсел.

Ну я же говорю, что это частная задача. В Джаве отменяемые фьючерсы сделали. Ждём, пока интегрируют со Scala-future (если интергируют вообще). Но это - марахайка. Кстати, effect и Zio - такие же марахайки, которые ничего магического не делают. Просто умеют останавливать интерпретатор между отедльными эффектами. И асинхронные исключения в Haskell - это тоже марахайки. Они тоже ничего магического не делают, у них просто есть шанс прервать исполнение программы не между биндингами, а при обращении к мусоросборнику. Но если ты пишешь высокопроизводительное приложение на Haskell, ты же не хочешь, чтобы оно теребило мусоросборник, ты пишешь его так, чтобы всё оптимизировалось в минимальный цикл. И там никакой кэнсел работать не будет.

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

Т.е. да, есть красивая обёртка. Но если кодить по хардкору, там внутри она не многое даёт, там разбираться надо. Поэтому самые высокопроизводительные приложения написаны, внезапно, не на Скале и не Хаскеле, а на тупой Джаве и С++, где всем этим говном страдают вручную. Потому что им в любом случае или вручную страдать, или это просто такой же замуд, как в нетфликс, который так же может не сработать, если ты всё вручную не проверил.
Аноним 23/01/21 Суб 20:20:26 1919337321
>>1918687

>В 98-м он был абсолютно неюзабельным языком. Ну язык вроде есть, но, с другой стороны, больше нихуя нет.

Вы путаете язык и тулчейн.
Да, Майкрософт инвестировала в развитие тулчейна в районе 2000-2010, когда Х-ль как язык собственно стагнировал, но зато его форсили наёмные маркетологи Майкрософта, и сформировали в результате субкультуру хипстеров-фрикциональщиков, которые сами не знают, чем хорош их Х-ль, а просто самоидентифицируются по принципу "мы не такие как все". типа готы от программирования, ага.
Аноним 23/01/21 Суб 20:31:22 1919340322
>>1918687

>Как раз Хаскель, в отличие от Скалы, развивается гармонично, потому что там за дизайном следят. Чем Дотти может быть лучше Хаскеля, я вообще не знаю.

Вот не знаете, а говорите, замечательно.
Проблема Х-ля в том, что в него напихали овер дохуа расширений системы типов, которые в совокупности не консистентны. В результате в скомпилированном коде местами невозможно обойтись без динамической проверки типа. Соответственно, есть примеры кода на Х-ле, который тайпчекает статически, но выдает ошибку типов в рантайме. Если вы об этом не осведомлены, то сожалею. И чем это отличается от JS, например? Так что современный Х-ль не лучше JS, а его фанбои - не лучше JS-макак, даже если они привыкли возносить молитвы статической типизации. Х-ль 98 был торт, а нынешний уже нет.

Теперь посмотрите на Дотти. В ней специально урезали ситему типов, чтобы достичь гарантированной консистентности. Она типобезопасна не хуже System F, она никогда не выдаст ошибку типов в рантайме.

Получается, что Скала за это время наверстала упущенное, зато Х-ль деградировал.
Аноним 23/01/21 Суб 23:40:47 1919518323
>>1919340
> есть примеры кода на Х-ле, который тайпчекает статически, но выдает ошибку типов в рантайме
Пруф или пиздабол.
И unsafeCoerce и другие unsafeSomething не считаются
Аноним 24/01/21 Вск 14:02:40 1919925324
>>1919518
>И unsafeCoerce и другие unsafeSomething не считаются

эта новость стара, как мир, и про нее не слышали, наверное, только сами Х-листы.

https://migmit.dreamwidth.org/39346.html

но проблема не только отдельном в примере такого кода.
вопрос глобальный - как может возникнуть рантайм ошибка типов, если язык со статической типизацией? а он не совсем со статической, лол.
проблема в том, что система типов на поверхности языка отличается от системы типов внутри (Core). как следствие, статические гарантии высокого уровня отличаются от реальных гарантий скомпилированного кода. как следствие, компилятор в некоторых случаях ВЫНУЖДЕН вставлять динамическую проверку типа там, где гарантий Core не хватает. в результате код выполняется частично как динамически типизированный. это будет с любым кодом, содержащим некоторые сочетания расширений. а поскольку анон в своем коде будет использовать 100500 библиотек, которые используют 100500 расширений, то результат всегда будет такой.

с JVM точно такие же проблемы, если что.
но Дотти хотя бы не допускает глюков на верхнем уровне языка.
Аноним 24/01/21 Вск 14:05:35 1919930325
>>1919925
Твоей ссылке 8 лет, с тех пор появились type roles и этой проблемы уже нет.
То есть ты вообще не в курсе куда и как развивался Хаскелль за последние годы, но кукарекнуть про несовместимые расширений и райнтайм ошибки типов надо, да.
Иди нахуй с таким уровнем аргументов обмудок тупой
Аноним 24/01/21 Вск 14:14:20 1919936326
>>1919930
>райнтайм ошибки типов
останутся, пока есть Core
Аноним 24/01/21 Вск 16:27:07 1920016327
Сап, двач. Мимо бекенд петушня php/node.

Хочу вкатиться в скалу и работу. Чё посоветуете?(кроме самовыпила)
Аноним 24/01/21 Вск 16:36:25 1920027328
Аноним 24/01/21 Вск 18:07:59 1920126329
>>1798168 (OP)
>рантаймы для JVM и JS позволяют строить высокопроизводительные системы с удобным доступом к огромной экосистеме библиотек.
>Q: Какие либы НЕ брать?
>A: play, izumi, tofu, джавовые фреймворки
Как вам живётся с такой шизофренией?
Аноним 24/01/21 Вск 18:30:54 1920153330
>>1920126
В котлине вон тоже двоемыслие, рекламируют полную совместимость с экосистемой джавы и при этом пилят свои котлиновские велосипеды. Болезнь всех убийц джавы, как-никак.
Аноним 24/01/21 Вск 19:09:57 1920200331
>>1920126
Библиотеки берите, фреймворки не берите.
Аноним 24/01/21 Вск 19:36:32 1920230332
>>1918716
>Т.е. все эти штуки тебе предлагают просто красивую семантику
Не просто. Эта семантика дает универсальные протестированные блоки, который в каждой твоей программе будут работать одинаково. Так же как ты не пишешь свои коллекции и используешь не циклы для операций над ними, а высокоуровневые комбинаторы, теперь ты можешь работать с асинхронными вычислениями. И это очень сильно отличается от
>от того, как бы ты это делал на Джаве
потому что аккуратно чекать флаги в цикле и прерывать вейты очень непросто. Люди все время off-by-one ошибки допускают, а ты про wait говоришь.
Разбираться что дает cancel в разных абстракциях нужно, но это часть понимания семантики. Разобраться с особенностями реализации нужно чтобы понимать какие проблемы с производительностью могут быть или как обойти уже существующие.
>кодить по хардкору
>самые высокопроизводительные приложения
High-load это спектр. На биржах, где тебе нужно вкладываться в миллисекунды, люди кодят по хардкору и выжимают все из железа. В каком-нибудь сервисе на 100к запросов в секунду тебе уже нужен асинхронный IO, но еще можно позволить себе променять быстродействие на четкую семантику библиотек.
Аноним 28/01/21 Чтв 02:52:19 1924000333
Пишу уже несколько месяцев код на скале и хаскеле, делаю это не на работе(на которой джава и питон), читаю иногда каких-то людей из скала, хаскель сообществ. Конечно код пишется интересно, понятно чем ФП привлекает, писать код увлекательно. Но у меня постоянно возникает ощущение, что люди в этом фп, решают вообще не те проблемы, которые решать важно, мб я где-то не там нахожу информацию о них или действительно в ФП мире это норма дрочить на монады, линзы, теор кат и пр. вещи, которые вроде как должны облегчать решать проблемы с кодом, но при этом не использовать эти инструменты для решения реальных проблем(реального мира, а не тех, которые фп само себе создало). Почему если это так удобно и классно на джаве/плюсах/го/питоне написано овердохера полезных вещей вроде баз, оркестраторов, хадупов, меседжброкеров, веб серверов, поисковых движков и пр. А на скале написан только Спарк и акка из того, что решает какие-то реальные проблемы и в них от ФП и нету ничего особо. Зато есть библиотека каких-то костылей(кэтс), которая считается классной в этом мире. Мне конечно писать код нравится на ФП языках, но это все выглядит как решение искусственно созданных проблем. Мб я что-то не знаю и действительно есть какие-то полезные ФП языки, полезность которых подтверждается проектами на них, либо я не туда смотрю, просветите.
Аноним 28/01/21 Чтв 13:31:43 1924233334
>>1920153
Потому что экосистема джавы - говно и юзать её в скале, кложе и т.д. - неидеоматично.
Аноним 28/01/21 Чтв 19:39:39 1924551335
>>1798168 (OP)
https://techcrunch.com/2021/01/28/fintech-darling-nubank-raises-blockbuster-400m-series-g-at-25b-valuation/

Бразильский клон Тинькофф-банка гребет баксы самосвалами и зогхватывает мир. А в чем отличие? Да только в том, что Тинькофф-бэкенд на сабже, а нюбанк - на кложе+датомик.

Передайте этот пост Олегу, это очень важно.
Аноним 29/01/21 Птн 00:05:33 1924774336
>>1924000
> что люди в этом фп, решают вообще не те проблемы, которые решать важно
Есть разные виды проблем, и все они важные, и все так или иначе решаются во всех языках.
1) Проблемы программирования (сюда же входят проблемы порожденные языком или парадигмой). Сюда относятся библиотеки-улучшения стандартной библиотки (думаю есть в любом языке, в джаве это например apache-commons или guava, в скале - cats/zio), разработка библитек для уменьшения боилерплейта (lombok в джаве, shapeless в скале), а также разработка паттернов использования языка (в ООП это практически неформализуемо в виде библиотке, поэтому эти подходы изложены в GoF и других книгах по OOD, в ФП их частично можно выразить тайпклассами). Поскольку скала с ФП позволяет создавать намного более высокоуровневые абстракции, в ней есть больше библиотек для этих проблем, и это хорошо потому что в других языках эти проблемы есть, но их каждый раз нужно решать заново.
2) Инфраструктурные проблемы - хадупы, брокеры и все остальное. Это прямо пропорционально возрасту языка и количеству программистов на нем. Еще нужны библиотеки для взаимодействия со все этим добром, асинхронщины и сериализации и всего остального (вот они в скале есть). Кроме того, скале зачастую не нужны свои инфраструктурные библиотеки - netty работает отлично, хадуповские классы используют из спарка и т.д. Можно сразу использовать язык для
3) проблем бизнеса. Тут-то для написания поддерживаемого кода тебе и приходят на помощь наработки из п. 1)
Аноним 29/01/21 Птн 10:11:38 1924945337
>>1924000
Пока скалисты рассуждают как им читать .properties файлы и лифтить монады в очелло, джависты уже запускают очередной микросервис и рубят капусту.
Аноним 29/01/21 Птн 10:12:23 1924946338
>>1924551
Ты не сравнивай местечковый банк, который отмывает грязные деньги в странах Латинской Америки, с детищем Олега - проект тревел-инвестиции.
Аноним 29/01/21 Птн 11:38:03 1924997339
>>1924945
Пока джависты неделями выжигают глаза xml-ем и рассуждают как им добавить 99й слой абстракции с помощью AbstractSingletonProxyFactoryBean, пхпшники и гошники уже запускают очередной микросервис и рубят капусту.
Аноним 29/01/21 Птн 13:51:33 1925128340
>>1924997
>пхпшники
graceas, плез :)
Аноним 29/01/21 Птн 18:21:27 1925387341
>>1924946
>не сравнивай банк
>с детищем Олега
вы еще скажите, будто сам банк - это детище Олега
Аноним 29/01/21 Птн 19:17:26 1925453342
>>1924774
> 3) проблем бизнеса. Тут-то для написания поддерживаемого кода тебе и приходят на помощь наработки из п. 1)
Тем не менее туча бизнесов как работали на императивных языках так и работают, а функциональные языки им только проблемы создают с их способностью писать высокоуровневые абстракции и невозможностью из-за этого масштабировать команду и заменять в ней людей. Само ФП создает не только проблемы для программистов, которые они решают абстракциями, так и бизнесам, которые пытаются людей обучать ему, если уж попали в ФП. А обучить человека хреначить на скале\хаскеле дело хлопотное и у него должна быть изначально предрасположенность к этому, иначе его просто не убедить, что ФП - это полезно.
Ну и вообще за 20 лет можно было бы кроме библиотек с тайпклассами хотяб ide сделать, которая не краснит. Про билд тул у меня такое же впечатление, но с ним я скорее всего не разобрался пока нормально.Тоже дополнительные проблемы.
Аноним 29/01/21 Птн 19:35:09 1925474343
>>1925453
>ide сделать, которая не краснит
пробую дотти ни единого разрыва не краснит
Аноним 29/01/21 Птн 23:48:45 1925652344
>>1925453
>как работали на императивных языках так и работают
Это так себе аргумент. Если что-то работает это не повод не совершенствовать подходы.
>функциональные языки им только проблемы создают с их способностью писать высокоуровневые абстракции
Обычно в бизнес-коде тебе не нужно писать свои абстракции. Ты просто используешь то что тебе дают библиотеки. Если тебе понадобилось накручивать что-то свое сложнее функций типов данных, то или у тебя действительно сложная задача, или ты занимаешься оверинжинирингом. Последнее регулярно происходит и в ОО-языках (а может и чаще, потому что в них свои абстракции нужны всегда из-за невыразительных библотек), но там как-то уже научились в этом обвинять людей, а не инструменты.
>невозможностью из-за этого масштабировать команду и заменять в ней людей
Проблема масштабирования существует, но думаю она связана не с абстракциями, а именно с тем что есть масса людей уже обученых процедурщине (я видел буквально пару людей, умеющих в ООП).
>у него должна быть изначально предрасположенность к этому
Не знаю что за предрасположенность, но действительно для того чтобы начать разбираться в ФП и его плюсах нужно любопытство какое-то, чтоли. Или нужно просто подольше пожрать говна со стандартными подходами и в какой-то момент увидеть что можно-то по-другому.
> Про билд тул у меня такое же впечатление
Да мавен используй и не еби мозг. Можешь еще mill попробовать, он как раз из-за усталости от sbt сделан.
Аноним 30/01/21 Суб 07:57:22 1925768345
>>1925474
>дотти
>ide
лiл, вкатышь путается в языках и средах разработки!
Аноним 30/01/21 Суб 18:39:51 1926365346
>>1925768
вы на дотти пишете без иде?
Аноним 30/01/21 Суб 21:39:40 1926554347
Вкатился в функциональщину, когда мозг привык к композиции функций и point free стилю, осенило. Стал писать код лучше, на работе внедряю ramda.js. Продолжаю вникать дальше, уже охуел от элегантности монад и кажется ФП картина в голове немного складывается.

Вот думаю что пора отстраняться от JS и попробовать какой-то язык посерьезнее, с большим упором на ФП и с возможностью переката поэтому Хаскель не хочется рассматривать чисто из практической точки зрения. Стоит ли в Скалку вкатываться? Подводные камни? да, я хочу услышать позитивные ответы в Скала треде от скалистов

Другой вариант, который мне кажется реалистичным, это Эликсир.

Стаж 4 года, работаю на фронте и есть опыт работы на беке Руби.
Аноним 30/01/21 Суб 22:40:36 1926596348
>>1925453
Анон, ты как и многие опять поддаешься на провокации местных борщехлебов. ФП - это не тайпклассы и ебля монатками в очко. ФП - это тупо референциально транспарентные функции и иммутабельные данные. Когда у тебя у композитных объектов такая же семантика (эквивалентность, изменямость), как например у чисел. х = 2, потом х = 3. Икс изменился, а число 2 как было числом 2, так и осталось. И теперь генерализируй эту семантику на бизнес-объекты. Все, в этом и заключается ФП. Это уже лет 10 как common wisdom, что с такой семантикой в общем случае работать проще. Все новые языки и технологии(!) ориентируются на нее по дефолту. Вот и все, это и есть ФП. В расте фп, в джаве фп. Везде фп. Кроме тех мест, где оно дает большой оверхед по памяти\производительности, т.е. там, где надо ебаться в байтики. Но иногда и там можно.

А то, что местные фанатики тебе рассказывают - это на 20% полезные, но не критичные штуки (дело вкуса), а на 80% - маркетинговый буллшит и бойлерплейт, потому что тут так принято.

Добра, анон!
Аноним 30/01/21 Суб 23:09:19 1926612349
>>1926596
>референциально транспарентные функции
А как ты будешь соблюдать чистоту в языке с сайд эффектами без монад, или ещё чего ядрёнее типа афинных/линейных типов, что именно должно тебе поможет позволить изолировать чистую часть программы от сайдффектной на уровне типов, если не это?

пора бы уже начать пиздить за использование лингвистического термина reference transparency применимо к программированию, где он полностью теряет смысл
Аноним 30/01/21 Суб 23:24:09 1926619350
>>1926612
>А как
Просто и без задней мысли, я же не шизоид с ОКР.

>reference transparency применимо к программированию, где он полностью теряет смысл
Бред. Лень объяснять.

В любом случае, я свой пост адресовал конкретному анону, а не местным господам борщехлебам. Не вижу смысла устраивать очередной унылый одинаковый срач, кому-то нравится арбуз, кому-то - свиной хрящ. Я просто довел до анона информацию, что фп != борщи.
Аноним 31/01/21 Вск 00:27:29 1926644351
>>1926619
>Просто и без задней мысли, я же не шизоид с ОКР.
Ясно, то есть никак.

>Бред. Лень объяснять.
https://stackoverflow.com/a/9859966

>Я просто довел до анона информацию, что фп != борщи.
Это называется дезинформация.
Если ФП - это ФВП, замыкания + парочка стандартных комбинаторов, то 95% менйстрим программирования это ФП, даже пхп.
Но если ты уж начал говорить про чистоту, то нормальная система типов, позволяющая сэйвово разделить чистую программу и эффекты есть лишь кое-где и является тем, что ты определяешь как "борщи".
Аноним 31/01/21 Вск 00:34:10 1926645352
>>1926644
>>1926619
Челик начинает вкатываться в ФП, видит некоторые полезные для себя вещи и некоторые непонятные.
Но вместо того чтобы продолжить разбираться в мат.части, он решает для себя что есть "ФП" а есть ненужные "борщи", ведь проще назвать кого-то борщехлебом и смишно пошутить про "монады в очелло", чем пытаться найти профиты в "борщах".
Аноним 31/01/21 Вск 02:37:59 1926701353
>>1926645
>>1925652
>>1926619
Профиты "борщей" я понимаю, но всё-таки насколько в целом парадигма сильнее императивного подхода я понимаю только в теории. Планирую пописать какой-нибудь велосипед на скале/хаскеле, чтобы все-таки иметь какой-то опыт к чему-то приближенному к реальной жизни, пока я только книжки читал, да курсы проходил, там упражнения конечно показывают полезность ФП, но все это выглядит как что-то вырванное, отдельное.

Всем спасибо за ответы.
Аноним 31/01/21 Вск 06:13:10 1926730354
>>1926644
Лол, Антон ДэГузло пытается оправдать свои попытки залифтить монаду себе в очелло!
Аноним 31/01/21 Вск 13:40:52 1926919355
>>1926644
Не знаю, что в словах "мне неинтересно в очередной раз иметь тот же самый срач с юным адептом борщей" тебе непонятно.

>>1926645
Вообще мимо.

>>1926701
Для души бери х-ль и кложу\эликсир, чтобы ощутить все грани. Скалка объективно неактуальна, а чисто для изучения подхода в ней слишком много семантического шума.
Аноним 31/01/21 Вск 14:57:10 1926977356
>>1926919
> мне неинтересно! слышите, вообще не интересно!
> скала неактуальна! мне это неинтересно но я пришел вам написать что она неактуальна!
Аноним 31/01/21 Вск 17:19:28 1927130357
>>1926919
>Для души бери х-ль
>Скалка объективно неактуальна
слова настоящего латентного хаскелиста?
Аноним 01/02/21 Пнд 17:01:41 1928105358
>Не заходил в тред полгода
>Местная истеричка все еще детектит меня в каждом втором посте
Смешно.

Антон Де Гузло
Аноним 02/02/21 Втр 15:34:02 1928885359
>>1928105
Так вот кто в овощной кидает!
Аноним 06/02/21 Суб 11:06:09 1932016360
>>1928105
>Антон Де Гузло
>Челы-дяди, а как залифтить монаду себе в очелло?!
лiл!
Аноним 11/02/21 Чтв 23:20:29 1938197361
Посоны, наверное тупой вопрос, но я не шарю в java экосистеме.

в sbt у меня два таргета:

lazy val lib = (project in file("."))
lazy val app = (project in file("app"))
.aggregate(lib)
.dependsOn(lib)

app зависит от lib


в app я при помощи runtime рефлексии хочу создавать классы из lib.

для этого думаю заюзать ClassFinder

import org.clapper.classutil.ClassFinder
val finder = ClassFinder()
finder.getClasses()

если выполнить данный код в lib, то все ок, я вижу классы определенные в lib
если выполнить этот код в app, то я не вижу классы из lib.

Что в sbt поправить, чтобы классы из lib так же были видны?
Аноним 12/02/21 Птн 01:17:05 1938256362
>>1938197
>в app я при помощи runtime рефлексии хочу создавать классы из lib.
1) Не страдай хуйней (рефлексией), а лучше опиши что именно ты хочешь сделать с точки зрения бизнес-логики. Скорее всего есть вменяемое решение без рефлексии или на крайняк либа которая уже это делает за тебя.
2) Словами описывать такие проблемы бесполезно. Чтобы хотя бы надеяться на помощь, кидай проект на гитхабе.
Аноним 12/02/21 Птн 01:55:28 1938266363
>>1938256
>лучше опиши что именно ты хочешь сделать с точки зрения бизнес-логики.
Вот тут чел описывает ровно ту проблему, которую я пытаюсь решить - https://stackoverflow.com/questions/27756064/java-register-available-classes-to-list-automatically

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

>2) Словами описывать такие проблемы бесполезно. Чтобы хотя бы надеяться на помощь, кидай проект на гитхабе.
Да, видимо придется чет такое сделать
Аноним 12/02/21 Птн 13:20:02 1938490364
>>1938197
Помогло добавление
fork in run := true
в зависый project
Аноним 12/02/21 Птн 15:02:18 1938595365
Аноним 12/02/21 Птн 21:59:07 1939022366
>>1938595
>обезьяне_вместо_дубины_дали_ружье.тхт
Аноним 12/02/21 Птн 23:24:05 1939094367
>>1938595
Никогда оверинжиниринга в джаве не видел? Для насмешки над ним даже enterprise fizz buzz придумали.
Аноним 13/02/21 Суб 00:05:54 1939121368
Аноним 13/02/21 Суб 19:42:38 1939942369
>>1915327
Дегос же гей-медведь. Что еще лучше.
Аноним 15/02/21 Пнд 15:29:26 1941914370
>>1798168 (OP)
Поздравляю, скаланы! ДелиМобиль наконец-то съехал со Скэйли и все переписал на Kotlin + Arrow. Теперь компания не в опасности!
Аноним 15/02/21 Пнд 16:45:33 1941995371
>>1941914
>Arrow
Коты, только хуевей. В Kotlin без эмуляции тайпклассов и нормального паттерн-матчинга НЕ НУЖНО.
Аноним 15/02/21 Пнд 17:32:13 1942066372
>>1941995
Чел, людям проект нужно запустить и деньги зарабатывать, а не в котов пердолится и думать каким лучше залифтить монаду себе в очелло как Антон Де Гузло
Аноним 15/02/21 Пнд 17:48:20 1942104373
изображение.png 236Кб, 590x818
590x818
>>1942066
Пикрил счастливый адоптер Arrow.
Аноним 15/02/21 Пнд 18:30:48 1942199374
>>1942104
Чел, прекращай себя закапывать...
Аноним 18/02/21 Чтв 11:21:36 1944959375
Прочитал книгу Одерски programming scala ( до этого еще его курс на coursera прошел ). Что лучше дальше почитать?
Аноним 18/02/21 Чтв 12:34:35 1945103376
изображение.png 508Кб, 638x485
638x485
Аноним 18/02/21 Чтв 21:15:13 1945662377
>>1944959
Почему ты решил вкатываться именно в scala? Ты джавист?
Аноним 18/02/21 Чтв 21:26:03 1945671378
Scala-Гопник.jpg 263Кб, 1280x960
1280x960
>>1945662
>Почему ты решил вкатываться именно в scala? Ты джавист?
Аноним 18/02/21 Чтв 23:24:48 1945781379
>>1945662
Джавист? Боже упаси. Я на плюсах пишу.

А так я скорее в функциональщину сейчас вкатываюсь, вкатился бы лучше в хачкель ( или хотя б F# ), но вакансий нет, только борщ, приходится вот в скалу
Аноним 19/02/21 Птн 10:03:06 1945967380
>>1944959
Functional Programming in Scala
Ещё можно одноименный курс на курсере пройти с Одерским.
Аноним 19/02/21 Птн 16:48:34 1946466381
>>1944959
Вакансии на HH.ru, конечно же. Когда осознаешь, что без многолетнего опыта вкатиться в скэйлу не выйдет, то переходи в котлин или оставайся в джаве - там хотя бы деньги платят. В Скейле же IDE код краснит и очень странные кадры работают
Аноним 19/02/21 Птн 18:27:42 1946589382
>>1946466
>В Скейле же IDE код краснит и очень странные кадры работают
это какой-то местный мемасик?
Аноним 19/02/21 Птн 19:06:25 1946673383
>>1946589
Попустись! Все проклинают Сугака из-за того, что IDEA краснит Скала-код! Краснит даже на простых кейсах. А еще все тормозит и отжирает просто неприличное количество памяти!
Аноним 20/02/21 Суб 09:52:29 1947068384
image.png 313Кб, 488x552
488x552
Зачем виабушник накручивает свой чатик ботами?
Аноним 20/02/21 Суб 19:03:55 1947688385
Укатился из скалы в хаскель год назад. Пишу на самом охуенном языке в мире. Сижу без работы. Брат есть, батя говорит.
Аноним 20/02/21 Суб 19:06:15 1947693386
>>1946466
>без многолетнего опыта вкатиться в скэйлу не выйдет
Вот это кстати чушь, я вкатился с опытом скалы 1 мес. Контора была хорошая, но не сильно притязательна, потому что скалистов нихуя нет в природе.
Аноним 20/02/21 Суб 19:52:30 1947737387
>>1947693
Чел, ты только не ври окружающим, окда? Даже помоечный динс воротит нос от перекатщиков и требует коммерческий опыт от 2 лет на скэйле. Что уж говорить о тиньке или райфе, которые такой анал-карнавал устраивают на собеседовании, что закачаешься. Они также требуют коммерческий опыт от года на скэйле. И да - пердоленье спарка не считается за скэйла опыт.
Аноним 20/02/21 Суб 19:53:22 1947740388
>>1947688
Гранин? Это ты?! Ты же контрактник на Хаскелле, который никогда и нигде не работал и пописываешь книжечки про хэйскэлл
20/02/21 Суб 20:04:58 1947753389
>>1947737
>>1947740
Ясно, тут тоже одни шизы сидят.
Пойду ка я обратно в инвестач.
Аноним 20/02/21 Суб 21:10:33 1947838390
>>1947068
Чел, данный паблик как и продджвм держат гуга и димсоул - контрактеры за 300кк в наносекунду. Им незачем нагонять ботов.
Аноним 21/02/21 Вск 12:32:47 1948230391
>>1947737
> Даже помоечный динс воротит нос
Почему помоечный?
Аноним 21/02/21 Вск 12:54:55 1948250392
Сап, двач я не тян.

Интересуюсь Скалой и ФПхой вообще. Я яростно не люблю ООП классическое, программирую на Go. До этого писал на крестах.

С джавой не знаком вообще, знаю что рефлексия есть. На спринге в шкале один диплом делал.

Вопрос, можно ли вкатываться в скалу не залезая в этот явовый стек вообще?
Аноним 21/02/21 Вск 13:05:23 1948266393
>>1948250
Да, можно. Это в котлин без джавы не вкатишься. А в скэйле своего добра полно и можно обойтись без знания джавы. Только учти, что IDEA (единственная IDE, которая худо-бедно работает со скэйла) нещадно краснит код и отжирает просто гигабайты памяти и загружает твой процессор до отсечки.
Аноним 22/02/21 Пнд 12:23:45 1949027394
>>1948230
Потому что не взяли туда анона, очевидно
Аноним 26/02/21 Птн 11:04:42 1952008395
Изучаю скалу. Захотелось попробовать сделать набор обобщенных геометрических классов. С алиасами на самые распространенные варианты: Int и Double

Это норм подход - https://ideone.com/Fu1mXc ?
Где вообще почитать про дизайн и best practices при создании пользовательских библиотек в scala ?
Аноним 26/02/21 Птн 12:07:05 1952048396
Аноним 26/02/21 Птн 19:28:02 1952632397
>>1952048
Ну и зачем ты скинул потуги Де Гузла?
Аноним 27/02/21 Суб 06:02:05 1952859398
>>1952632
Чел, неси деньги и вникай как проектировать действительно качественный код на скэйла
Аноним 27/02/21 Суб 12:55:02 1952973399
изображение.png 41Кб, 839x310
839x310
изображение.png 242Кб, 807x404
807x404
Что это за говно вместо синтаксиса?
Аноним 27/02/21 Суб 16:50:14 1953168400
>>1798168 (OP)
Верно ли я понимаю, что Cats для либералопедерастов-SJWшников, а ZIO для правильных пацанов?
Аноним 27/02/21 Суб 18:16:13 1953248401
>>1952973
По-моему охуенно.
Главное чтобы не как C-style параша или петухон.
Аноним 27/02/21 Суб 19:40:00 1953318402
>>1952973
Найс-найс. Сколько теперь ждать, чтобы идея перестала краснить? Еще 10 лет? Сугаку работы привалило, лол. Может сможет себе квартирку в Хамовниках взять.
Аноним 02/03/21 Втр 11:51:23 1955290403
Наверное еще один тупой вопрос, но может и нет. Сходу чет не нагуглил

1) в scala for comprehension всегда транслируется в вызовы map, flatMap, и withFilter, правильно?

2) map ( и flatMap ) на выходе создают новую коллекцию. Если новая коллекция не нужна, то предполагается вызывать map либо у iterator либо у view, правильно?

Соответственно вопрос:

Следует ли из пункта 1) и 2), что в for comprehensions стоит использовать iterator или view для того, чтобы избежать overhead'а от создания ненужных новых коллекций при вызовах map и flatMap

т.е. что-то типа

for{
x <- xs.iterator
y <- ys.iterator
} yield x + y

Или это все не нужно и никакого оверхеда не будет?
Аноним 03/03/21 Срд 13:24:43 1956215404
зачем нужен sbt когда есть скажем mill ?
Аноним 05/03/21 Птн 09:50:51 1957920405
>>1956215
>mill
Что там по Гонконгу? А как на счет Тибета?
Аноним 08/03/21 Пнд 16:07:54 1960814406
Есть задача: https://adventofcode.com/2015/day/4

Если в двух словах: надо среди натуральный чисел найти наименьшее число удовлетворяющее некоторому условию. Хоть каждое число проверяется относительно быстро, чисел перебирать приходится много ( решением является число порядка миллиона ), поэтому хочется это все распараллелить.

Я сделал реализацию в которой берется некоторый chunk чисел ( скажем по 100 тысяч ), этот chunk делится на меньшие диапазоны, количество которых равно числу ядер и каждый диапазон заворачивается и вычисляется в Future. Далее все аггрегируется через Future.foldLeft и если не находится ни одного результата, берем следующий chunk и т.д.

Получилось вроде неплохо, практически линейный рост производительности по числу ядер. Но стало интересно может как-то подекларативнее можно все это сделать? Через parallel collection какой-нибудь или еще как.
Аноним 09/03/21 Втр 17:16:48 1962035407
image 91Кб, 1146x644
1146x644
image