Этого треда уже нет.
Это копия, сохраненная 30 июня 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Scala /scala/ тред RISC-V edition /scala/ 1259320 В конец треда | Веб
Очередной тред про самый лучший язык для JVM.

Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Учебник по Скале на русском: http://twitter.github.io/scala_school/ru/index.html
Второй учебник по Скале на русском: http://twitter.github.io/effectivescala/index-ru.html
Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun
Список годноты: https://github.com/lauris/awesome-scala
Презентации летнего ScalaDays: https://www.parleys.com/channel/53a7d269e4b0543940d9e535/presentations?sort=views&state=public
Два недавних форка компилятора, один от тайплевела и второй от баттхертнутого:
https://github.com/typelevel/scala (https://github.com/typelevel/scala/wiki/Differences)
https://github.com/paulp/policy

Завтра ищешь в интернете книжку Programming in Scala. Похуй если ничего не поймешь. Затем идешь на scala-lang.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию скала кода - от EPFL естественно, чтобы от зубов отскакивало. Когда напишешь свой первый клон Twittera, по пути изучив основы дискретного и лямбда исчисления, скачиваешь и изучаешь любой асинхронный скала вебсервер, рекомендую Play!. Как переделаешь твиттер клон, чтобы выдавал по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop и Spark, сверхбыстрые асинхронные key-value хранилища, NoSQL и прочие мира открытого исходного кода приблуды. Отсос хиккующих питонистов / просто неудачников типа годаунов или рубифанбоев, сосут по жизни, не заставит себя ждать и уже через пол года ты будешь подворачивать штаны, есть маффины, запивая смузи и любая баба будет течь от упоминания твоей зарплаты.

Теперь, вдобавок к вышесказанному, ты можешь посрамить своими подвернутыми джинсами и своей великолепной ухоженной бородой ещё и замшелых ПЛИСоебов-свитеров в драных китайских ноунейм-джинсах и с неухоженными бородами старой закалки.

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

https://chisel.eecs.berkeley.edu/

На этом языке написана реализация самого хайпового свободного процессора последних лет - RISC-V.

https://github.com/freechipsproject/rocket-chip
2 1259322
Краткий гайд в божественный мир написания железок на Chisel:

https://github.com/freechipsproject/chisel3/wiki/Short-Users-Guide-to-Chisel
3 1259328
Предыдущий тред тонет тут:

>>1137321 (OP)
4 1259332
5 1259353
>>259320 (OP)

>Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/


Вот лучшая книга на самом деле - https://www.amazon.com/Programming-Scala-Updated-2-12/dp/0981531687
6 1259354
>>259320 (OP)

>


>Ведь в твоем распоряжении Chisel - самый лучший HDL язык на основе Scala для разработки процессоров, видеокарт, майнеров криптовалют, машинного обучения и всего такого прочего


Не нужен, т.к. нет железа для тестирования.
7 1259365
>>259354

>Не нужен, т.к. нет железа для тестирования.



На выходе - netlist на верилоге, легко загоняемый в любую FPGA - хочешь в Xilinx, хочешь в Altera.
8 1259369
>>259354

>Не нужен, т.к. нет железа для тестирования.



Есть Chisel RTL Simulator
9 1259376
>>259365
Ты стоимость железа видел? Да и накой нужен этот FPGA? Майнеры делать?
11 1259384
>>259365
Адекватный разнос этого вашего Чизела - https://news.ycombinator.com/item?id=9949609
12 1259385
>>259383
И че с ней делать? Что ты писать собираешься под FPGA?
14 1259400
>>259395
Слушай, ну это не серьезно. Куда прибыльней писать майнеры под всякие криптовалюты на китайских фпга с али.
15 1259403
>>259383
Слушай, ну это просто плата для прототипирования. Т.е. реальный софт под ФПГА ты не будешь на нем запускать для продкшена.
16 1259406
>>259320 (OP)
Разнос чизела:

I have to confess that I have never heard of Chisel HDL until I read this question two minutes ago. No offense to the selfless developers of this language/platform; but learning it is not likely to help you in your job search or even graduate school applications. I applaud your curiosity and eagerness to learn exotic new languages, but you would do better by sticking to Verilog for your design projects.

The industry uses Verilog and VHDL for RTL design and verification; and there is hardly any time or reason to switch to the language-du-jour. The candidates who have the most appeal to us are those who know the standard tools of the trade (Verilog, System Verilog, and a scripting language - most likely Perl. Perl is the glue that holds the chip industry together).

While you go on a tangent and spend your precious study time on learning Scala and implementing simulators in Chisel; your classmate Kumar will buy a used copy of Palnitkar's Verilog book for $5, learn the language inside out, solve the exercises, download a System Verilog tutorial to learn the basics. And when both of you show up for the interview; guess which one of you we will hire. In an ideal world, your curiosity and forays into exotic hardware description languages should mean something. But this is not an ideal world, and I need the new design engineer (Kumar, in this case) to start cranking out HDL one week after he starts.

Many people have successfully designed out of order CPUs in plain, old and boring Verilog and VHDL; and their implementations seem to be working fine ;-) I would suggest learning Verilog well, and perhaps getting a small FPGA board and learning how to synthesize your designs to familiarize yourself with the various constraints (timing, area etc.) in digital design. That alone should give you significant advantage in a job interview - you would be surprised how many candidates just freeze when we ask them to design a linear feedback shift register or clock synchronizer. And leave Chisel to grad students working on EDA tool development or programming languages.
16 1259406
>>259320 (OP)
Разнос чизела:

I have to confess that I have never heard of Chisel HDL until I read this question two minutes ago. No offense to the selfless developers of this language/platform; but learning it is not likely to help you in your job search or even graduate school applications. I applaud your curiosity and eagerness to learn exotic new languages, but you would do better by sticking to Verilog for your design projects.

The industry uses Verilog and VHDL for RTL design and verification; and there is hardly any time or reason to switch to the language-du-jour. The candidates who have the most appeal to us are those who know the standard tools of the trade (Verilog, System Verilog, and a scripting language - most likely Perl. Perl is the glue that holds the chip industry together).

While you go on a tangent and spend your precious study time on learning Scala and implementing simulators in Chisel; your classmate Kumar will buy a used copy of Palnitkar's Verilog book for $5, learn the language inside out, solve the exercises, download a System Verilog tutorial to learn the basics. And when both of you show up for the interview; guess which one of you we will hire. In an ideal world, your curiosity and forays into exotic hardware description languages should mean something. But this is not an ideal world, and I need the new design engineer (Kumar, in this case) to start cranking out HDL one week after he starts.

Many people have successfully designed out of order CPUs in plain, old and boring Verilog and VHDL; and their implementations seem to be working fine ;-) I would suggest learning Verilog well, and perhaps getting a small FPGA board and learning how to synthesize your designs to familiarize yourself with the various constraints (timing, area etc.) in digital design. That alone should give you significant advantage in a job interview - you would be surprised how many candidates just freeze when we ask them to design a linear feedback shift register or clock synchronizer. And leave Chisel to grad students working on EDA tool development or programming languages.
17 1259414
>>259406

Это охуенно.

1 абзац

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


2 абзац

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


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


> Вы находистесь здесь


3 абзац

> пока вы учите скалку, васян по букварю выучит жабу и бкдет зарабатывать 300кк/c


4 абзац

> ДИДЫ БАЙТЫ НА СЯХ ИБАЛИ, СЕГФОЛТЫ ЛАВИЛИ, КОД В ПРОЦЕДУРНУЮ ЛАПШУ ПРЕВРАЩАЛИ И ВЫ ДОЛЖНЫ КАК ДИДЫ. НИНУЖЕН ГЦ, УТЕЧКИ ПАМЯТИ ЭТО НОРМ КОКОКОКОКО

18 1259420
>>259414
Ну и майнеры писать под фпга, ну такое. Намного производительней будет Асикс.
19 1259423
>>259320 (OP)
Так-так, а что если я захочу написать майнер на этом чизеле. Мне нужна будет тестовая плата с али, а когда захочу собрать готовый прибор для продакшена мне придется покупать какую-нибудь плату от интела, чтобы выжать все соки, если вы понимаете о чем я?
20 1259425
>>259420

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



Для не вкуривающих сообщаю - синтезабельный netlist (в данном случае - синтезабельный RTL Verilog-выхлоп) одинаково прекрасно "компилируется" что в прошивку FPGA что в ASIC-железо. Во втором случае ты отправляешь RTL-код на фабрику и там тебе его конпелируют/трассируют в железку с использованием тамошних библиотек стандартной cmos логики и высылают готовые кристаллы/корпусные изделия с ножками. Вся разница исключительно в стоимости - дорогая плата на топовых FPGA стоит макс полляма-лям дерева, в то время как партия кастомных кусков кремния обойдётся по цене примерно от стоимости нового X5 до стоимости нового роллс-ройса, в зависимости от техпроцесса/применяемого способа производства/количества функциональных елементов.

В любом случае FPGA - обязательный этап для прототипирования того, что ты впоследствии собираешься видеть в кремнии.
21 1259430
>>259423

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



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

Ну и есть готовые pci-express платы не от китайцев.
22 1259431
>>259425
Ну хууй знает. С этими вашими фэпэгэа нужно электротехнику, физику и математику на зубок знать. Лучше я круды буду на плэй фреймворке писать.
23 1259437
>>259431
Ну и обязательно нужно прочесть вот эту книгу - https://www.amazon.com/Digital-Design-Computer-Architecture-Second/dp/0123944244/ref=sr_1_1?ie=UTF8&qid=1477396549&sr=8-1&keywords=Digital+Design+and+Computer+Architecture для того, чтобы понимать как писать код для верилог и проектировать такие платы.
24 1259954
>>259425
Слушай, ну за такую цену он совсем не нужен. Как же тогда ребята всякие майнеры на асиксах клепают и продают в розницу за несколько штук баксов?
25 1259958
>>259954

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



Цена за партию, алё.
26 1259964
>>259958
Битмейн за один асикс майнер просит штукарь
27 1259990
Ебать, зашёл в Scala тред, тут не йобо ФП, акторы и асинхронность, а fpga и hdl. Вы ебанутые?
28 1260011
>>259990
Нормально все, че ты начал, в самом то деле?! Берешь значит чизел и начинаешь писать код майнера под какой-нибудь криптокоин. Затем засылаешь сгенереный код в Гуанчжоу, а тебе в ответ прилетает готовая плата с кремнием, ееее!
29 1260018
>>259990

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

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

А старые свитерские инструменты пиздец какие битоблядские (одна только декларация входных-выводных сигналов, которое в традиционных HDL никак не абстрагируется и в листнинге кода его 4 экрана шин и проводов вниз проматывать чтобы до логики добраться, а потом ещё и не запутаться. :

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

В FPGA ФП и асинхронность такие что процессорохолопам и не снились. Потому что здесь они настоящие, а race conditions вполне такие физические - электронами по проводам через транзисторы.
31 1260044
>>260021
Это что же получается, чизел - это вин-вин? Такое-то ФП на Скале!
32 1260166
>>259320 (OP)

>1 пик


Особенно актуально в свете java8, ага-ага))0)
33 1260408
>>260166
Все так. Lombok - для того, чтобы не плодить геттеры, сеттеры и т.д. Лямбды есть, передавать лямбды в виде параметров методов можно. Стримы есть. Всякие Акка и Плэй фреймворк доступны из Java с Java API. Скала не нужна по своей сути. Это было бы актуально если бы развитие Java остановилось на Java 5. Но Java уже догнала по фичам скалу. Если хочется немного сахарка, то лучше взять Kotlin вместо скалы, т.к. ее разрабатывает крупнейщая компания по разработке инструментов для разработчиков. А Scala разрабатывает полтора человека из EPFL. Петрашко ушел в Страйп. Феликс Малдер ушел в Кларну. Прокопец тоже уже не работает над Скалой. Там остался Мартин и человека 3 вроде, кто активно контрибюьтит в дотти.
34 1260411
>>260408
>>260166

Вы тред не читаете что ли, какие геттеры? Какие сеттеры?

Scala - это теперь такой HDL язык чтобы ASIC-майнеры писать.
35 1260428
>>260411
Скала умирает. Дотти ничего не решит. Нужен порт твоего чизела на Джава.
36 1260431
>>260428

Лучше бы кто-нибудь GNU Electric до вменяемого состояния допилил, он уже на джаве.

Чтобы там нормальный ux был с масштабирующимися шрифтами, что бы конпеляторы ели любой синтезабельный код.
mark.jpg17 Кб, 480x360
37 1260785
>>260408
Только собрался вкатываться в Скалу. Какое-то проклятье, сука, как что-то выбираю - оно сразу подыхает. Пиздец просто какой-то.
38 1260805
>>260785
Вкатись в жс пожалуйста
39 1260806
>>260411
Scala не развивается и ее разрабатывает 3 человека, лул.
40 1260928
>>260785
Два чаю этому >>260805 , начни учить JS с реактом, умоляю.
41 1260950
>>260785
Бля а я только вкатился. Хуй знает, в кой то веки кодинг доставляет, Яву с ее говном не хочется.
Что учить то. Заебала эта хуйня. Что там в трендах и чтобы интересно было?
joy.jpg9 Кб, 213x236
42 1260968
>>260805
>>260928
То что мертво, умереть не может.
43 1260974
>>260408

>Но Java уже догнала по фичам скалу.


Проверять мы его конечно не будем...
44 1261075
>>260950
Котлин же.

Местами очень похож на скалу.
Местами сильно лучше.
И точно в разы практичнее.
45 1261094
>>261075
Ты ни котлина, ни скалы не знаешь, если так говоришь.

>>260950
Обязательно учи то, что тебе посоветуют в зекаче, и не учи то, про что в зекаче сказали плохо. Здесь все анонимные эксперты индустрии, просто нет смысла не доверять свою карьеру экспертам с сосача.
46 1261154
>>261094
Ну так и правда не взлетает же. Пока вакансии есть но будут ли через 2 года хз.
Впрочем, к тому времени все равно новое говно учить. Эх.
По крайней мере скала интересная и увлекает кодинг, может хоть прокачаюсь.
scalastronk.png71 Кб, 1024x1071
47 1261162
>>261154

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


А ведь Scala неплохо подходит для обучения программированию. В ней представлены все основные парадигмы, для наглядности REPL имеется, unit-тесты, систему сборки проекта можно пощупать, да еще и синтаксис не такой перегруженный, как в Java. Не врет Одерски, когда говорит, что Scala - это scalable language.
48 1261173
>>261162
Достаточно открыть код стандартной библиотеки Скала, чтобы понять на сколько он читабельный.
49 1261255
>>261162

>да еще и синтаксис не такой перегруженный, как в Java.


Да, да, особенно вот это.
Совершенно не перегруженный, ни разу вообще.

>>261173
Да, язык очень читабельный.
Только мельком взглянешь на код - и сразу всё понятно.
50 1261288
>>261173
>>261255
А еще скала дает себя почувствовать илиткой, когда плебеи бомбят от нее, да. И работа есть, пока что. Прекрасно.
51 1261292
>>261173
>>261255
На любом языке можно написать невыносимо отвратительную нечитаемую хуйню. Но ведь никто не заставляет писать именно так.
52 1261298
>>260805
>>260928
Он уже вкатился в программирование.
53 1261329
>>261154

>будут ли через 2 года


Будут.

>Впрочем, к тому времени все равно новое говно учить.


Да, это так.

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


Да, это так.

>>261162
После scheme вполне можно скалу брать, согласен.

>>261173

>Достаточно открыть код стандартной библиотеки {{любой-язык-нейм}}, чтобы понять на сколько он читабельный.


Починил.
54 1261336
>>261329
читаю код исходной библиотеки Java и восхищаюсь лаконичностью языка!
55 1261445
>>261336
Это честь сидеть в одном треде с сотрудником Oracle!
56 1261569
>>261292

>никто не заставляет писать именно так


Скорее никто не заставляет не писать так.
Макаки любой инструмент извратят.
57 1261576
А у нас Java-программисты, перешедшие на скалу, не хотят слушать как лучше потому что "нечитаемо у вас", и вместо этого:

1) Хуячат свои иерархии абстракт классов;
2) Геттеры и сеттеры (тру стори);
3) DI на Guice;
3) Джавовые веб-фреймворки и json-сериализация на аннотациях.

Пиздец, короче.
58 1261577
>>261576
Дай им послушать Брайана Гойца (архитектора джавы), он в нескольких видяхах называл макаками тех, кто хуярит геттеры и сеттеры в каждый класс. Хотя скорее всего им уже ничего не поможет.
59 1261604
>>261577

>геттеры и сеттеры


Никогда не понимал, нахуя они нужны полю, если не предполагается никакой пре или пост процессинг перед взаимодействием с этим полем.
61 1261653
>>261639
Трудно сказать, но похоже, ты дурачок, да. Ведь OpenJDK и Oracle JDK не одно и то же.
62 1261786
>>261653
Но и то, и другое

> код исходной библиотеки Java

63 1261804
>>259320 (OP)
Проблема скалы в том, что у нее нет ровным счетом никаких преимуществ перед Java. Простой синтаксис, гигантский пул разработчиков, 100500 библиотек и фреймворков на все случаи жизни - все это не про скалу.
64 1261881
>>261804

Эти проблемы не проблемы, теперь на скале нужно железки писать.
65 1261947
>>261881
ну я же писал, что для того, чтобы писать железки на скале нужно знать физику, математику и электротехнику.
иначе не железка получится, а фигня.
66 1261965
>>261947

За физику - тебя конпелятор по рукам отпиздит.

Математику - на уровне булевой алгебры.

Электротехнику - оставить вот тому свитеру который плату с плисиной разводит, под которую я такой попивая смузи пишу.
67 1261969
>>261965
Ухх, бля. Уже скачал книжку от Интела FPGAs for dummies. Нужно придумать идею проджекта, оуеее!
68 1262566
>>259320 (OP)
Мне вот интересно, а на сколько применим FPGA в задаче распознавания образов? Скажем, собрать аналог findface и на железках обрабатывать процент совпадения по фоткам. Интересно как findface устроен изнутри. Если он ищет по профилям в социальных сетях (VK вроде), то наверное они краулером таскали фотки из альбомов и уж точно не хранят у себя на серверах "сырые" изображения. Т.е. если за эталон принимается к примеру фотка с аватарки (хотя это наверное тухлый подход, т.к. там может быть какая-нибудь нерелевантная фигня и лучше брать данные из профиля такие как возраст, имя, фамилия, пол и уже искать в альбомах подходящие лица) и дальше искать совпадения и наращивать возможные "отпечатки" конкретного человека.
Нейросеть? Deep learning? Как здесь применима технология FPGA? Разве что только в реалтайме сигнал с камер обрабатывать и матчить по "базе", хм...
69 1263153
>>262566
Офигенно применим, стоит только погуглить FPGA neural networks, там всё написано. Боюсь сморозить глупость канеш, но походу FPGA намного эффективнее, чем GPU для нейронок, т.к является более узкоспециализированным чипом. (при этом GPU дешевле из-за массовости производства и всё равно все свои нейронки будут учить на них)

>>259320 (OP)
Двач, у меня более приземлённый и более практический вопрос.
Кто-нибудь разрабатывает на скале с докером?
Сделал 2 докерфайла:
один типо продакшен, мультистейдж билд, билдит проект через sbt assembly, копирует на чистенький jre контейнер и запускает -- всё волшебно;
а вот второй, второй докерфайл для девелопмента, с ним что-то не идёт. Примаунтил папку с кодом, запускаю через sbt ~run. Код после каждого изменения билдится тааак долго, что ни о какой разработке даже и думать не приходится. Комп очень сильный, без докера код билдится долго, но терпимо, никаких ограничений на цпу/рам на контейнере не висит. В чём проблема то?
70 1263252
>>263153

Окей, я нашёл косяк, вопрос снимается, всем спасибо. У меня апликейшен коннектился к брокеру сообщений и ждал привета, т.е то что я принимал за долгий билд было на самом деле нормальной работой программы.
71 1263257
>>263153
А нахуя дев в докер закидывать?

мимо
72 1263352
>>263257
Для униформности же

другой мимо
73 1263739
>>263352
Скорость разработки-то попизже чем униформность. Stage и тест-сборки уже в докер, дев — нахуй

третий мимо
Gaming-Rage-Face.jpg31 Кб, 650x650
74 1263805
>>263739
Посмотрим, как ты закукарекаешь, когда в докере вылезет какая-нибудь бага, не проявляющаяся на твоей пекарне.
Вам же, дурачкам, непонятно, что докер был создан для решения проблемы "works on my machine". Нет, блядь, не хочу нормально делать, хочу полдюжины разных окружений, чтобы с багами в покемоны играть, catch em all блядь.
75 1264183
>>263805

>Stage и тест-сборки уже в докер



Ну и проявится она на stage/test, эти среды и нужны для того чтобы баги ловить. И тогда уже я буду разбираться с интеграцией проект+докер.
76 1264208
>>263257
>>263352
>>263739
Я на пет-прожекте стараюсь придерживаться ныне модной микросервисной архитектуры, поэтому у меня дофига небольших аппликух, которые генерируют ивенты и складывают в кафку, т.е для того, чтобы протестить мою обработку данных мне нужно запустить 5 контейнеров где-то (запускаю через докер-компоуз), каким боком это будет удобнее делать без докера я даже представить не могу, будет какой-нибудь костыльный баш скрыпт, при этом непонятно куда складывать переменные среды (да, у меня всё конфигурируется через них). Допускаю что я где-то чё-то делаю не так, но на текущий момент мне кажется проще разобраться с докером нормально, чем свой велосипед писать.

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

И быстрый вопрос: у меня внутри аппликухи бесконечный цикл, который ждёт сообщения от брокера, поэтому sbt ~run не может обновлять код на лету, он ждёт пока приложение закончит работу, но не может дождаться. Насколько я помню, веб-фреймворки типа Play или scalatra умеют делать hot swap (рекомпиляцию кода, не дожидаясь завершения приложения, т.к веб прилаги тоже работают в бесконечном цикле ожидая реквесты), как можно повторить такую функциональность, это какая-то фишка сбт, или нужно как-то цикл в основном коде прерывать время от времени?

>>263153 анон
78 1264253
>>264208
Вот за это не люблю скалу все языки кроме лиспообразных, потому что у них изначально модель выполнения не рассчитана на лайв апдейты, а все эти костыли с хотсваппингом в жвм именно что костыли и очень ограничены - лучше, чем save-compile-run, но ненамного
79 1266888
>>264219
Попробовал sbt-resolver, что-то через раз он у меня резолвит, возможно это связано с тем, что idea на диск сохраняет как-то по хитрому, не знаю.

>>264253
>>263739
Я разобрался, так что чтобы обелить репутацию скалы и сбт скажу что я маунтил в докер только код, но нужно обязательно маунтить ещё библиотеки (/home/user/.ivy2) иначе sbt завёрнутый в докер будет их качать. Для "продакшен" контейнера использую sbt-assembly, который генерит жирный jar, все зависимости сразу внутри оказываются, а для дева я этот момент прощёлкал, отсюда и сверх долгое время на перезагрузку контейнера. Сейчас убрал sbt-resolver, запускаю код в контейнере через обычный sbt run (даже без ~), когда обновил код делаю docker-compose <container_name> restart. Работает идеально, время запуска нового кода секунд 10-15 (без докера примерно столько же).
80 1267181
>>266888

>Работает идеально, время запуска нового кода секунд 10-15

81 1267289
>>267181

> ЖАВА НИТАРМАЗИТ!!!!!111

82 1268197
>>259320 (OP)
Так это, какой проект первым выбрать для FPGA? Книжку FPGAs for dummies от Intel я уже скачал.
83 1268330
>>267289
Забыл подписаться, >>264253-анон. Это я к тому, что в молодых, динамично развивающихся языков задержка при компиляции нового кода больше секунды (одной секунды) - это уже фи. А тут

>Работает идеально, время запуска нового кода секунд 10-15

84 1269361
>>259320 (OP)

>Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun


Почему для слоупоков? И алсо там только функциональная часть языка?
pic.png136 Кб, 1600x1066
85 1270376
>>269361
Нормальный курс. Мне пришелся по нраву. В нем где-то 2/3 материала - вводная инфа по функциональной части, остальная треть - коротко о Scala вообще. Функциональщина, как я понял, раскрывается во втором курсе специализации, но его я только начал смотреть.
86 1270589
>>268330
Это в каких? Даже в гопараше уже просела, а в расте и не было никогда такого.
Интерпретируюмую скриптопарашу оставь себе.
87 1270591
>>269361
Потому что смотреть нужно минимум на x1.5. Иначе уснёшь.
88 1270599
>>270591
Это вообще дефолтное правило, в нормальных mooc'ах преподы стараются говорить медленно, чтобы даже до додиков дошло
89 1270648
>>270591
А мне норм. Сидишь себе с чашечкой кофе и пледиком, а Мартин тебе неторопливо сказку рассказывает.
90 1270944
>>270648
Как такое можно смотреть? Только читать же.
91 1271174
>>270944
Замечательно смотрится: перед тобой слайд, Мартин тебе объясняет тонкости, если что-то не понятно - карандаш и бумага под рукой.
92 1271177
Чому фп такое мозголомное?
Пришел с работы домой и три часа думал как сделать цепочку опшенов с флатмеппом на моей модели где сущностей хуй да нихуя.
Еле удебил тимлида дать мне написать мимо-хеувину на скале, но уже не завидую тому, кому после меня в этом придется разбираться у нас все на жабе пишут
93 1271590
>>271177
Тому що непривычно, через пару недель пройдет.
внимание спасибо.jpg37 Кб, 604x604
Если бы Скала была единственным языком, на котором мне приходится думать, я бы подумал, что функциональное программирование - плохая идея. 94 1277247
96 1277366
>>277247
but it runs on the jvm...
15371218150540.png771 Кб, 1280x634
97 1277402
>>277247
Не смог в флатмапы, обосрался даже с сахарком, не нашёл теорем, про которые целая глава была в красной книге, потом обмазался имплиситами по самую лямбду и удивился когда всё пошло по пизде.
Похоже на бред шизика, нахуя ты это принёс?
15376021133921.jpg72 Кб, 604x284
98 1277502
>>277296
Тогда срочно выкидывайте cats, scalaz, shapeless, freestyle, monocle, monix, doobie, matryoshka и прочую функциональную хуйню. И переходите на Kotlin или Java-8. Ведь без всего этого Scala - это просто Java c лямбдами. А Java c лямбдами - это Java 8. Нахуя нужна Scala, если есть Java 8?
>>277366
https://eta-lang.org/ - it also runs on jvm ;)
>>277402

>Не смог в флатмапы


Это Cкакала не смог в флатмапы, еджой ё трамполайнинг ор стек оверфлоу.

>обосрался даже с сахарком


В каком месте?

>не нашёл теорем


Глава-то есть, а теоремы где?

>потом обмазался имплиситами


Тайпклассов же нету, чем жопу вытирать предлагаешь?

>Похоже на бред шизика


Ну давай, опровергай по сути. Хотя, что с тебя взять? Лучше посмотрим на бред другого шизика по сути, о том, что в Скакале изменилось спустя 4 года после оригинального псота: https://failex.blogspot.com/2018/02/scala-fp-how-good-idea-now.html Ой, нихуя. Нет, но нютайпы хотя бы осилили (ведь говорили, что осилили)? Ой, опять https://failex.blogspot.com/2017/04/the-high-cost-of-anyval-subclasses.html

Короче, как-то слабо оправдываетесь. Давайте соберитесь и объясните, нахуя нужно ваше поделие? Вот вы вообще как-то систематически язык развивать собираетесь? Нахуя вы Dotty запилили, типа "Мартин, всё хуйня давай по новой!", теперь будет две Скалы как у питоноёбков?

И что за хуйня у вас там с макросами творится https://www.scala-lang.org/blog/2017/10/09/scalamacros.html ? Типа scala.reflect нахуй потому что Dotty в них не может, Idea тоже не может, поэтому Scalameta. Но теперь и Scalameta нахуй, переписываем всё по новой под scala.macros? Может уже подсмотрите, как правильно делать, чтобы не перехуячивать всю кодобазу по два раза за год?
99 1277572
>>277502

> https://eta-lang.org/ - it also runs on jvm ;)


Почему у меня на этом сайте не отображается курсор мыши? Это что, у ЖС-пидоров сейчас так модно верстать, мол, управляйся одной клавой, мудак?
101 1277608
>>277572
Это защита от долбоёбов просто.
102 1277616
>>277608
Расскажи мне, как через интернет можно узнать, что на сайт зашёл долбоёб?
103 1277697
>>277402
Ты какую-то хуйню сказал. Иди отдохни, подумай и извинись.

>>277502

>https://eta-lang.org/


Ага, и весь интероп с джавой пошел по пизде. Спасибо, всегда мечтал писать врапперы для каждой джавалибы!

Предлагаю почистить оп-пост и оставить в нем только это:

>Нахуя нужна Scala, если есть Java 8?


</troll-mode>
104 1277773
>>277697
Я не сказал хуйню, а прочитал хуйню.
Щас отдохнул, подумал и решил.
Нахуя я вообще читал этот высер душевнобольного?
105 1277776
>>277502

>слабо оправдываетесь


Ты просто неправильно начал.
После "r/haskell" тебя всерьёз никто не воспринимает.
106 1277834
>>261576
я не знаю, как можно писать на скала без кэтс/скалаз
107 1277842
>>277834
А как писать на русском без заглавных букв знаешь.
108 1277869
>>277842
это как писать на русском без глаголов
109 1277895
>>277869
Чернота, некоторые тянки, другое отребье примерно так и общаются.
Особенно в мессенджерах всяких. Хуй поймёшь что оно высрало вообще, то ли это вопрос, то ли утверждение.
110 1277903
>>261604
Я ПРОЧИТАЛ КНИЖКУ "ВЫУЧИ ДЖАВА ЗА 21 ДЕНЬ", ТАМ НАПИСАНО ЧТО НАДО ВСЕГДА ДЕЛАТЬ ГЕТТЕРЫ И СЕТТЕРЫ, И ВООБЩЕ ТЫ ЧО, САМЫЙ УМНЫЙ ЧТОЛЕ? ВСЕ ДЕЛАЮТ И ТЫ ДЕЛАЙ
111 1280459
>>277697

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


Тащемто достаточно кодогенератор сделать.
112 1280545
>>280459
Strong-ИИ кодогенератор, ага. WAIT, OH SHI~
113 1280823
>>280545
Он там straightforward. Для меня даже некоторым удивлением было, что до сих пор врапперы руками пишут. Может быть просто ресурсов не хватает, или не в приоритете. Эту два человека запизденили примерно за год. Ну да, нет кодогенератора для импорта джава-классов, надо руками писать. Но на минуточку, может у них поважнее задачи были и они просто забили на кодогенератор? Хотя, если для тебя это mmission impossable, значит твой удел - клепать какое-нибудь говно на спринге. В конце концов люди делятся на тех, кто умеет программировать, и именно они создают новые фреймворки, библиотеки и языки программирования, и на говношлёпов, которые максимум что могут - это изучить по видеокурсам какое-нибудь менстрим-говно и повторить туториалы первых.
114 1280910
Не для кормежки зеленых, а ради просвещения анонов, которые не разбираются, отвечу.
>>277247
Оправдываться нехуя, критика по существу. Другое дело что это либо из-за исторических причин, либо из-за пресловутого FP-OOP fusion, либо из-за почти идельного интеропа с джавой. Тони Моррис это тоже давно комментил:
http://blog.tmorris.net/posts/what-kind-of-things-are-easy-in-haskell-and-hard-in-scala-and-vice-versa/index.html
Ключевые преимущества скалы на данный момент:
1) Интероп с джавой (посмотрел немного на eta, там сложнее на порядок) с возможностью использовать FP разной степени глубины.
2) Развитая экосистема скала-идиоматичных библиотек на разный вкус, протестированный за 10 лет компилятор и основные либы.
3) Спарк. На многих проектах используют скалу только из-за того что у спарка хороший API именно для скалы + её нужно знать чтобы в его нутре копаться.
4) Много людей таки её знают. Это дает эффект положительной обратной связи.
>>277502

>Нахуя вы Dotty запилили, типа "Мартин, всё хуйня давай по новой!", теперь будет две Скалы как у питоноёбков?


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

>И что за хуйня у вас там с макросами творится


Экспериментальную фичу пытаются довести до ума. Что выйдет - хуй знает. Если знаешь как сделать правильно - напиши на contributors.scala-lang.org но лучше сначала почитай про проблемы которые люди решают, чтобы говна не пожрать.
>>280823

>Он там straightforward.


Как долго ты использовал эту? Какой объем проектов и насколько много инеропа с джавой?

>Но на минуточку, может у них поважнее задачи были и они просто забили на кодогенератор?


А может и он не такой уже straightforward. Обычно между чем-то что работает в 90% случаев и тем что работает в 100% лежат десятки человеко-лет. Именно поэтому запиздячить язык, который подходит для задач тех кто его пилит можно вдвоем за год, а универсальным он не будет никогда. А может и будет - желаю эте всего наилучшего - это на самом деле очень интересный проект.

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


В контексте разговора это буквально значит следующее: если тебе не нравится язык, сделай тот что тебе по душе. О том что это десятки лет работы (даже если программист способен сделать язык), ты почему-то забываешь упомянуть. А те что является например специалистами по базам данных или распределенным системам - вообще говношлепы.
114 1280910
Не для кормежки зеленых, а ради просвещения анонов, которые не разбираются, отвечу.
>>277247
Оправдываться нехуя, критика по существу. Другое дело что это либо из-за исторических причин, либо из-за пресловутого FP-OOP fusion, либо из-за почти идельного интеропа с джавой. Тони Моррис это тоже давно комментил:
http://blog.tmorris.net/posts/what-kind-of-things-are-easy-in-haskell-and-hard-in-scala-and-vice-versa/index.html
Ключевые преимущества скалы на данный момент:
1) Интероп с джавой (посмотрел немного на eta, там сложнее на порядок) с возможностью использовать FP разной степени глубины.
2) Развитая экосистема скала-идиоматичных библиотек на разный вкус, протестированный за 10 лет компилятор и основные либы.
3) Спарк. На многих проектах используют скалу только из-за того что у спарка хороший API именно для скалы + её нужно знать чтобы в его нутре копаться.
4) Много людей таки её знают. Это дает эффект положительной обратной связи.
>>277502

>Нахуя вы Dotty запилили, типа "Мартин, всё хуйня давай по новой!", теперь будет две Скалы как у питоноёбков?


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

>И что за хуйня у вас там с макросами творится


Экспериментальную фичу пытаются довести до ума. Что выйдет - хуй знает. Если знаешь как сделать правильно - напиши на contributors.scala-lang.org но лучше сначала почитай про проблемы которые люди решают, чтобы говна не пожрать.
>>280823

>Он там straightforward.


Как долго ты использовал эту? Какой объем проектов и насколько много инеропа с джавой?

>Но на минуточку, может у них поважнее задачи были и они просто забили на кодогенератор?


А может и он не такой уже straightforward. Обычно между чем-то что работает в 90% случаев и тем что работает в 100% лежат десятки человеко-лет. Именно поэтому запиздячить язык, который подходит для задач тех кто его пилит можно вдвоем за год, а универсальным он не будет никогда. А может и будет - желаю эте всего наилучшего - это на самом деле очень интересный проект.

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


В контексте разговора это буквально значит следующее: если тебе не нравится язык, сделай тот что тебе по душе. О том что это десятки лет работы (даже если программист способен сделать язык), ты почему-то забываешь упомянуть. А те что является например специалистами по базам данных или распределенным системам - вообще говношлепы.
115 1281150
>>280823
Ты не шаришь.
116 1281594
По вашему опыту,на Скале больше пишут как ООП и ФП языке?
Хочу себе функциональщину, но боюсь что если на языке есть всякая хуйня типо циклов или мутабельных переменных, то ими обязательно будут пользоваться и толку.
117 1281967
>>281594
Кажись из тебя выйдет заебатый рп.
6020b5ed22194876ff3675898a243a5e.jpg158 Кб, 640x520
118 1282881
Анон, выручай.
Напиши вопрос, который бы задал джуну по скале. Лучше несколько.
119 1282882
>>282881
спроси в конфе по скале @hcdevs
120 1282885
>>282881
Как Вы относитесь к продуктам нашей компании?
121 1282913
>>282885
Буду любить всем сердцем.
122 1282965
>>282881
Приведи примеры недостатков выражения тайпклассов через имплицитные параметры
Мимо-джаваджун впервые решил попровать скала после хацкеля и джавы офк. Пока нравится
123 1286909
Я скалист, воин ФП в третьем поколении. Благодаря своему интеллекту я написал свою реализацию Future с особой жестокостью и теперь занимаю пост архитектора на своей галере. Мой месячный доход 20 000$, у меня две Теслы - серая и чёрная, просторная 4-х комнатная квартира в центре Москвы. Мои друзья исключительно функциональщики: прекрасные скалисты, хаскелитсы и растисты. Я не дружу с джаваблядями, потому что они почти поголовно мерзкое, подлое, никчёмное, трусливое говно. У меня нет никаких отношений с девушками-джавистками, я их бросаю сразу, как только привожу их пизду в непригодный для ебли вид. Хотел бы посмотреть на вас - тупых ООП-ных швалей отписавшихся в скала-треде, пиздите в интернете сколько хотите: про свою совместимость, про восьмую джаву и вары, но запомните - "увижу вас в реале - ВЫЕБУ вас в рот и втопчу в асфальт у вашего епама".
124 1286958
>>286909

>раст


>функциональный


Замени на Агду или Идрис лучше уж тогда.
125 1286963
>>286958
Заменяйте пожалуйста, я же не против
126 1287602
>>286909
FYI, в этом вашем епаме довольно много скалы
127 1289249
Посаны, у кого есть опыт фуллстэка на скале? Где-то год+ занимаюсь бэкендом на скале (play, akka, elasticsearch, все дела), скала мне нравится, но вот эта вся бэкендная область какая-то слишком задротская, а я хочу work-life balance, поэтому думаю на фулл стэк перекатиться и делать сайтики на расслабоне.

Расскажите про стэк, плз. Я представляю, что это play + scala.js + какой-нибудь js-фреймворк (в них вообще не шарю). Вакансии вообще есть?
128 1289493
>>289249

>scala.js + какой-нибудь js-фреймворк


Когда я последний раз ковырял scala.js подводный камень был в этом спаривании ежа с ужом. Нормально настроить процесс сборки - абсолютный пиздец.

Я бы для твоих задач четко разделял проект на 2 - фронт и бэк. Play темплейты, разумеется, нахуй. Я например, юзаю play как бэкенд с рестом/ws наружу и ангуляр с тайпскриптом на фронте. Все супер, брат жив. Ты, в свою очередь, можешь выбрать тот бэк и фронт, который тебе нравится.
Инструмент для задачи, ну ты понял
129 1294142
Подойдет ли скала для бекенда сайта по типу электронного дневника?
130 1294283
>>294142

>Подойдет ли скала для бекенда


да
131 1294357
>>294283
Что юзаете их фреймов/либ/рыболовецких траулеров?
132 1294382
>>294357
Akka, Slick, Circe
133 1295271
>>294357
http4s, circe, doobie, cats, cats-effect, cats-tagless

одним словом typelevel stack
134 1295577
>>295271
Охуенный стак. А я думал, что скалу реально юзают лишь как Java+
135 1295650
Вопрос вкатившимся скалярам. Трудно ли вкатиться после года опыты на жабе (в типичном ентерпрайзе) и достаточно хорошим владеем хацкелем?

Как не проебаться с проектом в которой будут писать на той же жабе но с варами? Какие есть плохие/хорошие метки в плане стека?
136 1295813
>>295650
Не трудно. Я вкатывался вообще без jvm и fp опыта. Только потом упоролся по хашкелю и монадам.

базворды хорошего стека: monix, cats, doobie, http4s.

Слышал что в райфе и в тиньке хорошая скала.
137 1295815
Приглашаю всех в официальное ру комьюнити скалы: @scala_ponv
138 1295998
>>295813
Спасибо, анон.
15348635439810.jpg204 Кб, 1137x1434
139 1299639
Как найти фриланс на скале?
140 1299644
>>295815
Это инстаграм или одноклассники или что?
141 1299781
>>295813

> doobie


В этом говне всё ещё блокирующее сетевоё IO?
142 1300081
>>299639
Фриланса нету, есть удалёнка
143 1300185
>>299781
Если ты про JDBC -- то оно вообще во всем JVM блокирующее. Такой драйвер, хули.

Иначе яннп про блокирующее сетевое IO. Подставляй любую дырку и погнали.
144 1300282
>>300081
Как её найти и на какую з/п можно рассчитывать? Английский нормальный, переписку вести могу, но произношение пиздец.
145 1304102
>>295813
скалайк хоть и хуев, как тысяча хуев, но побыстрее / посейфовее дуби будет. Ебучее перекладывание туплов.
146 1304103
>>295813

забыл добавить, что по monix / cats согласен, это мастхев. Немного шейплесса в некоторых моментах не помешает, те же tagged types замутить. HTTP протокол у нас сейчас микросервисы не юзают, в других проектах использовался finch.

(>>304102)
147 1304303
>>304103
Почему не scalaz? Чем вызван повальный дроч на typelevel?
148 1304304
>>304303
Потому что автор scalaz - ебанашка, в том, что он пишет, больше маркетинга чем технических аргументов. Уже одного этого достаточно чтобы не использовать эту хуйню.
149 1304306
>>304304
Я буду рад почитать какое-нибудь обсуждение/статью по этой теме. Можешь скинуть что-нибудь?
мимофункциональщик-хочу-вкатиться-в-скалу
150 1304308
>>304306
Можешь например погуглить на реддите обсуждение бенчмарка, где scalaz IO уделал по производительности monix/futures - когда по факту его функционал был меньше и всё сравнение некорректно.
151 1304338
Поясните вкатывальщику за http4s, вроде популярный фреймворк по звёздам на гитхабе, но гайдов по нему 0, примеров 1.5 штуки. Только дока официальная, но полупустая какая-то.

Как я понял, это мини-фреймворк для микросервисов/апи? Можно на нем полноценный монолит захуярить, с шаблонизатором, орм, миграциями и всем таким без пердолинга, или мне за этим в плей?
Раньше только на аспнет и ноджс писал немного
152 1304674
>>304338

> орм


За этим в джаву.

Монолит можно на чем угодно захуярить, но, мне кажется, плей лучше, потому что там есть conventions (например, все роуты описываются в файле routes, все делается через di и зависимости биндятся в модулях), за счет которых потом легче поддерживать код.

Но вообще, если ты хочешь писать монолитное веб-приложение, задумайся, туда ли ты вкатываешься.
153 1305176
>>259320 (OP)
Ребят ответьте пожалуйста на несколько вопросов. Сам я джаваскрипт разработчик и планирую изучить Скала. Кроме жс ничего не знаю. НУ разве что джава кор в теории. Ну так вот

1. Имеет ли смысл жс разработчику изучать Скала?
2. Стоит ли для начала подтянуть Джаву? Или для Скала разработчика не подразумевается автоматом знание Джавы?
3. На какую работу можно рассчитывать со знанием Скала? И как сильно отличаются у скалистов зарплаты в сравнении с другими отраслями и Джавой в частности?
154 1305233
>>304303
документация лучше (вернее она просто есть)

>>304304
он не ебанашка. Маркетинг у него есть, да. Но у него хотя бы есть продакшн опыт использования ФП, в отличие от typelevel ребят. Это хорошо видно было, когда они с налёту удалили `Timer.apply`
155 1305538
>>304674
reader monad?
156 1306361
>>295813

>базворды хорошего стека: monix, cats, doobie, http4s


>хорошего стека


Обоснуй.
157 1306405
>>306361
Всё остальное гавно потому что. Это тоже гавно, но меньше.
158 1306426
Что вообще изучить вкатчику, чтобы вкурить в БЕСТ ПРАКТИКИ и наиболее распространенные паттерны проектирования этой вашей скалы в частности, и ФП в целом?
Нигде не могу найти ни информации сжато, ни роадмапа, ни учебника. Везде описываются какие-то базовые вещи уровня ООП, монады врайтер и имплиситов. А открываешь любой проект на гитхабе - и там куча вещей типа тэглесс финалов, DSL, и вообще просто непонятного непросвещенному уму.
С чего углубляться, короче?
159 1306442
>>306426
в фп скалу вкатываться надо с хашкеля. Правда есть шанс, что вкатываться в скалу перезахочется.
160 1306493
>>306442
К хачкелю тогда тот же вопрос.
161 1306517
>>306405
как же хорошо сказал
162 1306519
>>306426
Для общего развития бекендеру заходят книжки типа domain driven design, clean architecture, но они к Scala не привязаны.
Однако, тот же tagless final прямо отлично ложится на принципы CA.
15436030856970.jpg27 Кб, 500x375
163 1306602
>>306519

>clean architecture


Мимо проходил, но вот за это спасибо.
164 1306752
>>305176
Мне кажется у фронтендеров в целом выше зэпэ и гораздо больше жырных удаленок, чем на скале. Олсо посмотри в сторону scala.js.
165 1306808
>>260018
>>260021
Как думаете, скоро на скалку такое же завезут?
https://github.com/tommythorn/Reduceron
166 1306848
>>306752
А для всяких фулстакеров скала не принесет пользы? Или проще не выебываться и брать питон или ноду оставив скала энтерпрайзерам?
167 1307026
>>306848
Не встречал таких вакашек.
168 1307534
скалолазы, я тут дочитал java in action и чот не могу нагуглить вопрос
если все объекты в immutable то засовывая лист в функцию мы получим (допустим) новый лист
в джаве вообще не рекомендуется создавать лишние объекты а тут прям на тебе
как скала борится с этим оверхедом (если борется) я просто подумал мб там гарбаж коллектор какой особенный?
170 1307899
>>306426

> Что вообще изучить вкатчику, чтобы вкурить в БЕСТ ПРАКТИКИ


> tagless final


> БЕСТ практики


Прикалываешься? На практике нормальные люди не моделируют логирование с помощью монады, не собирают всю программу в одну ио-монаду, бросают эксепшены для unrecoverable errors. Ты монадный трансформер будешь раз в полгода использовать.

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


Ты имеешь в виду библиотеки? Ну это потому что есть разница между application developers и library developers. Когда ты пилишь либу, твоя цель - предоставить как можно более удобный api, а насколько она будет хитровыебанная внутри - неважно. К тому же идеальная либа - это либа в fp-стиле, которая не производит сайд эффектов в неожиданных местах и не бросает эксепшенов. Соответственно, в либах использование pure-fp-концепций оправдано.

Когда ты пишешь приложение для конечного пользователя, тебе важно, как оно работает и насколько просто поддерживать твой код. В данном случае pure fp - это не есть хорошо. Мутабельное состояние лучше моделировать через var, а не через стейт-монаду какую-нибудь. Представь, что у тебя какая-то система, состоящая из микросервисов. Микросервис - это по сути своей объект с внутренним состоянием. Какое тут может быть pure fp?
171 1309031
>>306426
БЕСТ ПРАКТИКА всегда одна, описана здесь.
http://okmij.org/ftp/tagless-final/course/lecture.pdf
172 1309155
Что означает Ops в Cats?
implicit class FunctorOps, например. Я понимаю для чего это, просто хочется узнать от какого слова это сокращение.
173 1309281
>>309155
operations, я думаю
174 1309284
>>309031

>http://okmij.org/ftp/tagless-final/course/lecture.pdf



Палю треду неплохую статью со введением во фримонатки и тф, кому в лом читать научные статьи
https://softwaremill.com/free-tagless-compared-how-not-to-commit-to-monad-too-early/
175 1309311
>>259320 (OP)
я не ебу про вашу скалу, но почему вместо ява-кода на первой картинке какая-то хуйня от уебка, который даже "здравствуй, мир" не писал?
176 1309316
>>309311
Начавший программирование с java 8 - это ты?

Энивей orders.stream().map(Order::getProducts).flatMap(Collection::stream).collect(toList());
Выглядит куда более громоздко
177 1309344
>>309155
это скорее негласное соглашение, когда дополнительные неявные методы не хотят добавлять в базовый класс, но которые делают работу с классом намного удобней. в стандартной библиотеке есть StringOps к примеру
178 1309345
>>309311
там еще даже не использовали diamond operator, который в 7 жаве появился
179 1309375
>>307899

>тебе важно, как оно работает и насколько просто поддерживать твой код. В данном случае pure fp - это не есть хорошо.


Чет не догнал как второе утверждение вытекает из первого.

Код с варами легче поддерживать? По-моему, все наоборот.
180 1309398
>>309316
на норм. всяко лучше чем было
var products = orders.stream()
__________.flatMap(o -> o.getProducts().stream())
__________.collect(Collectors.toList());
181 1309545
>>309398
Тоже самое. Переносы я использовать умею. Но синтаксис с method reference мне просто нравится больше.
image.png386 Кб, 638x359
182 1309611
>>259320 (OP)
А ну ка поясните, почему скала не взлетела?

В жабе уже давно есть все, что в скале. А если хочешь не ставить точку с запятой в конце - придумали котлин. Неужели еще существуют люди, которые любят тратить время на мертвый язык?
183 1309633
>>309611

>В жабе уже давно есть все, что в скале.


Паттернматчинг вменяемый? Tagless Final? Option?
184 1309649
>>309611
"Все" – это лямбды и Optional?
Может в джаве хотя бы чейнить футуры можно?
185 1309650
>>309611
HKT? Pattern Matching? Ни в коколине, ни в джаве этого нет.
186 1309658
>>309633
>>309649
>>309650
Он прав. Скала по большей части держится за счет спарка и бигдаты.
В остальном слишком сложный и запутанный язык, стремительно уходящий в академическое нечто для любителей илитного фп кода.
Тогда как любому бизнесу нужно в первую очередь решать задачу наименьшими средстами - читай, понятный и эффективный язык, код которого легко поддерживать и дорабатывать и на которой легко найти людей. И этот язык не скала с ее имплиситами и 15 вариантами написания одного и того же, лол.
187 1309667
>>309658
В жабе уже давно есть все, что в скале
@
Нету этого, этого и того (то есть вообще ничего нету)
@
РЯЯЯ НУЖДЫ БИЗНОСА Я СКАЗАЛ
188 1309670
>>309667
А сейчас ты мне покажешь где я говорил что в яве уже есть все из скалы.
Но топ 1 фича скалы была в лямбдах, из за которой работать с RDD в том же спарке было гораздо удобнее, чем в яве.
Сейчас еще и выведение забрали. Осталось в скале то что не слишком то решает и является предметом интереса полутора задротов, и то в основном ради ощущения илитности.
189 1309674
>>309670
Да вот же
>>309611

>В жабе уже давно есть все, что в скале.



>Но топ 1 фича скалы была в лямбдах,


Хуйня написана

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


Лолчто
190 1309678
>>309674
Аргмуенты уровня подорвавшегося школьника.
191 1309710
>>309678
Просто я в теме, а ты нет)))
192 1309713
>>309710
Сейчас бы быть в теме мертвых языков.
193 1309714
>>309713
Отсос засчитан)))
194 1309717
>>309714
Ты серишь
195 1309721
>>309674
Он все верно написал. Достаточно посмотреть на компании, которые "обожглись" при выборе Scala - 2GIS, Tinkoff, Revolut, Sberbank. Они так или иначе начинали разработку на Scala, но в один прекрасный момент поняли, что взять последнюю версию Java или новомодный Kotlin и не придется искать дорогих Scala разработчиков по полгода, а разрабатывать можно также быстро как и на Scala. В Kotlin завезли корутины, а в Java появился вывод типов. Ну и в качестве вишенки на торте - в следующем релизе Java подвезут Project Loom, который решит проблемы разработки многопоточных приложений под JVM.
А всякие Спарки и Акки можно и из Java дергать.
196 1309723
>>309721
Таким как он нужны коты и прочее говно чтобы быть не такими как все.
А по факту даже у кафки, которая была писана на скале, апи явовское, лал.
197 1309730
>>309721
В жабе уже давно есть все, что в скале
@
Нету этого, этого и того (то есть вообще ничего нету)
@
РЯЯЯ ВСЬО ПРАВИЛЬНО БИЗНОС ОБЖОГСЯ Я СКОЗАЛ
198 1309736
Тред жиром затопило, нахуя вы кормите?
>>309723

>коты


>не такими как все


В голосину.
Погугли хоть чуточку, прежде чем в треде толстить.
Коты это такой же "хипстерский" инструмент как ворд или эксель. Удивить кого-то страшными монадами(с) у тебя получится только залётных из /b/, а Cats и вовсе сводят их использование до уровня копипаста.
199 1309745
>>309736
Знакомый скалафанатик фапал на них, а мне хватило что Твиттер и линекд дропнули скалу спустя пару лет.
Безымянный.jpg138 Кб, 1575x820
200 1309756
>>309745

>скалафанатик фапал на них


Шизик, чё с него взять.

>Твиттер


И снова ты серишь не снимая штанов.
У меня есть предложение, давай ты отдохнёшь, подготовишься получше, отмоешься от говна, а через пару недель вернёшься в тред и попробуешь заново?
201 1309768
>>309756
https://www.quora.com/Is-Twitter-getting-rid-of-Scala

Meh, первый ответ по ссылке - нет ресурсов переписывать - ошибся, сейчас бы по каждому мертвому языку все помнить, так ты сразу подключил свою быдло-риторику. Один хер практика показывает, что шкала нинужна. И кстати пруфает пост выше что лямбда были мейн фичей по сравнению с явой и на то время ее и правда называли второй джавой.
202 1309788
>>309768
Вот, молодец уже начал гуглить, развиваешься.
Академический язык, даже само нахождение в треде уже начало на тебя влиять.
203 1309802
>>309788

>академический язык


Каргокультист, плиз.
Как там сбт кстати, быстро компилирует? IDE уже завезли или все так же плагинчиками балуешься?
Можешь не отвечать.
204 1309813
>>309802
Какой нахуй сбт, ты снова под себя серишь...
205 1309863
>>309813
Чухан пользуется мавеном или штанами, посмотрите на эту академическую скала гордость!
206 1309966
>>305176
Ну я норм получаю на ноде. Но я бы и норм получал на скале :3 просто на скале кодить попроиятнее лично. Смотри чо по кайфу, это правда важнее.
207 1310796
>>309863
штанцы заебись же
208 1310799
>>309721

>Tinkoff


Блять, ну ты хоть инфу проверяй, в тинькове как минимум все API (это не считая спарков) на tagless final, котах и мониксах. Разрабы активно набираются, все довольны.

> Revolut


Регулярно хантит скалистов и java to scala.

Я молчу, сколько мне западных рекрутеров в линкеде ломится с вакансиями. Короче, в этом треде одни пиздуны, но я забыл, кажется, где нахожусь.
209 1310804
>>310799

>Я молчу, сколько мне западных рекрутеров в линкеде ломится с вакансиями.


Как ты этого добился? У тебя много конекшнов? Работал в конторах на слуху?

Если не секрет, какое соотношение ремут/онсайт среди предложений?
210 1310807
>>310804

>Если не секрет, какое соотношение ремут/онсайт среди предложений?


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

> У тебя много конекшнов?


Ну, добавил всех, кого знал с универа и тп (человек 30 сначала) поставил место работы и скромный список технологий, даже на фотку пока забил, рекрутеры ежедневно ломятся (не все, правда, пишут).

> Работал в конторах на слуху?


В России на слуху, в остальном мире - хз.
211 1310808
>>310807
Спасибо за инпут, анончик.
212 1310816
>>310799

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


Это ни о чем не говорит.
Они пишут сотням людей кто более-менее подходит. Дальше тебя могут просто проигнорить, затопить на собеседовании, послать нахуй поняв что ты не имеешь американского/европейского гражданства.
213 1310818
>>310816
Постоянно хантят русскоязычных скалистов для релокации в Гермашку, Финку и Приебалтику. Ты опять не в курсе просто.

другой анонас
214 1310949
>>310799

>все API (это не считая спарков) на tagless final



нет.
215 1310954
>>310799
Это не так. Все приведенные мной выше компании обожглись с использованием Scala и в спешном порядке переписывают все свои сервисы на Java 11/Kotlin. Scala не дает абсолютно никакого преимущества перед Java 11 или Kotlin. Pattern matching? Case classes? Первый не нужен - это доказали ребята из команды Kotlin и лично Бреслав, а второе реализовано в виде Lombok или data классов Kotlin.
Стоит ли говорить, что производительность конечного кода в несколько раз выше на Java/Kotlin чем на Scala.
Это я не говорю о тормозном плагине для IDEA, который с трудом пережевывает Scala код и хоть как-то пытается помочь разработчику в написании кода. Ну и тормозной компилятор и абсолютно дикий SBT, который даже в подметки не годится по сравнению c Gradle.
216 1310972
>>310954

> Все приведенные мной выше компании обожглись с использованием Scala и в спешном порядке переписывают все свои сервисы на Java 11/Kotlin


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

>Первый не нужен


НЕТ И НИНУЖНО! У вас, жаваманек, и опшн был НИНУЖЕН, и анонимные функции НИНУЖНЫ, а как реализовали - первые побежали хвалиться какой язык пиздатый.
Настолько нинужен, что в C#8 вводят его, полностью скопировав синтаксис скалы. Жиротроллю с /pr/ виднее, конечно, чем майкам, спору нет...

>ормозном плагине для IDEA


Глючить может - да, но тормозной? Ты запускаешь на машине с 4 гигами оперативы?
217 1310988
>>310972
Ну ты же сейчас можешь сравнить Scala и Java 11, верно? Нет никаких причин использовать Scala, когда в Java уже появились все киллер фичи Scala.
218 1310994
>>310988
Киллерфичи это TF и прочие функциональные паттерны, а не столько синтаксис
219 1311031
>>310988
ты тред читаешь анонас или нет?
HKT в джавке нет и лет 10 не предвидится.
220 1311039
>>311031
Дженерики.
221 1311051
>>311039
Что дженерики?
Как мне в джавке или в котлине указать тайп параметр, который принимает тайп параметр, который принимает параметр?

M[_[_]] ?
222 1311052
>>311051
Ну послушай, кому нужны твои параметры через параметры? Бизнесу нужно чтобы ты REST контроллер смог налабать на спринг буте. Накидал сервис, который в базу будет ходить, ну и какую-никакую валидацию данных.
223 1311058
>>311052

>Нинужна

224 1311307
>>310818
"Хантят" не только скалистов.
Я бы назвал это "зазыванием", то есть тебе просто пишут что есть такая компания. Все песни про то что твой профиль привлек внимание, что мол мы ищем именно тебя и тд и тп - это всем так пишут, но берут 1-2 из десяток, а то и сотен кандидатов.
225 1311335
>>311307
Именно хантят без скобок.

>"Хантят" не только скалистов.


И что?

Иди нахуй, заебал.
226 1311443
>>311335
А что у тебя так бомбануло?))
Тебе видимо и такие не пишут, скалист хуев))))
227 1311446
>>311443
Эко ты его затралил)) Он же сейчас вены себе режет небось)
228 1311648
>>311052

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


Твой уровень понятен, короче. Иди дальше сайтики клепай. Сайт обязательно заработает, только нужно написать AbstractSingletonProxyFactoryBean и пофиксить все NullPointerException'ы.
мимо-другой-анон
229 1311768
>>310949
Пидора ответ.

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

>>311052
То есть ты не понимаешь, что все эти tagless final'ы это не задротам было нечего делать, а как раз попытки создать более гибкие, расширяемые и удобные способы описывать часто очень сложную бизнес логику (для этого самого серьезного бизнеса с заказчиками), чем, как анон >>311648 мягко напомнил, принято обычно накидывать в условной жавке.
230 1311807
>>311648
Постой. Мы говорим о крепком специалисте с 5 годами опыта в Java разработке. Какие еще тэглесс файнал? Набросал рест контроллер, с хайбернейтом поколдовал и порядок!
231 1317565
Что почитать по Akka для начала?
У underscore нет ничего, а гугл выдаёт книги, которым лет 5.
Пока остановился на Akka in Action, вроде 17ый год, но там 400 страниц.
232 1317575
>>317565
По акке нет хороших книг, зато есть хорошая документация, её и читай, можешь хоть подряд.
233 1317636
>>317575
А какой смысл в Акке если команда, которая ее пилит распадается на глазах? Совсем недавно из команды ушел ведущий разработчик Конрад КТОСО Малавски!
234 1317688
>>317565
книга старая, если её читать, то постоянно догоняться документацией.

Можно ещё вот это: https://www.amazon.com/Reactive-Messaging-Patterns-Actor-Model-ebook/dp/B011S8YC5G

Но вообще акка гавно, лучше фпшечку кури.
235 1317693
>>259320 (OP)
Хочу научиться мобильной разработке, но раздражает синтаксис джавы, все эти многострочные скобочки и прочее.
На скале можно заниматься моб. разработкой?
236 1317694
>>317693
У нас в компании переводят мобильные приложения на Kotlin. Он определенно для мобильных приложений больше подходит. Не могу сказать за Scala, но предполагаю, что это геморрой.
Те проблемы что ты описал нормально решаются с помощью его помощью. Другое дело, что ты можешь посмотреть в сторону процессинга аннотаций в Java. Достаточно большую часть проблем с многословностью в Java можно решить так.
237 1317716
>>317693
хз, на скале больно наверное под ведро писать.

но там eta-lang обещают, мб получится что-нибудь
238 1317725
>>259320 (OP)

>Scala


А нахуй она нужна вообще? Востребованность как?
239 1317731
>>317725
Да особо никак. Команда, которая пилит Scala 3 (Dotty) разваливается на глазах (Петрашко, Малдер, еще пара челов). Там скоро один Мартин будет колбасить. В продакшене использует полторы конторы и в основном в виде языка к Spark.
Есть всякие извращенцы, которые пытаются использовать всю "мощь" ФП - всякие cats, scalaz и т.д., но рынку нужно, чтобы ты смог ловко накидать рест контроллер на спринге и правильно обработать запрос. А всякие фп со скалами не нужны.
240 1317733
>>317731
Заебись, если воскреснет позовёшь, я в джватреде буду.
241 1317734
>>317731
Авторитетное мнение явадебила.
Нахуй вам высокая всотребованность, чем меньше спецов тем больше зп.
242 1318384
>>317636

> Совсем недавно из команды ушел ведущий разработчик Конрад КТОСО Малавски!


А можно пруф?
243 1318386
А какие инструменты кроме акки есть, чтобы запретить одновременный доступ к критическому участку кода из разных тредов? Например, перед записью в бд мне надо проверить какие-то констрейнты. У меня есть актор, который инкапсулирует в себе состояние бд и принимает команды на изменение состояния. Таким образом решается проблема с конкарренси. А как без акки сделать? Synchronized, очевидно, не подходит, потому что я не хочу, чтобы треды лишний раз блочились.
244 1318390
>>318384
https://twitter.com/ktosopl

>ex: Akka-team @ Lightbend(Typesafe);

245 1318391
>>318386
Не знаю, у нас на проекте тимлид просто добавлял synchronized к методу и дело с концом!
246 1318398
>>318390
Мб он официально и не в акка-тим, но активности но аккой он занимается, это видно.
247 1320054
>>318386
Смотри в сторону AtomicReference

Или в сторону Ref из библиотеки cats-effect
248 1320091
>>259320 (OP)

>первый пик


C++:
auto products(orders.begin(), orders.end());
ну да, ну да, не декомпилится :-(
249 1320110
На связи корзиночка-аутист-олимпиадник-программист-по-призванию, уже много лет со слабым успехом пытающийся вкатиться в коммерческое погроммирование. Раньше вебнёй миску супа зарабатывал, но она укатилась во фреймворкопарашу. На галерах долго не задерживался, им надо шустрые исполнители, хуячащие говнокод в продакшн в сжатые сроки, а я над каждой строчкой кода трясусь и могу часами тупить и воевать с ошибками и линтерами, плюс софт-скиллы никакие. Сейчас торчу в местной продуктовке уровня "Рога и копыта", пердоля йоба-алгоритмы на недоязычках, за которые Ъ-байтодрочеры не берутся, но с доходами тут вообще печально. Думаю куда-то перекатываться; осиливал Rust, но работы на нём реально ни хрена нету. Может, лучше скалку? На ней вакансии есть, хоть на многих и нужны сеньйоры-жабисты с 5+ лет опыта. Хочу сложную отрасль, где можно задействовать свой IQ и работать вдумчиво, но верно, без особой конкуренции с макаками, да причём удалённо.
250 1320186
>>320110
Последний год (2017, начало 2018) ко мне сыплются контакты от рекрутёров, которые набирают команды ... либо для российских стартапов, либо, что чаще, для русскоязычных филиалов контор из USA.
Эта информация (спрос на рынке) может кому-то оказаться полезной и интересной.
Остановлюсь только на самой высокооплачиваемой части... Здесь есть 2 характерные области:

1. Машинное зрение, компьютерное обучение, проект OpenCV ...
Здесь нужно хорошее знание а). математических основ, б). C++ & Python.

2. Телефонные станции Asterisk и (особенно!) FreeSWITCH ... в смысле именно не эксплуатационщики и интеграторы (это было и давно), а именно программисты, для разработки модулей расширения (см. VoIP сервера (PBX, SoftSwitch, IP-телефония)).
По этой позиции предложения квалифицированным разработчикам доходят до $5000/мес. (раз тема про оплату ;-) ).
Здесь нужно: а). Linux, б). C (классика, не C++) & Python & Lua в). инженерное понимание протоколов: SIP, RTP ... начала цифровой обработки сигналов.

P.S. Это именно последний год-два такая активизация. Раньше я как-то не наблюдал такой прыти в этих областях.

http://linux-ru.ru/viewtopic.php?f=36&t=2238&sid=f12405a7e997edd189df1fa671b7a048&start=40
252 1320490
>>320186
Хм, а ведь с нашего потока некоторые как раз по направлению OpenCV и укатились. А я пролыбонил.
253 1322663
Как поживает язык без задач в 2019 году?
254 1322668
>>322663
Ты ебанулся такое спрашивать? Рабочие дни 2019 ещё не начались, как мы тебе ответим, пидор?
255 1322755
>>322668
А разве гребцы отдыхают?
256 1324256
А что пишут на скале?
Ну т.е для чего он? Вот яваскрипт для сайтов, а скала?
Я просто в этом вообще не разбираюсь.
257 1324328
>>324256
А скала для бэкенда сайтов, как вариант. Да и для фронтенда можно юзать, есть компилятор в JS и врапперы JS-библиотек в webjar. Цодингтимовцы вон игру браузерную на скалке пилят.
258 1324355
>>324328
А вне сайтов и прочих бекендов?
259 1324400
>>324256
Это такой DSL для Apache Spark.
260 1324455
>>324355
Частичное переписывание всякого энтерпрайзного жаболегаси на чём-то более моднявом, да чтобы оно при этом было совместимо с непереписанным жаболегаси.
261 1325415
>>324256
Тот анон >>324400 тралит, но доля правды в этом есть: большинство вакансий - это биг дата и спарк. Помимо биг даты скалу используют для всяких сложных распределенных систем (посмотри акку например). Для хуйни скалу не используют, потому что скалистам надо платить много денег, проще нанять джавистов или, если совсем низкое качество устроит, пхпшников каких-нибудь.
262 1341068
type Rec = Record.`'code -> String, 'name -> String, 'pop -> Int, 'gnp -> Option[Double]`.T
Что за ".T"?
263 1343429
Сап
Подкиньте ссылок с туториалами, пожалуйста
По другим языкам постоянно вижу "пишем чат на жаве, бота на питоне, нейронку на cpp, игру на c# " и так далее
Накидайте гайдов, плс
265 1343435
>>343433
суть в том, что по запросу "scala tutorial" он выдает только видеоуроки по основам языка и текстовые учебники.
Не работу над какими-то проектами типа того же чятика
266 1343591
>>343429
Manning Functional Programming in Scala (2015).pdf
267 1343783
>>343591
ну очевидно же, что если анон просит подкинуть ему "туториалов", то красную книгу он не осилит.
268 1343789
>>343429
Scala for the Impatient. Можешь еще навернуть курс по скале на степике от тинькофф. Курс от Одерски на курсере не бери - отобьет все желание изучать этот язык. И книгу Одерски лучше оставить на потом. Написана очень сухо и рассматривает очень много вещей, которые нужно разве что только в разработке библиотек. Наверни ту книгу от Хорстманна, которую я порекомендовал и параллельно курс на степике. Это даст хорошую вводную. А дальше можешь ковырнуть какой-нибудь фреймворк и налабать пет-проект.
269 1343860
>>343789
Интересно, а у меня было обратное впечатление: "Scala for the Impatient" мне вообще не понравилась, а курс и книга Одерски мне понравились, написаны хорошо и без лишнего дерьма, чем-то похоже на курсы по математике или cs. Я скалу за то и люблю, что она основана на науке.
270 1343864
>>343789
и на выходе получится обычная джава-макака, неспособная пояснить за монадки
271 1343887
>>343860
Курс сделан наспех. По-сути он просто передрал задачки из SICP и приправил материал своим бредом. То, что он несколько недель рассказывает с акцентом как в плохих фильмах про войну, можно уместить на паре десятков страниц книги.
Книга слишком большая и охватывает каждый уголок скалы, что начинающему ни к чему.
А Скала для нетерпеливых позволяет по-быстрому вкатиться в язык и начать лабать какие-нибудь свои простенькие сервисы. Но ты ведь сам понимаешь, что Скалу берут либо по ошибке, либо из-за небольшого ума. Используя современную джаву, можно написать любой по сложности сервис и при этом не нужно будет страдать от граблей скалы, которые так и поджидают на каждом углу.

>>343864
Человеку нужно побыстрее вкатиться в скалу и начать клепать вебсервисы, которые будут плеваться джейсонами, а ты ему про монады рассказываешь. Ну охуеть теперь.
Ты лучше чекни вакансию тинькоф банка в @pro_jvm.
272 1343906
>>343887

> По-сути он просто передрал задачки из SICP и приправил материал своим бредом


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

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


Какое отношение акцент имеет к качеству материала?

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


Ну есть отличная книга "Scala by example" от Одерского, она короткая.

> Книга слишком большая и охватывает каждый уголок скалы, что начинающему ни к чему.


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

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


Ну извините, а как код писать? Future это монада, все библиотеки для жсона основаны на написании или автоматическом деривинге тайпклассов. Или ты предлагаешь Future не использовать, писать код синхронно, как на джаве, а в жсон сериализовывать с помощью джексона и аннотаций? Ну и зачем тогда скала нужна непонятно...
273 1344374
>>343906
К чему все это? Ты же понимаешь, что за все эти годы, Scala так и осталась ничем иным как DSL к Apache Spark? Ее либо для ололо биг-даты в несколько терабайт используют, либо всякие маргинальные личности, которые пытаются поверх Akka написать криптоблокчейн и начать разводить честных людей на шекели?
Хорошо, что в Java начали завозить новые фишечки каждые полгода и очень скоро в Apache Spark можно будет ходить из чистой Java. Хотя уже это можно сделать, благо у Apache Spark, и у всех популярных фреймворков, таких как Akka и Play Framework имеются Java API.
Штудировать тонны литературы, разбираться во всех этих монадах и теории категорий, когда на той же самой Java 11 можно написать за пару вечеров без каких-либо проблем - ну незнаю, это по крайней мере странно.
Меня удивляет тот факт, что бизнес в принципе готов выделять деньги на поиск и обучение Scala разработчиков. Платить им баснословные деньги и при этом не понимать, что на Java их проблемы решаются на порядок проще, без всех этих проблем со сборкой проекта (привет SBT!), тормозной компиляцией, неспособностью Intellij IDEA корректно переваривать исходники на Scala, тормозами в рантайме, т.к. из-за функционального подхода, который начинает генерировать просто килотонны мусора, который в свою очередь GC задыхаясь не поспевает убирать и начинается веселье в духе - поработали секунды две, STW, опять поработали две секунды, STW. Просто прекрасно!
274 1344484
>>344374
Ага, в райффайзене и тинькове тоже только маргиналы сидят, услышал тебя.
275 1344489
>>344484
Я же говорю, что это компании, которые выбрали этот язык по ошибке. И сейчас они ищут людей, которые все им перепишут согласно промышленным стандартам разработки Java Enterprise Edition. Ты какой-то недалекий, ну в самом деле!
276 1344556
>>344489

>это компании, которые выбрали этот язык по ошибке


Я сообщил об этом Олегу, он просил передать, что ты пидор тупой, чмо и проткнутый говна кусок.
277 1344578
>>344556
Слушай, ну это репорт.
278 1344582
>>344489

>Беспруфный кукарек


то-то Тинькофф курсы по скале проводят, как онлайн так и ирл.
279 1344610
>>344374
Ты по-моему в каждом треде толстишь про DSL к Apache Spark. Или это просто какой-то тупой форс, который разные люди подхватили.

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


> ну незнаю, это по крайней мере странно


Ну то есть все сводится к тому, что твоей квалификации не хватает, чтобы писать на скале, и ты не хочешь ее повышать

> на Java их проблемы решаются на порядок проще


Смешно просто. Даже отвечать не буду.
280 1344615
>>344610

>в каждом треде


Это один тред. Он в этом треде уже заливал ту же самую ахинею.
А вы его кормите.
Но мне на вопрос выше >>341068 ответить не можете.
281 1344617
>>344374
Вообще, мы обсуждали скальные туториалы, а ты каким-то образом перешел к

> К чему все это? Ты же понимаешь, что за все эти годы, Scala так и осталась ничем иным как DSL к Apache Spark?



Ты ебанутый?
282 1345249
>>341068

>Что за ".T"?


Тип.
283 1345965
Что почитать про логирование?
Зачем это нужно вообще и главное, какие библиотеки обычно используются на скале?
284 1346429
>>259320 (OP)
https://twitter.com/xeno_by/status/1094951448968716288
Ахахах, лол! Получай, скала ебаная!
285 1346461
>>346429
Кто такой, чем знаменит?
Скала всё?
286 1346637
>>346461
Один из разработчиков Scala. Позже работал над компилятором Scala в Twitter. Сейчас забросил скакалку и будет колбасить компилятор Swift и писать Tensorflow.
-1 из команды Одерски. Малдер и Петрашко уже ушли. Осталось немного!
287 1347208
>>343887

>Используя современный С++, можно написать любой по сложности сервис и при этом не нужно будет страдать от граблей джавы, которые так и поджидают на каждом углу.

288 1348350
Время пришло делать тонны нефти. Как лучше всего вкатиться в Скалу, есть какие-то жесткие подводные? Я человек трудолюбив, так что вынесу все анальные боли по мере изучения. Какие перспективы в работе? Что можно писать?
289 1350391
>>348350
смотря какой у тебя бэкграунд.

Если умеешь в хаскель и различаешь функтор от аппликативного функтора, то можешь сразу начинать с красной книги и пиздовать на собес в тинькоф\райф. У них там функциональная скала есть.

Если нет, то посмотри курс на курсере (можно только первые три, остальные два для бигдатошников). Далее куришь доку акки и опять же, идешь на собес в тинькоф\райф. У них и scala as better java есть.

Какие перспективы? Такие же как и джавистов.

Что писать? Высоконагруженные бекенды, биг дату на
290 1350395
>>350391

>У них там функциональная скала есть.


Платят копейки
291 1350396
>>350395
Сколько? Мне кажется >200, что вполне норм, для миддла.

мимо нетиньков
292 1350401
>>350396
Совсем недавно обсуждали в перезвони треде, где чуваку зажали зарплату на собеседовании и еще пожаловались, что 110к - это дохуя.
293 1350402
>>350401
ну хз, 110 это же джунская зарплата. Я примерно на такую в скалу перекатился с питона.

Может он нихуя не умел?
294 1350404
>>350391

>Какие перспективы? Такие же как и джавистов.


Какие могут быть перспективы у Scala? Из команды Одерски один за одним уходят разработчики либо в коммерцию, либо переходят в другие языки как сделал Бурмако. Пиздец твоей скале.
295 1350408
>>350402
Чувак шел на сениора в Новосибирский офис. Ему сказали, что по навыкам все ок, но такую высокую зарплату они не будут платить. Да и там хуета проект, если честно. Самописный BPM движок.
296 1350414
>>350408
А, Новосиб. Я хз какая там рыночная.

Но бля, говорить что мало платят, основываясь на мнение анонаса из новосиба это как-то ок?
297 1350418
>>350414
Ну подожди. У Тинька есть офис в Новосибирске. В нем же открыта вакансия Scala разработчика. Зарплатная вилка закрыта. Приходит чел, проходит собеседование, его не срезают на технической части. Подходит время обсудить зарплату и вот тут-то и выясняется, что 110 - это дохуя для сениора, когда какие-нибудь аутсорс-бодишоп шараги столько платят с порога. Вопрос - зачем ебаться со скалой, когда можно месить тоже говно, но на знакомой джаве и получать больше? Или все банки платят так мало?
298 1350425
>>350418
да хуй знает. Может анон ни разу не сениор, может в тиньке охуевшие сидят, может рынок такой в Новосибе. :shrug:
299 1350426
>>350418
работать в нашем тинькове - большая честь
300 1350428
>>350425
Я это к тому, что твое слово, где ты говоришь, что миддлам дают >200к и слово того чувака равнозначны. Пока лично не сходишь - не узнаешь. Кто вас знает-то? Может вы оба пиздите. Но в банке работать - это такое себе.
301 1350432
>>350428
да, ты прав, признаю
302 1350490
>>350396
Ты из дс? А на ждуна какая вилка, не подскажешь?
303 1350513
>>350490
Никому не нужен джунион на скалу. В скалу перекатываются через джаву после 5-8 лет опыта.
304 1350527
>>350418

>110 - это дохуя для сениора, когда какие-нибудь аутсорс-бодишоп шараги столько платят с порога


В новосибе с порога тебе будут платить тыщ 30, это не москва
305 1350532
>>350490
нужно различать скала-джуна и бэкенд-джуна.

Вилки, конечно, разнятся очень сильно
306 1350536
>>350513
Это я уже понял.
>>350532
Можешь поподробнее?
307 1350549
>>350536
если ты идешь в скалу, не имея за плечами какого-нибудь опыта в разработке, то тебе будет сложнее найти работу. В Москве вряд ли больше 100к выбьешь в этом случае.
308 1350574
>>350549

>будет сложнее


Я уже понял про сложности.

>больше 100к


Ты понимаешь, что между 1 и 100к много чисел? Как мне поточнее узнать?
Я смотрел вакансии джава джунов на хх, там вообще разброс, от 40к, где в требованиях "знать что такое класс и селект в SQL" до 100к, где требуют уже вышку и "уверенное знание SQL запросов".
В среднем я так понял 60к это норм для ява ждуна.
По скале такой инфы вообще нет, там мидлы и синьёры.
310 1350962
>>350768
Не опенсорс, значит не нужно.
311 1351164
>>350768
Вот это поворот! А какие минусы у этой технологии, кроме непопенсорса?
Screenshot from 2019-03-01 20-12-24.png127 Кб, 1012x888
312 1357407
Анон, может ты знаешь че творится (или знаешь где почитать).

Есть некая строка в которой содержится ip девайся и диапазон открытых портов. Типа:
"192.168.0.1 range 1024 65536 какой-то еще мусор"

Я хочу красивенько вытягивать диапазон портов при помощи паттерн матчинга. Написал право-ассоциативный экстрактор с именем portRange_: только вот он нихуя не работает. Поменял имя на аля оператор +@@: и запахало.

Не знаешь в чем разница тут между просто именем обжекта, заканчивающимся на двоеточие, и оператором, заканчивающимся на двоеточие?

Вариант с оператором: https://scastie.scala-lang.org/AuamgVOTRXeMfhOdj1QYMQ
Вариант с именем: https://scastie.scala-lang.org/OhwCMZBxRainnMXIBUTWdw
313 1358036
>>357407
Скала разбирает твой код как:

> case (ip +: ports) portRange_: _ => Addr(ip, ports)



И у тайпчекера к тебе на этом месте появляются вопросы.

Почти уверен, что это из-за приоритета операций - у плюса он выше, чем у alphanumeric characters. Соответственно, с +@@: скобки сами расставляются правильно, в другом случае - не очень.

Если поставишь скобки вот так:

> case ip +: (ports portRange_: _) => Addr(ip, ports)


то всё сразу работает.

Но пожалуйста, не пиши никогда подобную скалу с ебанутыми операторами в продакшене, выглядят такие штуки очень хуево (ещё и в спеку языка лезть, чтобы разобраться). Как минимум для этой задачи оно нахуй не нужно.
314 1358124
>>358036

>Почти уверен


>Но пожалуйста, не пиши никогда подобную скалу


>с ебанутыми операторами


>в продакшене


>скалу


Вся суть, лол!
315 1358194
Есть тут кто из Тинькофф?
Ещё набираете java2scala?
316 1358334
>>358124

>object +@@


Такое лучше вообще нигде не писать. Никогда.
Это за гранью добра и зла.
317 1358459
>>358124

> Вся суть


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

В каком-нибудь тинькове за подобную магию тебя бы обоссали и заставили бы переписать на пару очевидных и читаемых методов, которые делают то же самое. Те же инфиксные экстракторы, например, уместны только тогда, когда то, что ты матчишь, логически разбирается как последовательность (::, #::, и т.п.) (https://danielwestheide.com/blog/2012/11/21/the-neophytes-guide-to-scala-part-1-extractors.html - Infix operation patterns)
318 1358540
>>358036
О, спасибо. Про приоритеты в контексте паттерн-матчинга я как-то и не подумал :(

Попробую тогда сделать на scala.util.parsing, раз у методов вылазит чихарда с приоритетами, а с операторами оно выглядит мягко говоря загадочно.
319 1358545
>>358194
Открыта же вакансия на HH. Берут перебежчиков с Java.
320 1358546
>>358459
Переусложненный язык, который нахуй не нужен. Писали бы на Java или Kotlin. Еще можно Clojure ебануть. А Scala просто хуета на постном масле, которой пердолятся не очень умные ребята. Работу работать нужно, а не ебаться с языком, лол.
321 1358573
>>358546

Вот я точно так же думал, лет 5 назад.
"Выдумали какую-то хуйню сложную. Зачем? Джаву ж изобретали как раз в том числе чтобы уйти от сложности плюсов. Язык программирования - это все лишь инструмент, он должен быть простым и понятным".

А щас на меня переодически кидают таски с одного джавишного сервиса, и у меня каждый раз дико горит от джавы.
sage 322 1358611
>>358573
От чего именно горит-то?
323 1358622
>>358611
Так все вместе подобрать даже сложно. На в скидку:

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

Очень куцый API стандартной билиотеки. Язык развивался, изменялся, а существующее API практически не трогали. В итоге толку от всех этих Optional штучек, если их разве что чуток добавили в API коллкций, и то вкраплениями. Про всякий API типа работы с XML я вообще молчу.

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

Когда привык к паттерн матчингу, и вообще к тому, что конструкции возвращают значения, то код типа ниже уже разрдражает своей "разрозненностью":
SomeType v;
if (...) {
v = ...
} else {
... don some stuff
v = ...
}

Ну, а дальше еще Spring, который пока я его наблюдаю (вкатывался на версиии 2.5), превратился в огромную, медленную и бажную хуйню с кучей подковырок.
324 1358718
>>358546

>Переусложненный


Мартыхан не осилил, значит не нужно.
325 1358784
>>358611
Ха-ха! Получай, Scala ебаная!
326 1358785
>>358622

>don some stuff


mgimo finished?!
327 1358853
>>358785
Это приятно, ни с чем не сравнить :)
Особенно теперь, когда джун кодит на джаве уже 5 месяцев.
Я говорю – жабу будем поддондонивать? Жабку-некрожабку? Он улыбается, радуется, аж подпрыгивает. Негенрит триста строчек геттеров-сеттеров и смотрит на меня? Правильно сделал? Я молчу, дразню его. Он плюх – try catch строк на сто – тим лид, а теперь так? С какой стороны жабу будешь дондонить? Уже весь в сомнениях, переживает, начинает кататься туда-сюда на стуле. Где? Где будут жабу дондонить? Ну где? Я смеюсь, дразню его, приговариваю – public static String myEmptyString = "";, try catch, на null проверочки, будем дондонить!
Сажусь рядом. Он быстро открывает нужный IDE (eclipse), поджимает ножки, выставляет вперед ручки – иерархию классов делать. Все! На поддондоньку жабы рота построена, проект открывайте и поехали.
328 1359093
Ну че посоны, как там тулинг? Не заебались без нормального код ассиста?
329 1359095
>>358853
Пиздец у тебя подгорело, чувак. Блядь, ты просто поехавший какой-то, если честно. Мне искренне жаль твоих коллег по работе.
330 1359282
>>359093
Ежедневно пишу с котами в идее, полёт нормальный, красноты минимум
331 1359287
>>359093
в идее все есть, даже подсветка имплиситов
332 1359292
>>358622
ну так фишка же не в чуть более богатом синтаксисе, а в том, что это функциональный язык на жвм. ты можешь комбинировать функции, в результате использовать функциональные структуры данных (та же монада) и писать более абстрактный код.
333 1359293
>>358546
сам язык не очень сложный, намного сложнее научиться писать в функциональном стиле
334 1359604
>>359293
Блядь, Programming in Scala - 859 страниц. Охуеть какой не очень сложный язык. Ну и тот факт, что на скакалке не пишут хайлоад и лоу летенси системы говорит о том, что ты будешь лепить рест сервисы для какой-нибудь внутренней CRM на 100 запросов в секунду, лол!
335 1359613
>>359604
По числу страниц измерять сложность языка.
В голосину проорал.
336 1359627
>>359613
В книге есть отдельная глава, которая объясняет как работает связный список в Scala. Целая, блядь, глава. Я читаю эту книгу уже несколько лет и все никак не могу закончить, потому что язык просто огромен и в нем столько неявных вещей, которые нужно держать в голове, что я просто охуеваю каждый раз, когда читаю ее или пытаюсь хоть что-нибудь написать на Scala!
337 1359652
>>359627
Прочитал ещё первую редакцию. Нормально там всё читается.
Там не столько про сам лист написано, сколько про основные идеи, которые можно потом где угодно применять. Взять тот же пример с имплементацией сортировки, там всё сразу и рекурсия, и паттернматчинг, и каррирование, и асимптотическая сложность. Но показано на примере, который не поймёт только даун.

>пытаюсь хоть что-нибудь написать на Scala


Чтобы писать круды всё это знать не надо.
338 1359667
>>359652

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


ничего не понял из того что сейчас сказал.
какая еще асимптотическая сложность?
это где логарифмы нужно решать?
339 1359698
>>359667

>ничего не понял


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

>логарифмы нужно решать


рукалицо
340 1359712
>>359698
Какой в этом смысл, если в РФ полторы вакансии на Scala и те требуют от 3-5 лет промышленного опыта на этом языке и сопутствующей экосистеме?
341 1359731
>>359712
Если ты начал читать книгу по Скале, нахуй ты меня спрашиваешь зачем ты это делаешь?
342 1359801
>>359292
Да,но и на джаве можно комбинировать композировать методы. Берешь Vavr и пишешь на джаве уже более функционально.
Но потом смотришь какое уебанство выходит в коде, и понимаешь, что синтаксис все таки много значит :)
343 1359830
>>359604
kafka, spark
344 1359893
>>359801
Но в джаве нет иммутабельности по умолчанию, так что все твои композиции назуй не всрались. Хотя в целом-то я с посылом твоего поста согласен.

мимо
345 1359940
>>359830

>kafka


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

>spark


Та же самая история, что из со спарком. На Scala там только кривой API, который торчит наружу и немного скала кода внутри самого проекта. Остальное написано на Java.
346 1360038
>>359940
26% кафки на скале, спарка - 73%. давай, расскажи мне, что только апи и обвязки на скале.

то, что 26% кода кафки на скале, говорит мне (и это мое личное мнение), что этот код было легче писать/поддерживать на скале
347 1360050
Есть у кого книга Одерски Scala. Профессиональное программирование? Она есть здесь https://www.twirpx.com/file/2545980/ если есть доступ, скачайте и скиньте по братски.
348 1360051
>>359292

>ты можешь комбинировать функции


Это как?
349 1360126
>>360051
val pisya :pisyun = twoy pisyun
def fap (x:pisyun)(f:telebonk) = {f(x)}
def telebonk_levoy = {...}
def telebonk_pravoy = {...}
def fap_levoy(telebonk_levoy) _
def fap_pravoy (telebonk_pravoy) _
val fap_time = fap_levoy(pisya)
Или
val fap_2h = fap_levoy _ andThen fap_pravoy _
Или можешь моделировать жизнь своей ЕОТ
val clients = List(pisyun1, pisyuin2,pisyuin3)
val rabota = clients.map(fap_pravoy)
350 1360193
>>360126
У тебя херня какая то. Комбинирование функций это использование функций в теле других функций.
351 1360221
>>360193
Я ошибся в паре мест просто, печатал пока по телефону пиздел.
val fap_levoy = fap(telebonk_levoy) _
val fap_pravoy = fap(telebonk_pravoy) _
Ну суть можно было уловить. Создаёшь функцию с двумя аргументами. Потом можно создавать на её основе другие, передавая в качестве одного из аргументов разные функции.
352 1360476
>>359292

>функциональный язык на жвм


Это разве кложетред?
353 1360710
>>360476
милости прошу к нашему шалашу
354 1360766
>>360710
Ну что, бараны, решили власть переменить? Вы кого слушали-то, а? Пидор очкастый вам монады на уши вешал, а сам ходил к куму сливать эффекты!
355 1360818
>>360766
на этот случай у нас есть cats effect
356 1362107
Уважаемые люди и набежавшие в тред, как в этой вашей scala без мерзкой на первый взгляд Java?
357 1364297
>>362107
Лучше чем с ней.

Чтобы программировать на Scala, знание java тебе не нужно. Однако следует помнить, что всё это бегает на JVM.
Треды и тредпулы здесь жавовые, примитивы типа String - жавовые. Чаще всего тебе просто достаточно читать доку, не вдаваясь в код богомерзкой... Но она здесь. То же самое касается и либ жавовых.
Мне за год работы не приходилось читать Java код. Но если пофантазировать, можно придумать кейсы, в которых это может потребоваться.

Мимо-крокодил.
358 1364532
Сколько ни пишу, никак не могу привыкнуть к вырвиглазному синтаксису. Какая-то перловка. Чужой код все так же ужасен. Хороший код например в интерфейсах scalaz где больше сигнатур типов на отдельной строке, чем самого кода. Другая крайность когда пишут близко к джаве, например в akka, но тогда смысла писать на сцале все меньше, учитывая последние тенденции.
359 1364535
>>364532

Забыл добавить, постоянная фрустрация оттого, что вся инфраструктура тормозит на некислом железе. Отдельный пиздец sbt.
Антоны, хелп ми плиз! 360 1365248
Работаю Java Junior - ом
1) Сколько лет нужно по честному отработать для реального переката в Scala? Сам думаю нужно на уровне синьора.
2) Насколько рынок вакансий у нас есть? На слуху тиньков только
3) Для трактора мне кажется проще с Java будет, что думаете?

Сам маленько со скобочками на Lisp ковыряюсь, для вката в функциональщину
361 1365263
>>365248

>1) Сколько лет нужно по честному отработать для реального переката в Scala?


Хватит и года. Сеньором тебе быть не нужно.

>2) Насколько рынок вакансий у нас есть? На слуху тиньков только


Ну Тинькофф активнее всего в России продвигает скалу. У них и митапы, и для шокльников/студентов курсы и финтех школа. Особо усердных оттуда отбирают на стажировку или даже предлагают оффер. Да и работать там приятно.
В остальном, зависит от города. В телеге подпишись на scala jobs и помониторь. Рынок небольшой, но нас ещё меньше.

>3) Для трактора мне кажется проще с Java будет, что думаете?


Сложно сказать на самом деле. Java макаку проще найти и у себя. Зачем кому-то риски с релокейтом кого-то там из какой-то там гваделупы? Ну если конечно ты не ахуевший специалист в своём вопросе. Ты специалист?
362 1365282
>>365263

>Ты специалист?


Я думаю про планирование карьеры.
363 1365310
>>365263

>Да и работать там приятно.


Тиньковобот не палится.
364 1365450
>>364532
>>364535

Есть проебы в синтаксисе, но основые проблемы в том, что инфраструктура пишется долбоебами. Оттуда sbt, горы говна в scala.collections, «dispatch periodic table», etc. Было бы намного лучше, если бы in-charge были такие люди как Li Haoyi, которые умеют делать БЕС ХУЙНИ.
365 1366036
В общем зарегался на курс на курсере по скале, который нашёл в этом треде. Начал делать первые же задания, где нужно было написать рекурсивные функции - сразу блять начались проблемы. Чувствую себя тупым. Сейчас я джава-макака и последний раз реализовывал какие-то подобные математические алгоритмы ещё универе и как же это даётся тяжело сейчас. Может посоветуете что почитать/порешать чтобы меньше тупить с написанием рекурсивных алгоритмов?хотя я уже настолько тупой что мне ничего не поможет))0
366 1366070
>>366036
Дело привычки. Мне по началу тоже сложно давались рекурсии, сейчас же мне это кажется намного более удобным и натуральным, чем все эти for и while.

Нужно чуть больше практики - единственный совет.
Напиши функцию, которая обойдёт List[Int] и просуммирует все элементы. Напиши такую же функцию для обхода бинарного дерева. Помни, что ты можешь объявлять вспомогательные функции внутри функций. То, что ты обычно изменяешь внутри тела цикла, в императивных языках, мы передаём в качестве аргумента рекурсивного вызова, естественно уже изменив значение.

def listSum(list: List[Int]): Int = {
def listSumImpl(accum: Int, tail: List[Int]): Int = ???

listSumImpl(0, list)
}


Если очень тяжело даётся, по началу не думай о tail-call оптимизации, например при реализации суммирования элементов бинарного дерева. Практикуйся, ебашь хакерранк и всё получится, анончик.
367 1366143
>>366036
Для кложи есть http://www.4clojure.com/problems где все на практике очень классно малюсенькими порциями постепенно дается, попробуй поискать для скалы что-нибудь аналогичное

мимо
368 1366166
>>366036
Перекатится в элик. И быстрее, и работа стабильней.
369 1367304
Поясните за вакансии со спарком. Это вообще программирование или это data science какой-то?
370 1367306
>>367304
И то, и другое. Можешь дописывать 100500ю оптимизацию для ETL, а можешь пилить реализацию ML. Это не чистый дата саенс, но элементы этого есть
371 1367308
Поясните, за счет чего Скала может подыхать? Вот, скажем, у меня на работе микросервисная архитектура и сервисы на скале нагибают сервисы на других языках. Для менеджмента это знак того, что нужно уменьшать количество сервисов на тех других языках и увеличивать количество сервисов на скале.
372 1367313
>>367308
Нет сообщества, которое развивает язык. Либы пишут, а язык не развизвают
373 1367314
>>367313
Лолшто. Недавно смотрел доклад Одерского про скала 3, все супергодно вроде.
374 1367315
>>367314
Хотя, он в конце доклада сказал что-то вроде "плиз придите к нам и поработайте над конпелятором скалы".
376 1367343
>>367320
Че такого, у меня на работе тоже есть открытые баги с 2014.
377 1367394
>>367365 (Del)
Жс-питушок, ты тредом ошибся, загон для ваших тремя тредами ниже.
378 1367461
>>367394

>тремя тредами ниже


эко скаладебил пригорел. аж верх и низ путать начал
sage 379 1367549
>>367394
Это спам.

мимокэп
thank-obvious-you-captain-here-have-this-rock-37905073.png115 Кб, 500x376
380 1367674
>>367549
Да ето так
381 1367771
Подскажите, сколько денег просить с 3мя годами опыта? (ДС)
382 1367947
>>367771
За каждый год сотку проси
383 1368616
Не знаю, палили ли здесь, но на русском тоже курс хороший появился:
https://stepik.org/course/16243/
384 1368783
>>260805
А в чем юмор?
385 1368828
>>367947
А если скалы джва года опыта, а вообще 8? На какую зарплату можно рассчитывать, перекатываясь в ДС на Скала программиста но не спарк и не лохчейн.
386 1368845
>>368783
В том, что жс славен нечеловеческой и бессмысленной скоростью устаревания модных фреймворков.
387 1370587
>>368845
Двачую, не просто так react оказался никому не нужен уже в 2014ом
388 1376689
Скажите, у функционалки есть будущее или императивка все еще рулит?
389 1376705
>>261604
Проще потом менять код. Типа сегодня ты просто отдаёшь значение поля, завтра проксируешь на другой объект, а послезавтра достаешь его из стораджа. И если оно сделано через геттер везде, то только в одноместен код менять прийдется.
15039057314330.jpg80 Кб, 794x798
390 1377257
>>376705

>доставать данные из стораджа


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

391 1377273
>>376689
FPGA похоронит ваши недоязыки.
392 1377300
>>259320 (OP)
Так расскажите, зачем нужна все еще скала?

>Пикрил 1


То, что есть на скале, уже давно есть в жабе. Тем более в нее вливают тонну денег, в отличии от скулы.

дискас.
393 1377370
>>377300
Низачем, съеби в джава-тред.
394 1377377
А какой сейчас dependency injection на скале в моде?
395 1377378
>>377377
Никакой.
396 1377381
>>377257
Что ещё за домейна?
397 1377398
>>376705
Что значит "проще" когда все это делается нажатием одной кнопки идеешечки. Так же то что ты описал это потенциально ломающее изменение (когда вызывающий код ожидает поведения как при простом доступе к переменной, а вместо этого происходят всякие неведомые кульбиты вроде сетевых вызовов етц) и как следствие лучше чтобы оно было явным.
398 1377415
>>377370
По сути, этот анон говорит правду.

Да и тем более это обсуждалось 1-2 треда назад, к пришедшим выводам - что скала устаревает и поддерживать ее уже не возможно, как и искать разработчиков. Тот же котлин, смотрится куда симпатичней.
399 1377418
>>377415

> котлин смотрится куда симпатичней


Мнение клинических дибилов не особо интересно.
400 1377443
>>376705
По факту так только конченые будут писать. Если ты делаешь User.getEmail, любой нормальный человек будет ожидать, что это тупо получение значения поля и никаких запросов к бд или еще куда-то там быть не может.
401 1377445
>>377443
А как ты назовёшь метод, получающий емейл из базы? getEmailFromBaza, лол?
402 1377447
UserDao.findUserById какой-нибудь возвращает юзера с уже заполненными полями.
403 1377448
>>377447
Не отвечает на заданный вопрос.
404 1377452
>>377448
Ну если кто-то внутри класса User сделает метод, который будет ходить в бд или во внешний сервис, ему в приличном обществе на ебало нассут.
405 1377453
>>377452
Всё ещё не отвечает на вопрос. Впрочем можешь уже и не отвечать, и так ясно что ты обосрался.
406 1377454
>>377452
Но если ты все же хочешь, чтобы тебе нассали на ебало, скала тебе дает такую возможность. Компилятор на самом деле автоматически генерит геттеры и сеттеры и ты в любой момент можешь их переопределить не ломая существующий код. Это сделано, чтобы порадовать жабадебилов.
407 1377475
>>377377
А почему?
А почему не macwire?
А почему не distage?
408 1377572
>>376705
Как проще? У тебя типы не сойдутся потом.
Было `getEmail: Email`

Станет, после того как ты будешь из базы доставать: `getEmail: F[Email]`
409 1382073
Сколько денег просить Скала сеньору в ДС? Или нафиг офисную работку и искать удалёнку?
410 1382123
>>382073
100-130к
411 1382128
>>382123
долларов в год, надеюсь? ибо если в рублях, то это пайка обоссаного жабадебила
412 1382131
>>382128
Рублей в месяц. Выплачивается следующим образом - половина тебе выплачивают в 15 числах текущего месяца, а остальное 5 числа следующего.
А чего ты хотел? Ты же Hibernate и Spring не используешь, JBoss Application Server не развернешь и форму на PrimeFace не напишешь. За что тебе платить?
413 1382188
>>382131

> За что тебе платить?


За то, что пишу работающий продукт, а не конвертирую аннотации в стектрейсы.
414 1382191
>>382188
Что ты там пишешь? Я тебе еще раз повторяю, что без Spring Framework и Hibernate ты нихуя толкового не напишешь. А срать в хип своими чудесными коллекциями из Scala можешь в нерабочее время. Тут люди информационные системы разрабатывают, а не упражняются в том, кто более неразборчивый скала код напишет.
415 1382194
>>382191

> без Spring Framework и Hibernate ты нихуя толкового не напишешь


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

> Тут


Тут скалатред, а у тебя либо синдром утенка, либо просто толстишь.

> кто более неразборчивый скала код напишет


А вот теперь все понятно, очередной неосилятор. Иди еще поаннотируй на свой спринг.
416 1382197
>>382194
Ты просто не понимаешь как работает бинфактори вот и вертишься тут как уж на сковородке!
417 1385278
>>382073
А какой стек нужен, чтобы называться сеньором?
418 1387042
>>385278
Так сеньор это больше про помидор общий уровень скиллов, а не стек технологий.
Вообще по вакансиям вижу что в основном используют скалу как джаву, т.е. стек это akka и связанные технологии биг дату не берём, я сейчас про нормальный бэкенд.
Изредка встречается функциональщина - cats, fs2, http4s.
Я вот на своей РАБотке пытаюсь перекатывать всех на современный стек, но коллеги делятся на два лагеря - упоротые джависты-долбоёбы, которым только бы ignite и сервлеты воткнуть, и ебанутые функциональщики, которые ебошут lawless typeclass'ы просто потому что могут. Как это всё заебало.
52f9f67d22b81724a04926c63fe27a67.jpg7 Кб, 247x246
419 1387112
Анончик, разъясни плиз про экзистенциальные типы в скакалочке.

В скаладоке (https://www.scala-lang.org/api/2.12.1/scala/language$.html#existentials:languageFeature.existentials) сказано:

> existential types that cannot be expressed as wildcard types can be written and are allowed in inferred types of values or return types of methods



Это какие такие экзистенциальные типы нельзя записать при помощи _ вайлдкарда, но можно с forSome ?

type F = List[A] forSome { type A <: MyTrait }
можно записать как
type F = List[_ <: MyTrait]
и точно так же с параметрами методов.

Нахуя этот экстеншен с этим forSome ?
420 1387119
>>385278
Spring Framework, Hibernate, J2EE, JSF, JSP, Apache Tomcat, Oracle, Jasper Reports, Alfresco. Ну, если не знаешь Hibernate, то ты никакой не сеньор и даже не миддл, а так, джун-жулик!
421 1387225
>>387112
Экзистенциальные типы deprecated в dotty. Так что просто забей на их существование.
422 1387332
>>387225
Понял, забил, данке шён.
423 1387335
>>387119
При всем уважении, мсье, Jasper Reports - это перебор как бы.
Та и Оракл на новых проектов уже врядли встретишь, скорее мускуль или постгре.
Alfresco тоже редкоземельная штука как по мне.
Скорее всякий AWS/Azure вздрочь лучше постигнуть в общих чертах.
424 1389150
>>387112
Foo[Bar[T], T] forSome { type T }
v.T forSome { val v: { type T } }

Тысячи их, но как уже верно подметили, они нахуй тебе не сдались.
425 1389850
>>259320 (OP)
Планирую перекатиться из Джавы в Скалу, т.к. заебли все эти хибернейты со спрингами и прочие энтепрайз помои.
Видимо джава макак столько развелось, что теперь на собеседовании спросить описание методов какого-нибудь интерфейса из спринга или попросить перечислить все методы java.lang.Object считается за норму.
Как обстоит дело с наймом Скала разработчиков? Все тот же пиздец или можно вытянуть собеседование на коммитах в попенсорс и собственных пет-проектах?
426 1390231
>>389850

>Как обстоит дело с наймом Скала разработчиков


Крутишь списки и деревья/объясняешь почему футура не монада на бумажке.

>перечислить все методы java.lang.Object считается за норму


Меня спрашивали подобное про case classы.
Тустринг, хешкод, аплай, эквал.
427 1390398
>>390231
Понятно. Ничего не меняется. Останусь на джаве, педалить унылый энтерпрайз в аутсорсере.
cat.jpg80 Кб, 749x694
428 1390559
>>382128
Ебошу tagless final, cats и monix в продакшене за 100к в месяц, я, получается, хуже обоссаного жабадебила?
429 1390564
>>390559
Ты же понимаешь, что скала никому не нужна и все спешно переходят на Котлин? Даже Револют перешел на Котлин в новых модулях и спешно переписывает старый скала код.
430 1390607
>>390564
Ну, про скалу ты не совсем прав, уходить никуда она не собирается (особенно те, кто юзают ее не как better java), но с зп я что-то смутился.
431 1390613
>>390607
100К это зарплата скала джуна в ДС/ДС2. Сколько у тебя опыта?
432 1391565
>>390613
Полгодика
433 1391608
>>390559
неплохо. Где гребешь?
434 1391849
>>390231

> Меня спрашивали подобное про case classы


Дай угадаю, ты из ДС2?
435 1391856
436 1391968
https://contributors.scala-lang.org/t/coc-compatible-community-builds/3097/96

Всё что нужно знать про скалоедов.
437 1392000
>>391968
К чему ты это высрал? Чувак написал, что вся коммуникация происходит в публичном поле, а ошибки признаются и исправляются. Может быть ты не на то сообщение дал ссылку?
438 1392179
>>391565
Ну тогда норм. Все сходится, греби дальше, будет тебе 200+
Screenshot 2019-04-30 at 18.40.46.png289 Кб, 1892x732
439 1392191
>>259320 (OP)
Даже в этом треде уже чувствуется мертвенность шкалы. 5 сентября был создан тред, больше полугода, сказать что я смеюсь над вами это ничего не сказать.

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

Впрочем, пока вкатишься вакансии уже будут закрыты и останется только кокотлин, который можно впендярить в моей проект на 1.6 и жить спокойно.
440 1392230
>>392191
Было бы интересно посмотреть, что там за репы. Вангую, что бОльшая часть реп за вычетом hello-world-ов - это игрушки для мобильников.
442 1392352
>>392336

>2к19


>scalaz


Вот это потеря!
443 1392821
Нате годноту: https://github.com/7mind/izumi
444 1392836
>>392352
Куколд-левак детектед.
445 1392869
>>392352
Тут не в либке дело, СЖВ-петушок.
446 1392875
>>392836
>>392869
Хуя подрыв!
448 1393045
>>393018
Это троллинг?
Ну пожалуйста, ну скажи, что это шутка!
Я не хочу, чтобы это было правдой.
449 1393152
>>391608
В широко известном в узких кругах банке
450 1393495
Подскажите стек для хайлоада
451 1393498
>>393045
Что именно? Тот факт, что топик адово заминусовали, а единственный (и заплюсованный) коммент reads:

>Are these sessions that packed that we have to exclude people based on sex and sexual orientation. What a backwards view of the world.

452 1393679
>>393498
Зазывать на эвент тянок/трапов это какой-то вопль отчаяния.
НУ ХОТЬ КТО-ТО С ДЫРКОЙ, НУ ПОЖАЛУЙСТА, НУ ПРИДИ!
453 1393685
>>393679
обычный virtue signaling ты что
454 1393702
>>393495
Java, IBM WebSphere, Oracle Coherence, Oracle DB.
455 1393821
>>393495zio, distage, foundationdb, http4s
456 1394048
>>393679
Кек. Ты вообще не в курсе современных (ну как современных, послдение 5-10 лет) течений в западноевропейской политике?
457 1394078
>>394048
В курсе.
Но тут явно не левачками попахивает, а просто сидит бородатый девственник и ищет куда бы присунуть. Готовый уже на всё.
458 1394082
зачем тянкам и трапам кложур, все тянки идут в херки, а трапы во фронтенд
459 1394309
>>393495
кривда иди нахуй
460 1394312
>>394078

>Но тут явно не левачками попахивает


>В курсе.


...
461 1394314
>>394309
кто?
462 1394354
Бамп
463 1394458
>>394312
Что не так?
Я тоже подумал сначала, что это опять пытаются диверсити продвигать.
Но ведь там нет упоминания чёрных, кебабов. Это просто девственный скализозник ищет кому бы вечером под хвост присунуть.
464 1394630
>>394458

>Что не так?


Ты.
465 1394725
>>394458

> Но ведь там нет упоминания чёрных, кебабов.


Женщина - хуже чёрного кебаба.
466 1394773
Год учил джаву, работу не нашел.
С одномесячным опытом жиэс нашел за пару дней.
Но свою любимую джаву я то не забыл. Помню, как я пару бесонных ночей пытался осилить concurrency in practice в свои 17 лет И у меня было дикое желание выучить скалу. Вообщем, хочу применить скалку в в своём пет проекте, в связке с react+redux - как думаете, норм тема будет?

В шапке рекомендуется книжка "scala для нетерпеливых", - её будет достаточно прочитать для миддла, что бы вкатиться? Может лучше зайдет Programming in Scala? (есть ли она кстати на русском?)
467 1394783
ох, вот это я слопоук, оказывается, даже scala.js есть
468 1394784
>>394773
если честно то звучит как "мы с другом выпили пять бутылок водки а потом я отравился печенькой"
469 1394791
>>394784
не я такой, жизнь такая
470 1395464
~250 страниц programming in scala уже осилил, чистого времени около 6 часов затратил, я очень ленивый.
После бэкграунда джавы, жиэс, ноды и немного питона всё это очень легко заходит(кто там обзывается, что фронтендщики геи, ничего не могущие), хотя заметно, что вышеупомянутая книга предназначено по большей части для джавистов, перекатывающихся на скалку.
Скала как и ожидалась показалось мне интересной, как раз больше изучу фп, может быть на теоркат даже гляну(сегодня кстати ещё прочитал про линзы хаскеля, ибо в последнее время частенько слышал этот модный баззворд, а это оказалось очередной тривиальщиной), а больше всего меня привлекла модель акторов, интересно звучит, лол, да и вообще реактивное программирование, хотя так-то всего этого можно добиться и на ноде с жиэс(тот же rxjs + какой-нить нодовский nact)

А scala.js уже депрекейтед, как я понимаю? довольно вяло его контрибутят, да и не вижу, что бы его кто-то юзал на проде(разве что слышал, что где-то в сбербанке такое есть) Синтаксис кортежей олсо не понравился, и не совсем привычна фп тернарка, хотя привыкнуть можно, всё остальное заебись вроде.
И чего вы все молчите, а?
471 1395466
>>390398
Чому так?

>Крутишь списки и деревья/объясняешь почему футура не монада на бумажке.


Это же круто. Знания! Самое время открыть Кормена и Милевски, и подтянуть всю эту поебень.
472 1395527
>>395466
Видимо я просто туповат для всех этих монад и эндофункторов с пандарическими захватами.
473 1396610
>>394773

>Вообщем, хочу применить скалку в в своём пет проекте, в связке с react+redux - как думаете, норм тема будет?



Какая разница, что брать в связке с реакт+редукс? Его можно брать в связке с чем угодно. Тема будет настолько норм, насколько хорошо у тебя получится сделать бэкэнд, очевидно.

Сам сейчас пилю react+redux на фронте, http4s на бэке, мне норм.
474 1396611
>>395527
Тот анон ничего сложного же не сказал. Монады на практике - это несложно. Понять, почему футуры не монады - тоже несложно, да и важно. Можно вообще не знать за всякие линзы и эндофункторы и прекрасно пользоваться функциональной скалой. Крутить списки и деревья тебя и на джаве заставят в средней+ компании.
475 1396684
>>396611
Да не, нахер это все. Вакансий на Scala хуй да нихуя, и везде нужен опыт промышленной разработки на всяких там Akka, Catz и прочие Monix с Play Framework. Ну и идут на такие вакансии обычно яйцеголовые парни из МФТИ или ИТМО, победители всяких олимпиад и т.д. Мне туда путь заказан.
Как-нибудь на Java дотерплю.
1546396082732.jpg142 Кб, 693x984
476 1396686
что такое пандорический захват?
477 1396696
>>396686
это когда панда тебя хватает и держит!
478 1396902
>>396686
Загуглил, как я и думал, выпала паста с лурка о хаскеле.
Небось очередная хуита из тк, которая на практике на хуй никогда использоваться не будет.
В этом проблема.
Недавно смотрел видос Одерски Plain Functional Programming by Martin Odersky, даже он там про это говорил. Что ебучие хаскеле-шизики суют своё мёртвое говно везде где только можно.
Мало того, что получается откровенное говно, многоуровневые флатмапы и/или сраные трансформеры, эту хуиту невозможно читать, нужен охуенный порог входа, чтобы это понять, так ещё это отпугивает ньюфагов.
Тебе дали скалу, нет, блядь, не хочу, хочу монадки в каждой строчке, хочу сделать второй хаскель и сосать хуятину вместо работы.
479 1397320
>>396610
Можешь скинуть репозиторий своего проекта?
480 1397596
>>396902
Hey buddy, I think you've got the wrong thread, the Go-dibilov thread two blocks down.
Если ФП тебе СЛОЖНА то зачем ты вообще выбрал Скалу?
Иди вон в Го-тред, как раз язык для дибилов, ФП там не будет никогда потому что оно там невозможно.
И да, даже в хаскелле никто не использует трансформеры, а многоуровневые флатмапы >>= всегда были плохим кодом.
И никто не тащит в Скалку ФП из Хаскелля 1-в-1, всегда адаптируют для использования сильных сторон Скалы.
Просто у тебя бугурт от того что ты ниасилил.
Go thread two block
481 1397598
>>396611
Двачую.
Если ты хочешь нормальную, неблокирующую concurrency - ты берешь Futures.
Потом осознаешь, что нахуя везде таскать () => Future[A], если можно взять нормальный cats effect или monix.
Далее в твоем приложении появляется необходимость таскать какой-то динамический контекст, который не протащишь через DI - и если ты осилил потратить время на Reader Monad Pattern, ты понимаешь как это просто и охуенно, и берешь ZIO.
Все эти плюшки так или иначе несут определенный профит, улучшают качество кода и ускоряют разработку, но неосиляторы продолжают кричать НИНУЖНА!!1, ну и пусть хуй сосут на своей джаве. В скала-тред то нахуя лезть?
482 1397599
>>259320 (OP)
При чем тут RISC-V?
483 1397602
>>397596

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


фикс
484 1397622
>>397596

>Если ФП тебе СЛОЖНА


Это ты сам себе придумал.
Я лишь написал, что ебанаты меры не знают, для хеллоуворлда готовы cats импортировать.
485 1397771
>>397596
А что сейчас используют вместо трансформеров?

Да даже если брать скалу, то как использовать ZIO вместо наслоения трасформеров тоже понятно.

Но мне совсем не понятно как избавиться от трасформеров в чистых вычислениях, например OptionT (State a) b. С ними же удобнее
486 1397773
>>397771
Почитай что лысый пишет например http://degoes.net/articles/effects-without-transformers (он, конечно, тот ещё маркетолог, но тут идея здравая - и целиком спижжена из хаскелля, лол).
Про чистые вычисления незнаю что сказать. В твоем примере я обычно использую Option с локальной (изолированной) мутабельностью. Снаружи чистый интерфейс, конечно же.
Но думаю если сильно надо, то применять их проблем нет. Главное не строить основную логику приложения на них, типа ReaderT (StateT Ctx IO).
487 1398255
>>396902
Двачую вот этого.
488 1401829
>>259320 (OP)
Подскажите идею пет-проджекта, чтобы можно было прочувствовать преимущество использования Scala над Java.
489 1401918
>>401829
Компилятор какого-нибудь нескучного языка.
490 1404018
>>396684

>akka, catz, etc


>яйцеголовые парни из МФТИ или ИТМО


я конечно с мфти, но это было обидно

в целом заметил, что если так уж сильно хочешь писать на scala/haskell/closure/etc, то попробуй найти вакансию в европке. как бы это не было парадоксально, но разрабов не хватает.
491 1404107
>>404018
У меня нет разговорного английского. Да и кому нужен разработчик на scala/haskell/clojure/etc. если у меня нет коммерческого опыта разработки на этих языках?
492 1404260
>>404018
Госпаде, это зелёный из соседнего треда "мы вам перезвоним".
Он там постоянно жалуется, что 5 лет гребёт на джаве за 40к, какой он тупой, как ему тяжело, но искать другую работу он не хочет ведь туда возьмут только

>победителей всяких олимпиад и т.д. Мне туда путь заказан.


Просто игнорируйте его.
493 1404280
>>404260

>Он там постоянно жалуется, что 5 лет гребёт на джаве за 40к


В мухосранске 130к между прочим. Не могу осилить такие сложнейшие технологии как Play Framework и Akka. Имейте уважение. Я не тролль, все так и есть!
494 1404405
>>404107
Как раз на вакансии с этим стеком часто берут людей без коммерческого опыта конкретно на этих языках.

мимо
495 1404409
>>404107
скала не такая уж и частая, но на джуниор позицию вполне могут взять и с джава опытом. причем могут даже взять с ебеней а-ля индия. только это с большими фирмами работают, которые могут сделать доки и оплатить трансфер
496 1407644
>>259320 (OP)
сейчас на работке вкатываюсь в скалу для общего развития. подскажите, в ОП-посте дана ссылка на "лучшую книгу по скале", но она 1 издания, хотя уже давно есть 2 издание. оно хуже или что?
497 1407686
>>407644
тебя наебали, лучшая книга - https://www.artima.com/shop/programming_in_scala_3ed

потом (а можно и параллельно) нормальные люди читают вот это https://www.manning.com/books/functional-programming-in-scala
498 1407751
>>407686

>тебя наебали, лучшая книга - https://www.artima.com/shop/programming_in_scala_3ed


Лул. Удачи осилить этот кирпич. Лучше Scala for the Impatient ничего нет!
499 1407782
>>407644

>вкатываюсь в скалу


Не трать попусту время на всякую ерунду, которую и в Java можно накодить. Лучше удели внимание языкам, которые действительно этого заслуживают - Erlang/Elixir/Clojure/Rust. А Scala все равно толком нигде не используется и компании, которые однажды попытались на ней что-нибудь написать, сейчас рвут на себе волосы и в авральном режиме переписывают все на Java 11.
500 1407783
>>407782
Haskell/Idris/OCaml еще хороши. А Scala дерьмо, как не крути.
501 1407794
>>407782

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


эни пруфс?
502 1407796
>>407794
Возьми тот же Revolut - один из самых дорогих и быстрорастущих финтех стартапов. Они бросили Scala и переписывают все на Java 11 или Kotlin. Scala ничего не может предложить кроме как неказистого и тормозного тулинга, супермедленной компиляции и сомнительными архитектурными подходами в плане языка. Все, что нужно 99% разработчикам уже есть в Java 11 и Kotlin.
503 1407797
>>407796

>супермедленной компиляции


Просто купи лицензию гидры, че ты как лох-то?!

https://triplequote.com/hydra/pricing/
504 1407802
>>407797
И не забудь купить 16 ядерный AMD и минимум 32 ГБ оперативки!
505 1407810
>>407796

> Scala ничего не может предложить


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

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


подробности в студию
506 1407811
>>407810

> cats/scalaz


ненужная хуета

>акка/акка-стримс


как-будто мне делать нечего, как использовать тормозные помои, которые через раз работают, лол.
507 1407819
>>407811
толсто
508 1407823
>>407819
На Java есть супербыстрые библиотеки и фреймворки, которые обгоняют твои скакалковы поделия на несколько порядков. Ведь Скала только и знает, что гадит в хип и тормозит что есть мочи!
509 1407966
>>259320 (OP)
Что нынче используют в Scala для разработки REST сервисов? Через что ходят в базу? Как там Scala.js поживает? Уже можно пробовать или все еще сыро?
510 1408147
>>407966

>для разработки REST сервисов


akka-http (если хочется еще и стримы подключить)/play framework (если хочется все из коробки)/scalatra (видел пару раз в проде, обычно если небольшой сервис без нагрузки)

>Через что ходят в базу


scalikejdbc/doobie/slick

>Как там Scala.js поживает


хз, не видел нигде в проде. видел с экзотики видел только elm
511 1408473
>>408147

>scalatra


Какое-то школотронское поделие

>play framework


Ерунда какая-то. Какие-то темплейты а-ля JSP фигачить, лол. Сейчас 2019 год. Подобный подход, когда у тебя в проекте темплейты страниц на каком-нибудь JSP или Tapestry лежат был актуален в году эдак 2010.

>akka-http


Выглядит поинтереснее. Правда, у ни на сайте написано, что это довольно низкоуровневая библиотека и никак не полноценный фреймворк по типу Spring Boot, когда можно за пару минут собрать REST сервис, упаковать его в джар архив вместе с каким-нибудь Tomcat или Netty, который будет заниматься обработкой HTTP запросов.
512 1408633
>>259320 (OP)
Как так вышло, что SBT - неюзабельно говнище, в котором ни то что разобраться, пользоваться невозможно? Чем нынче собирают проекты на Scala? Gradle?
513 1408972
>>408473
play framework - он скорее похоже на django. работа с хттп (можешь хтмл, а можешь и просто rest), базой, конфигурации, етц - все уже настроено

akka-http - это не низкоуровневая библиотека. низкоуровневая netty к примеру
514 1409590
>>408473
Почему Twirl ерунда? Нормальный шаблонизатор. Просто сейчас в эпоху SPA и рестовых бэк-эндов, шаблонизаторы как таковы выглядят чутком архаично.
Ну, подключай play-json и вперед.

SpringMVC тоже как бы раньше работал с JSP на ура. И я еще помню времена спринга 3-го, когда надо было джэксон вью резолвер объявлять, и никаких @RestController аннотаций и в помине не было. Иначе дефолтная рендерилка через JSP.
515 1410030
>>408147

>scalikejdbc/doobie


В скале не зашквар юзать врапперы jdbc? К различной асинхронщене это можно без боли прикрутить?
516 1410072
>>410030
в jvm мире все работают через драйвер jdbc (если мы говорим о базах конечно), потому что интерфейсы jdbc - это часть стандартного java api. если что-то работает не через jdbc - это полностью отдельная история с одтельным api/доками/класами/етц (например, https://github.com/alaisi/postgres-async-driver)

мало кто из супортеров либ для скалы хочет заморачиваться с чем-то специфичным
517 1414748
>>259320 (OP)
https://doc.akka.io/docs/akka-http/current/client-side/request-level.html

Ебать я проорал в голосину с примеров кода. Scala версия раза в 2.5-3 больше чем для Java. Только выиграли, лол!
518 1414819
>>414748
Ты про то, что в Java примере забыли все импорты и половину функционала?
Да, я тоже заметил.
519 1414842
>>414819
Функционал там эквивалентный тому, что написан для Scala, только вот занимает он в 2 раза меньше места. Импорты - это хуйня. На это даже можно не обращать внимание.
15278849420890.jpg184 Кб, 1280x899
520 1414846
>>414842

>Импорты - это хуйня


>Функционал там эквивалентный


Попробуй тоньше.
521 1414848
>>414846
Пердоотсос скакалки неизбежен. Даже на офф сайте акки, примеры на джава выглядят лаконичнее и главное короче на порядок, лул.
15158004735790.jpg44 Кб, 549x604
522 1414851
>>414848
Зато скаловский скомпилируется.
Не знаю зачем я тебя кормлю.
523 1415093
>>414851
Ерунду же говоришь! Скакалка все равно ничего не может предложить. Это просто академический язык, на котором тренируются студенты Одерского. Даже недавний мажорный релиз ничего не привнес в язык. Так и останется игрушкой для студентов из EPFL, пока они не защитят свои PhD и не уйдут в коммерцию и перейдут на нормальные языки, как это сделал Малдер Феликс, Рунйар Брансон, Конрад КТОСО Малавски и многие другие.
524 1415300
>>415093

>Это просто академический


>просто


>академический


>просто


Дальше не читал.
525 1415639
>>415300
А ты почитай! Команда скакалки разваливается на глазах!
526 1417537
>>259320 (OP)
чёт листаю тред и не могу понять, скала на самом деле всё или же она всё, но только как джава?
527 1417781
>>417537
Работа есть только для синьёров 5лет+.
528 1417794
>>417781
а где собственно эти 5+ лет нарабатывать?
529 1417815
>>417794
Да чёрт его знает.
530 1417990
>>417537
ну в ДС и ДС2 проскакивают вакансии и для простых смертных, но народ говорит без жабы не просто.
531 1418728
>>417794
Уже нигде. Нужно было раньше вкатываться, когда компании нанимали скала джунов. Это было в начале 2000-х. Теперь всем нужны крепкие сениоры и тимлиды у которых минимум 5-7 лет опыта в Scala/Akka/Cats/Monix.
532 1420269
>>418728
Ты отстал от жизни. Где-то уже мелькала вакансия где требовался ZIO.
533 1423134
>>259320 (OP)
Реально ли вкатиться на Scala разработчика после Java? А если написать несколько пет-проектов и выложить их на гитхуб?
534 1424647
>>423134
Да, есть много вакансий, которые так и называются "Java to Scala developer". Плюс, если у тебя просто есть опыт программирования, то устроиться на другую работу будет легче, хоть на Хаскеле устраивайся.
Тред утонул или удален.
Это копия, сохраненная 30 июня 2019 года.

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

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