Это копия, сохраненная 30 июня 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Лучшая книга по Скале: 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
https://github.com/freechipsproject/chisel3/wiki/Short-Users-Guide-to-Chisel
>Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Вот лучшая книга на самом деле - https://www.amazon.com/Programming-Scala-Updated-2-12/dp/0981531687
>
>Ведь в твоем распоряжении Chisel - самый лучший HDL язык на основе Scala для разработки процессоров, видеокарт, майнеров криптовалют, машинного обучения и всего такого прочего
Не нужен, т.к. нет железа для тестирования.
>Не нужен, т.к. нет железа для тестирования.
На выходе - netlist на верилоге, легко загоняемый в любую FPGA - хочешь в Xilinx, хочешь в Altera.
>Ты стоимость железа видел?
https://ru.aliexpress.com/item/II-V-10-PCIe-PCIe-X8-fpga-fpga/32844162066.html
Слушай, ну это не серьезно. Куда прибыльней писать майнеры под всякие криптовалюты на китайских фпга с али.
Слушай, ну это просто плата для прототипирования. Т.е. реальный софт под ФПГА ты не будешь на нем запускать для продкшена.
Разнос чизела:
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.
Разнос чизела:
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.
Это охуенно.
1 абзац
>никогда не слышал кококо а вот тепер прочитал кококо
2 абзац
> Индустрия юзает плюсы, жабе в ней нет места никто не будет на ней писать, потому что все знают плюсы а жабу никто не знает
> Индустрия юзает жабу , скале в ней нет места никто не будет на ней писать, потому что все знают жабу а скалу никто не знает
> Вы находистесь здесь
3 абзац
> пока вы учите скалку, васян по букварю выучит жабу и бкдет зарабатывать 300кк/c
4 абзац
> ДИДЫ БАЙТЫ НА СЯХ ИБАЛИ, СЕГФОЛТЫ ЛАВИЛИ, КОД В ПРОЦЕДУРНУЮ ЛАПШУ ПРЕВРАЩАЛИ И ВЫ ДОЛЖНЫ КАК ДИДЫ. НИНУЖЕН ГЦ, УТЕЧКИ ПАМЯТИ ЭТО НОРМ КОКОКОКОКО
Так-так, а что если я захочу написать майнер на этом чизеле. Мне нужна будет тестовая плата с али, а когда захочу собрать готовый прибор для продакшена мне придется покупать какую-нибудь плату от интела, чтобы выжать все соки, если вы понимаете о чем я?
>Ну и майнеры писать под фпга, ну такое. Намного производительней будет Асикс.
Для не вкуривающих сообщаю - синтезабельный netlist (в данном случае - синтезабельный RTL Verilog-выхлоп) одинаково прекрасно "компилируется" что в прошивку FPGA что в ASIC-железо. Во втором случае ты отправляешь RTL-код на фабрику и там тебе его конпелируют/трассируют в железку с использованием тамошних библиотек стандартной cmos логики и высылают готовые кристаллы/корпусные изделия с ножками. Вся разница исключительно в стоимости - дорогая плата на топовых FPGA стоит макс полляма-лям дерева, в то время как партия кастомных кусков кремния обойдётся по цене примерно от стоимости нового X5 до стоимости нового роллс-ройса, в зависимости от техпроцесса/применяемого способа производства/количества функциональных елементов.
В любом случае FPGA - обязательный этап для прототипирования того, что ты впоследствии собираешься видеть в кремнии.
>а когда захочу собрать готовый прибор для продакшена мне придется покупать какую-нибудь плату от интела, чтобы выжать все соки, если вы понимаете о чем я?
То берешь свитера-махарайщикасхемотехника, умеющего в разводку плат и даешь ТЗ. Далее, герберы на фабрику китайцами и давай такой ими барыжить.
Ну и есть готовые pci-express платы не от китайцев.
Ну хууй знает. С этими вашими фэпэгэа нужно электротехнику, физику и математику на зубок знать. Лучше я круды буду на плэй фреймворке писать.
Ну и обязательно нужно прочесть вот эту книгу - 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 для того, чтобы понимать как писать код для верилог и проектировать такие платы.
Слушай, ну за такую цену он совсем не нужен. Как же тогда ребята всякие майнеры на асиксах клепают и продают в розницу за несколько штук баксов?
>Как же тогда ребята всякие майнеры на асиксах клепают и продают в розницу за несколько штук баксов?
Цена за партию, алё.
Битмейн за один асикс майнер просит штукарь
Нормально все, че ты начал, в самом то деле?! Берешь значит чизел и начинаешь писать код майнера под какой-нибудь криптокоин. Затем засылаешь сгенереный код в Гуанчжоу, а тебе в ответ прилетает готовая плата с кремнием, ееее!
Тред дохлый был, а тут хоть появилась ёба-хуитка чтобы на скалке майнеры кремниевые писать, хуле бы не попиздеть.
Тем более направление перспективное - уже во всех кругах речь про реконфигурируемые под задау фпга-подобные железки идет.
А старые свитерские инструменты пиздец какие битоблядские (одна только декларация входных-выводных сигналов, которое в традиционных HDL никак не абстрагируется и в листнинге кода его 4 экрана шин и проводов вниз проматывать чтобы до логики добраться, а потом ещё и не запутаться. :
Синтаксис использования модулей там тоже настолько пиздец, что его не на языке пишут, а в визуальной хуитке проводами соединяют, потому что на HDL-языке это выглядит как нечитаемый пиздец. Опять же в чизеле функциональное комбинирование и типизацию вороха входных сигналов завезли.
В FPGA ФП и асинхронность такие что процессорохолопам и не снились. Потому что здесь они настоящие, а race conditions вполне такие физические - электронами по проводам через транзисторы.
Это что же получается, чизел - это вин-вин? Такое-то ФП на Скале!
Все так. Lombok - для того, чтобы не плодить геттеры, сеттеры и т.д. Лямбды есть, передавать лямбды в виде параметров методов можно. Стримы есть. Всякие Акка и Плэй фреймворк доступны из Java с Java API. Скала не нужна по своей сути. Это было бы актуально если бы развитие Java остановилось на Java 5. Но Java уже догнала по фичам скалу. Если хочется немного сахарка, то лучше взять Kotlin вместо скалы, т.к. ее разрабатывает крупнейщая компания по разработке инструментов для разработчиков. А Scala разрабатывает полтора человека из EPFL. Петрашко ушел в Страйп. Феликс Малдер ушел в Кларну. Прокопец тоже уже не работает над Скалой. Там остался Мартин и человека 3 вроде, кто активно контрибюьтит в дотти.
Лучше бы кто-нибудь GNU Electric до вменяемого состояния допилил, он уже на джаве.
Чтобы там нормальный ux был с масштабирующимися шрифтами, что бы конпеляторы ели любой синтезабельный код.
Только собрался вкатываться в Скалу. Какое-то проклятье, сука, как что-то выбираю - оно сразу подыхает. Пиздец просто какой-то.
Scala не развивается и ее разрабатывает 3 человека, лул.
Бля а я только вкатился. Хуй знает, в кой то веки кодинг доставляет, Яву с ее говном не хочется.
Что учить то. Заебала эта хуйня. Что там в трендах и чтобы интересно было?
Ну так и правда не взлетает же. Пока вакансии есть но будут ли через 2 года хз.
Впрочем, к тому времени все равно новое говно учить. Эх.
По крайней мере скала интересная и увлекает кодинг, может хоть прокачаюсь.
> По крайней мере скала интересная и увлекает кодинг, может хоть прокачаюсь.
А ведь Scala неплохо подходит для обучения программированию. В ней представлены все основные парадигмы, для наглядности REPL имеется, unit-тесты, систему сборки проекта можно пощупать, да еще и синтаксис не такой перегруженный, как в Java. Не врет Одерски, когда говорит, что Scala - это scalable language.
Достаточно открыть код стандартной библиотеки Скала, чтобы понять на сколько он читабельный.
>будут ли через 2 года
Будут.
>Впрочем, к тому времени все равно новое говно учить.
Да, это так.
>По крайней мере скала интересная и увлекает кодинг, может хоть прокачаюсь.
Да, это так.
>>261162
После scheme вполне можно скалу брать, согласен.
>>261173
>Достаточно открыть код стандартной библиотеки {{любой-язык-нейм}}, чтобы понять на сколько он читабельный.
Починил.
>никто не заставляет писать именно так
Скорее никто не заставляет не писать так.
Макаки любой инструмент извратят.
1) Хуячат свои иерархии абстракт классов;
2) Геттеры и сеттеры (тру стори);
3) DI на Guice;
3) Джавовые веб-фреймворки и json-сериализация на аннотациях.
Пиздец, короче.
Дай им послушать Брайана Гойца (архитектора джавы), он в нескольких видяхах называл макаками тех, кто хуярит геттеры и сеттеры в каждый класс. Хотя скорее всего им уже ничего не поможет.
>геттеры и сеттеры
Никогда не понимал, нахуя они нужны полю, если не предполагается никакой пре или пост процессинг перед взаимодействием с этим полем.
Трудно сказать, но похоже, ты дурачок, да. Ведь OpenJDK и Oracle JDK не одно и то же.
Проблема скалы в том, что у нее нет ровным счетом никаких преимуществ перед Java. Простой синтаксис, гигантский пул разработчиков, 100500 библиотек и фреймворков на все случаи жизни - все это не про скалу.
ну я же писал, что для того, чтобы писать железки на скале нужно знать физику, математику и электротехнику.
иначе не железка получится, а фигня.
За физику - тебя конпелятор по рукам отпиздит.
Математику - на уровне булевой алгебры.
Электротехнику - оставить вот тому свитеру который плату с плисиной разводит, под которую я такой попивая смузи пишу.
Ухх, бля. Уже скачал книжку от Интела FPGAs for dummies. Нужно придумать идею проджекта, оуеее!
Мне вот интересно, а на сколько применим FPGA в задаче распознавания образов? Скажем, собрать аналог findface и на железках обрабатывать процент совпадения по фоткам. Интересно как findface устроен изнутри. Если он ищет по профилям в социальных сетях (VK вроде), то наверное они краулером таскали фотки из альбомов и уж точно не хранят у себя на серверах "сырые" изображения. Т.е. если за эталон принимается к примеру фотка с аватарки (хотя это наверное тухлый подход, т.к. там может быть какая-нибудь нерелевантная фигня и лучше брать данные из профиля такие как возраст, имя, фамилия, пол и уже искать в альбомах подходящие лица) и дальше искать совпадения и наращивать возможные "отпечатки" конкретного человека.
Нейросеть? Deep learning? Как здесь применима технология FPGA? Разве что только в реалтайме сигнал с камер обрабатывать и матчить по "базе", хм...
Офигенно применим, стоит только погуглить FPGA neural networks, там всё написано. Боюсь сморозить глупость канеш, но походу FPGA намного эффективнее, чем GPU для нейронок, т.к является более узкоспециализированным чипом. (при этом GPU дешевле из-за массовости производства и всё равно все свои нейронки будут учить на них)
>>259320 (OP)
Двач, у меня более приземлённый и более практический вопрос.
Кто-нибудь разрабатывает на скале с докером?
Сделал 2 докерфайла:
один типо продакшен, мультистейдж билд, билдит проект через sbt assembly, копирует на чистенький jre контейнер и запускает -- всё волшебно;
а вот второй, второй докерфайл для девелопмента, с ним что-то не идёт. Примаунтил папку с кодом, запускаю через sbt ~run. Код после каждого изменения билдится тааак долго, что ни о какой разработке даже и думать не приходится. Комп очень сильный, без докера код билдится долго, но терпимо, никаких ограничений на цпу/рам на контейнере не висит. В чём проблема то?
Окей, я нашёл косяк, вопрос снимается, всем спасибо. У меня апликейшен коннектился к брокеру сообщений и ждал привета, т.е то что я принимал за долгий билд было на самом деле нормальной работой программы.
Скорость разработки-то попизже чем униформность. Stage и тест-сборки уже в докер, дев — нахуй
третий мимо
Посмотрим, как ты закукарекаешь, когда в докере вылезет какая-нибудь бага, не проявляющаяся на твоей пекарне.
Вам же, дурачкам, непонятно, что докер был создан для решения проблемы "works on my machine". Нет, блядь, не хочу нормально делать, хочу полдюжины разных окружений, чтобы с багами в покемоны играть, catch em all блядь.
>Stage и тест-сборки уже в докер
Ну и проявится она на stage/test, эти среды и нужны для того чтобы баги ловить. И тогда уже я буду разбираться с интеграцией проект+докер.
>>263352
>>263739
Я на пет-прожекте стараюсь придерживаться ныне модной микросервисной архитектуры, поэтому у меня дофига небольших аппликух, которые генерируют ивенты и складывают в кафку, т.е для того, чтобы протестить мою обработку данных мне нужно запустить 5 контейнеров где-то (запускаю через докер-компоуз), каким боком это будет удобнее делать без докера я даже представить не могу, будет какой-нибудь костыльный баш скрыпт, при этом непонятно куда складывать переменные среды (да, у меня всё конфигурируется через них). Допускаю что я где-то чё-то делаю не так, но на текущий момент мне кажется проще разобраться с докером нормально, чем свой велосипед писать.
Про скорость: раньше я на питоне с докером писал, никаких отличий в скорости разработки не было вообще, нужно только сначала потратить время, чтобы настроить окружение нормально (временные затраты относительно небольшие), а потом всё абсолютно также по скорости хотя в питоне всё немного по-другому и тогда техлид помогал с этим всем дерьмом, а сейчас я 1на1 с докером, но, как другие аноны справедливо заметили, работает у меня = работает везде.
И быстрый вопрос: у меня внутри аппликухи бесконечный цикл, который ждёт сообщения от брокера, поэтому sbt ~run не может обновлять код на лету, он ждёт пока приложение закончит работу, но не может дождаться. Насколько я помню, веб-фреймворки типа Play или scalatra умеют делать hot swap (рекомпиляцию кода, не дожидаясь завершения приложения, т.к веб прилаги тоже работают в бесконечном цикле ожидая реквесты), как можно повторить такую функциональность, это какая-то фишка сбт, или нужно как-то цикл в основном коде прерывать время от времени?
>>263153 анон
Вот за это не люблю скалу все языки кроме лиспообразных, потому что у них изначально модель выполнения не рассчитана на лайв апдейты, а все эти костыли с хотсваппингом в жвм именно что костыли и очень ограничены - лучше, чем save-compile-run, но ненамного
Попробовал sbt-resolver, что-то через раз он у меня резолвит, возможно это связано с тем, что idea на диск сохраняет как-то по хитрому, не знаю.
>>264253
>>263739
Я разобрался, так что чтобы обелить репутацию скалы и сбт скажу что я маунтил в докер только код, но нужно обязательно маунтить ещё библиотеки (/home/user/.ivy2) иначе sbt завёрнутый в докер будет их качать. Для "продакшен" контейнера использую sbt-assembly, который генерит жирный jar, все зависимости сразу внутри оказываются, а для дева я этот момент прощёлкал, отсюда и сверх долгое время на перезагрузку контейнера. Сейчас убрал sbt-resolver, запускаю код в контейнере через обычный sbt run (даже без ~), когда обновил код делаю docker-compose <container_name> restart. Работает идеально, время запуска нового кода секунд 10-15 (без докера примерно столько же).
Так это, какой проект первым выбрать для FPGA? Книжку FPGAs for dummies от Intel я уже скачал.
>Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun
Почему для слоупоков? И алсо там только функциональная часть языка?
Нормальный курс. Мне пришелся по нраву. В нем где-то 2/3 материала - вводная инфа по функциональной части, остальная треть - коротко о Scala вообще. Функциональщина, как я понял, раскрывается во втором курсе специализации, но его я только начал смотреть.
Это в каких? Даже в гопараше уже просела, а в расте и не было никогда такого.
Интерпретируюмую скриптопарашу оставь себе.
Это вообще дефолтное правило, в нормальных mooc'ах преподы стараются говорить медленно, чтобы даже до додиков дошло
А мне норм. Сидишь себе с чашечкой кофе и пледиком, а Мартин тебе неторопливо сказку рассказывает.
Замечательно смотрится: перед тобой слайд, Мартин тебе объясняет тонкости, если что-то не понятно - карандаш и бумага под рукой.
Пришел с работы домой и три часа думал как сделать цепочку опшенов с флатмеппом на моей модели где сущностей хуй да нихуя.
Еле удебил тимлида дать мне написать мимо-хеувину на скале, но уже не завидую тому, кому после меня в этом придется разбираться у нас все на жабе пишут
Тому що непривычно, через пару недель пройдет.
Не смог в флатмапы, обосрался даже с сахарком, не нашёл теорем, про которые целая глава была в красной книге, потом обмазался имплиситами по самую лямбду и удивился когда всё пошло по пизде.
Похоже на бред шизика, нахуя ты это принёс?
Тогда срочно выкидывайте 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? Может уже подсмотрите, как правильно делать, чтобы не перехуячивать всю кодобазу по два раза за год?
> https://eta-lang.org/ - it also runs on jvm ;)
Почему у меня на этом сайте не отображается курсор мыши? Это что, у ЖС-пидоров сейчас так модно верстать, мол, управляйся одной клавой, мудак?
Расскажи мне, как через интернет можно узнать, что на сайт зашёл долбоёб?
Я не сказал хуйню, а прочитал хуйню.
Щас отдохнул, подумал и решил.
Нахуя я вообще читал этот высер душевнобольного?
>слабо оправдываетесь
Ты просто неправильно начал.
После "r/haskell" тебя всерьёз никто не воспринимает.
Чернота, некоторые тянки, другое отребье примерно так и общаются.
Особенно в мессенджерах всяких. Хуй поймёшь что оно высрало вообще, то ли это вопрос, то ли утверждение.
Я ПРОЧИТАЛ КНИЖКУ "ВЫУЧИ ДЖАВА ЗА 21 ДЕНЬ", ТАМ НАПИСАНО ЧТО НАДО ВСЕГДА ДЕЛАТЬ ГЕТТЕРЫ И СЕТТЕРЫ, И ВООБЩЕ ТЫ ЧО, САМЫЙ УМНЫЙ ЧТОЛЕ? ВСЕ ДЕЛАЮТ И ТЫ ДЕЛАЙ
>всегда мечтал писать врапперы для каждой джавалибы
Тащемто достаточно кодогенератор сделать.
Он там straightforward. Для меня даже некоторым удивлением было, что до сих пор врапперы руками пишут. Может быть просто ресурсов не хватает, или не в приоритете. Эту два человека запизденили примерно за год. Ну да, нет кодогенератора для импорта джава-классов, надо руками писать. Но на минуточку, может у них поважнее задачи были и они просто забили на кодогенератор? Хотя, если для тебя это mmission impossable, значит твой удел - клепать какое-нибудь говно на спринге. В конце концов люди делятся на тех, кто умеет программировать, и именно они создают новые фреймворки, библиотеки и языки программирования, и на говношлёпов, которые максимум что могут - это изучить по видеокурсам какое-нибудь менстрим-говно и повторить туториалы первых.
>>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% лежат десятки человеко-лет. Именно поэтому запиздячить язык, который подходит для задач тех кто его пилит можно вдвоем за год, а универсальным он не будет никогда. А может и будет - желаю эте всего наилучшего - это на самом деле очень интересный проект.
>В конце концов люди делятся на тех, кто умеет программировать, и именно они создают новые фреймворки, библиотеки и языки программирования
В контексте разговора это буквально значит следующее: если тебе не нравится язык, сделай тот что тебе по душе. О том что это десятки лет работы (даже если программист способен сделать язык), ты почему-то забываешь упомянуть. А те что является например специалистами по базам данных или распределенным системам - вообще говношлепы.
>>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% лежат десятки человеко-лет. Именно поэтому запиздячить язык, который подходит для задач тех кто его пилит можно вдвоем за год, а универсальным он не будет никогда. А может и будет - желаю эте всего наилучшего - это на самом деле очень интересный проект.
>В конце концов люди делятся на тех, кто умеет программировать, и именно они создают новые фреймворки, библиотеки и языки программирования
В контексте разговора это буквально значит следующее: если тебе не нравится язык, сделай тот что тебе по душе. О том что это десятки лет работы (даже если программист способен сделать язык), ты почему-то забываешь упомянуть. А те что является например специалистами по базам данных или распределенным системам - вообще говношлепы.
Ты не шаришь.
Хочу себе функциональщину, но боюсь что если на языке есть всякая хуйня типо циклов или мутабельных переменных, то ими обязательно будут пользоваться и толку.
Кажись из тебя выйдет заебатый рп.
Напиши вопрос, который бы задал джуну по скале. Лучше несколько.
спроси в конфе по скале @hcdevs
Буду любить всем сердцем.
Приведи примеры недостатков выражения тайпклассов через имплицитные параметры
Мимо-джаваджун впервые решил попровать скала после хацкеля и джавы офк. Пока нравится
Заменяйте пожалуйста, я же не против
FYI, в этом вашем епаме довольно много скалы
Расскажите про стэк, плз. Я представляю, что это play + scala.js + какой-нибудь js-фреймворк (в них вообще не шарю). Вакансии вообще есть?
>scala.js + какой-нибудь js-фреймворк
Когда я последний раз ковырял scala.js подводный камень был в этом спаривании ежа с ужом. Нормально настроить процесс сборки - абсолютный пиздец.
Я бы для твоих задач четко разделял проект на 2 - фронт и бэк. Play темплейты, разумеется, нахуй. Я например, юзаю play как бэкенд с рестом/ws наружу и ангуляр с тайпскриптом на фронте. Все супер, брат жив. Ты, в свою очередь, можешь выбрать тот бэк и фронт, который тебе нравится.
Инструмент для задачи, ну ты понял
Akka, Slick, Circe
Охуенный стак. А я думал, что скалу реально юзают лишь как Java+
Как не проебаться с проектом в которой будут писать на той же жабе но с варами? Какие есть плохие/хорошие метки в плане стека?
Не трудно. Я вкатывался вообще без jvm и fp опыта. Только потом упоролся по хашкелю и монадам.
базворды хорошего стека: monix, cats, doobie, http4s.
Слышал что в райфе и в тиньке хорошая скала.
Спасибо, анон.
Это инстаграм или одноклассники или что?
Если ты про JDBC -- то оно вообще во всем JVM блокирующее. Такой драйвер, хули.
Иначе яннп про блокирующее сетевое IO. Подставляй любую дырку и погнали.
Как её найти и на какую з/п можно рассчитывать? Английский нормальный, переписку вести могу, но произношение пиздец.
скалайк хоть и хуев, как тысяча хуев, но побыстрее / посейфовее дуби будет. Ебучее перекладывание туплов.
Потому что автор scalaz - ебанашка, в том, что он пишет, больше маркетинга чем технических аргументов. Уже одного этого достаточно чтобы не использовать эту хуйню.
Я буду рад почитать какое-нибудь обсуждение/статью по этой теме. Можешь скинуть что-нибудь?
мимофункциональщик-хочу-вкатиться-в-скалу
Можешь например погуглить на реддите обсуждение бенчмарка, где scalaz IO уделал по производительности monix/futures - когда по факту его функционал был меньше и всё сравнение некорректно.
Как я понял, это мини-фреймворк для микросервисов/апи? Можно на нем полноценный монолит захуярить, с шаблонизатором, орм, миграциями и всем таким без пердолинга, или мне за этим в плей?
Раньше только на аспнет и ноджс писал немного
> орм
За этим в джаву.
Монолит можно на чем угодно захуярить, но, мне кажется, плей лучше, потому что там есть conventions (например, все роуты описываются в файле routes, все делается через di и зависимости биндятся в модулях), за счет которых потом легче поддерживать код.
Но вообще, если ты хочешь писать монолитное веб-приложение, задумайся, туда ли ты вкатываешься.
Ребят ответьте пожалуйста на несколько вопросов. Сам я джаваскрипт разработчик и планирую изучить Скала. Кроме жс ничего не знаю. НУ разве что джава кор в теории. Ну так вот
1. Имеет ли смысл жс разработчику изучать Скала?
2. Стоит ли для начала подтянуть Джаву? Или для Скала разработчика не подразумевается автоматом знание Джавы?
3. На какую работу можно рассчитывать со знанием Скала? И как сильно отличаются у скалистов зарплаты в сравнении с другими отраслями и Джавой в частности?
reader monad?
Нигде не могу найти ни информации сжато, ни роадмапа, ни учебника. Везде описываются какие-то базовые вещи уровня ООП, монады врайтер и имплиситов. А открываешь любой проект на гитхабе - и там куча вещей типа тэглесс финалов, DSL, и вообще просто непонятного непросвещенному уму.
С чего углубляться, короче?
в фп скалу вкатываться надо с хашкеля. Правда есть шанс, что вкатываться в скалу перезахочется.
К хачкелю тогда тот же вопрос.
как же хорошо сказал
Для общего развития бекендеру заходят книжки типа domain driven design, clean architecture, но они к Scala не привязаны.
Однако, тот же tagless final прямо отлично ложится на принципы CA.
Мне кажется у фронтендеров в целом выше зэпэ и гораздо больше жырных удаленок, чем на скале. Олсо посмотри в сторону scala.js.
>>260021
Как думаете, скоро на скалку такое же завезут?
https://github.com/tommythorn/Reduceron
А для всяких фулстакеров скала не принесет пользы? Или проще не выебываться и брать питон или ноду оставив скала энтерпрайзерам?
Не встречал таких вакашек.
если все объекты в immutable то засовывая лист в функцию мы получим (допустим) новый лист
в джаве вообще не рекомендуется создавать лишние объекты а тут прям на тебе
как скала борится с этим оверхедом (если борется) я просто подумал мб там гарбаж коллектор какой особенный?
> Что вообще изучить вкатчику, чтобы вкурить в БЕСТ ПРАКТИКИ
> tagless final
> БЕСТ практики
Прикалываешься? На практике нормальные люди не моделируют логирование с помощью монады, не собирают всю программу в одну ио-монаду, бросают эксепшены для unrecoverable errors. Ты монадный трансформер будешь раз в полгода использовать.
> А открываешь любой проект на гитхабе - и там куча вещей типа тэглесс финалов, DSL, и вообще просто непонятного непросвещенному уму.
Ты имеешь в виду библиотеки? Ну это потому что есть разница между application developers и library developers. Когда ты пилишь либу, твоя цель - предоставить как можно более удобный api, а насколько она будет хитровыебанная внутри - неважно. К тому же идеальная либа - это либа в fp-стиле, которая не производит сайд эффектов в неожиданных местах и не бросает эксепшенов. Соответственно, в либах использование pure-fp-концепций оправдано.
Когда ты пишешь приложение для конечного пользователя, тебе важно, как оно работает и насколько просто поддерживать твой код. В данном случае pure fp - это не есть хорошо. Мутабельное состояние лучше моделировать через var, а не через стейт-монаду какую-нибудь. Представь, что у тебя какая-то система, состоящая из микросервисов. Микросервис - это по сути своей объект с внутренним состоянием. Какое тут может быть pure fp?
БЕСТ ПРАКТИКА всегда одна, описана здесь.
http://okmij.org/ftp/tagless-final/course/lecture.pdf
implicit class FunctorOps, например. Я понимаю для чего это, просто хочется узнать от какого слова это сокращение.
operations, я думаю
Палю треду неплохую статью со введением во фримонатки и тф, кому в лом читать научные статьи
https://softwaremill.com/free-tagless-compared-how-not-to-commit-to-monad-too-early/
я не ебу про вашу скалу, но почему вместо ява-кода на первой картинке какая-то хуйня от уебка, который даже "здравствуй, мир" не писал?
Начавший программирование с java 8 - это ты?
Энивей orders.stream().map(Order::getProducts).flatMap(Collection::stream).collect(toList());
Выглядит куда более громоздко
это скорее негласное соглашение, когда дополнительные неявные методы не хотят добавлять в базовый класс, но которые делают работу с классом намного удобней. в стандартной библиотеке есть StringOps к примеру
там еще даже не использовали diamond operator, который в 7 жаве появился
>тебе важно, как оно работает и насколько просто поддерживать твой код. В данном случае pure fp - это не есть хорошо.
Чет не догнал как второе утверждение вытекает из первого.
Код с варами легче поддерживать? По-моему, все наоборот.
на норм. всяко лучше чем было
var products = orders.stream()
__________.flatMap(o -> o.getProducts().stream())
__________.collect(Collectors.toList());
Тоже самое. Переносы я использовать умею. Но синтаксис с method reference мне просто нравится больше.
А ну ка поясните, почему скала не взлетела?
В жабе уже давно есть все, что в скале. А если хочешь не ставить точку с запятой в конце - придумали котлин. Неужели еще существуют люди, которые любят тратить время на мертвый язык?
>>309649
>>309650
Он прав. Скала по большей части держится за счет спарка и бигдаты.
В остальном слишком сложный и запутанный язык, стремительно уходящий в академическое нечто для любителей илитного фп кода.
Тогда как любому бизнесу нужно в первую очередь решать задачу наименьшими средстами - читай, понятный и эффективный язык, код которого легко поддерживать и дорабатывать и на которой легко найти людей. И этот язык не скала с ее имплиситами и 15 вариантами написания одного и того же, лол.
В жабе уже давно есть все, что в скале
@
Нету этого, этого и того (то есть вообще ничего нету)
@
РЯЯЯ НУЖДЫ БИЗНОСА Я СКАЗАЛ
А сейчас ты мне покажешь где я говорил что в яве уже есть все из скалы.
Но топ 1 фича скалы была в лямбдах, из за которой работать с RDD в том же спарке было гораздо удобнее, чем в яве.
Сейчас еще и выведение забрали. Осталось в скале то что не слишком то решает и является предметом интереса полутора задротов, и то в основном ради ощущения илитности.
Он все верно написал. Достаточно посмотреть на компании, которые "обожглись" при выборе Scala - 2GIS, Tinkoff, Revolut, Sberbank. Они так или иначе начинали разработку на Scala, но в один прекрасный момент поняли, что взять последнюю версию Java или новомодный Kotlin и не придется искать дорогих Scala разработчиков по полгода, а разрабатывать можно также быстро как и на Scala. В Kotlin завезли корутины, а в Java появился вывод типов. Ну и в качестве вишенки на торте - в следующем релизе Java подвезут Project Loom, который решит проблемы разработки многопоточных приложений под JVM.
А всякие Спарки и Акки можно и из Java дергать.
Таким как он нужны коты и прочее говно чтобы быть не такими как все.
А по факту даже у кафки, которая была писана на скале, апи явовское, лал.
В жабе уже давно есть все, что в скале
@
Нету этого, этого и того (то есть вообще ничего нету)
@
РЯЯЯ ВСЬО ПРАВИЛЬНО БИЗНОС ОБЖОГСЯ Я СКОЗАЛ
>>309723
>коты
>не такими как все
В голосину.
Погугли хоть чуточку, прежде чем в треде толстить.
Коты это такой же "хипстерский" инструмент как ворд или эксель. Удивить кого-то страшными монадами(с) у тебя получится только залётных из /b/, а Cats и вовсе сводят их использование до уровня копипаста.
Знакомый скалафанатик фапал на них, а мне хватило что Твиттер и линекд дропнули скалу спустя пару лет.
>скалафанатик фапал на них
Шизик, чё с него взять.
>Твиттер
И снова ты серишь не снимая штанов.
У меня есть предложение, давай ты отдохнёшь, подготовишься получше, отмоешься от говна, а через пару недель вернёшься в тред и попробуешь заново?
https://www.quora.com/Is-Twitter-getting-rid-of-Scala
Meh, первый ответ по ссылке - нет ресурсов переписывать - ошибся, сейчас бы по каждому мертвому языку все помнить, так ты сразу подключил свою быдло-риторику. Один хер практика показывает, что шкала нинужна. И кстати пруфает пост выше что лямбда были мейн фичей по сравнению с явой и на то время ее и правда называли второй джавой.
Вот, молодец уже начал гуглить, развиваешься.
Академический язык, даже само нахождение в треде уже начало на тебя влиять.
>академический язык
Каргокультист, плиз.
Как там сбт кстати, быстро компилирует? IDE уже завезли или все так же плагинчиками балуешься?
Можешь не отвечать.
Чухан пользуется мавеном или штанами, посмотрите на эту академическую скала гордость!
Ну я норм получаю на ноде. Но я бы и норм получал на скале :3 просто на скале кодить попроиятнее лично. Смотри чо по кайфу, это правда важнее.
штанцы заебись же
>Tinkoff
Блять, ну ты хоть инфу проверяй, в тинькове как минимум все API (это не считая спарков) на tagless final, котах и мониксах. Разрабы активно набираются, все довольны.
> Revolut
Регулярно хантит скалистов и java to scala.
Я молчу, сколько мне западных рекрутеров в линкеде ломится с вакансиями. Короче, в этом треде одни пиздуны, но я забыл, кажется, где нахожусь.
>Я молчу, сколько мне западных рекрутеров в линкеде ломится с вакансиями.
Как ты этого добился? У тебя много конекшнов? Работал в конторах на слуху?
Если не секрет, какое соотношение ремут/онсайт среди предложений?
>Если не секрет, какое соотношение ремут/онсайт среди предложений?
Не читал, и не помню даже, упоминали ли это, пока всё равно не собираюсь уходить и просто сразу пишу вежливые письма с отказами. Мне кажется, ремоут достаточно часто предлагают.
> У тебя много конекшнов?
Ну, добавил всех, кого знал с универа и тп (человек 30 сначала) поставил место работы и скромный список технологий, даже на фотку пока забил, рекрутеры ежедневно ломятся (не все, правда, пишут).
> Работал в конторах на слуху?
В России на слуху, в остальном мире - хз.
Спасибо за инпут, анончик.
>сколько мне западных рекрутеров в линкеде ломится с вакансиями
Это ни о чем не говорит.
Они пишут сотням людей кто более-менее подходит. Дальше тебя могут просто проигнорить, затопить на собеседовании, послать нахуй поняв что ты не имеешь американского/европейского гражданства.
Постоянно хантят русскоязычных скалистов для релокации в Гермашку, Финку и Приебалтику. Ты опять не в курсе просто.
другой анонас
Это не так. Все приведенные мной выше компании обожглись с использованием Scala и в спешном порядке переписывают все свои сервисы на Java 11/Kotlin. Scala не дает абсолютно никакого преимущества перед Java 11 или Kotlin. Pattern matching? Case classes? Первый не нужен - это доказали ребята из команды Kotlin и лично Бреслав, а второе реализовано в виде Lombok или data классов Kotlin.
Стоит ли говорить, что производительность конечного кода в несколько раз выше на Java/Kotlin чем на Scala.
Это я не говорю о тормозном плагине для IDEA, который с трудом пережевывает Scala код и хоть как-то пытается помочь разработчику в написании кода. Ну и тормозной компилятор и абсолютно дикий SBT, который даже в подметки не годится по сравнению c Gradle.
> Все приведенные мной выше компании обожглись с использованием Scala и в спешном порядке переписывают все свои сервисы на Java 11/Kotlin
Именно поэтому тинкофф анонсировал бесплатный курс по скале и в интро говорит что "надеемся вы станете профи, мы вас ждем".
Ага.
>Первый не нужен
НЕТ И НИНУЖНО! У вас, жаваманек, и опшн был НИНУЖЕН, и анонимные функции НИНУЖНЫ, а как реализовали - первые побежали хвалиться какой язык пиздатый.
Настолько нинужен, что в C#8 вводят его, полностью скопировав синтаксис скалы. Жиротроллю с /pr/ виднее, конечно, чем майкам, спору нет...
>ормозном плагине для IDEA
Глючить может - да, но тормозной? Ты запускаешь на машине с 4 гигами оперативы?
Ну ты же сейчас можешь сравнить Scala и Java 11, верно? Нет никаких причин использовать Scala, когда в Java уже появились все киллер фичи Scala.
Киллерфичи это TF и прочие функциональные паттерны, а не столько синтаксис
Что дженерики?
Как мне в джавке или в котлине указать тайп параметр, который принимает тайп параметр, который принимает параметр?
M[_[_]] ?
Ну послушай, кому нужны твои параметры через параметры? Бизнесу нужно чтобы ты REST контроллер смог налабать на спринг буте. Накидал сервис, который в базу будет ходить, ну и какую-никакую валидацию данных.
"Хантят" не только скалистов.
Я бы назвал это "зазыванием", то есть тебе просто пишут что есть такая компания. Все песни про то что твой профиль привлек внимание, что мол мы ищем именно тебя и тд и тп - это всем так пишут, но берут 1-2 из десяток, а то и сотен кандидатов.
Эко ты его затралил)) Он же сейчас вены себе режет небось)
> Бизнесу нужно чтобы ты REST контроллер смог налабать на спринг буте. Накидал сервис, который в базу будет ходить, ну и какую-никакую валидацию данных.
Твой уровень понятен, короче. Иди дальше сайтики клепай. Сайт обязательно заработает, только нужно написать AbstractSingletonProxyFactoryBean и пофиксить все NullPointerException'ы.
мимо-другой-анон
Пидора ответ.
>>310954
Несмотря на действительную неидеальность скала-плагина и легкую постоянную ебанутость sbt, ты откровенно толстишь.
>>311052
То есть ты не понимаешь, что все эти tagless final'ы это не задротам было нечего делать, а как раз попытки создать более гибкие, расширяемые и удобные способы описывать часто очень сложную бизнес логику (для этого самого серьезного бизнеса с заказчиками), чем, как анон >>311648 мягко напомнил, принято обычно накидывать в условной жавке.
Постой. Мы говорим о крепком специалисте с 5 годами опыта в Java разработке. Какие еще тэглесс файнал? Набросал рест контроллер, с хайбернейтом поколдовал и порядок!
У underscore нет ничего, а гугл выдаёт книги, которым лет 5.
Пока остановился на Akka in Action, вроде 17ый год, но там 400 страниц.
По акке нет хороших книг, зато есть хорошая документация, её и читай, можешь хоть подряд.
А какой смысл в Акке если команда, которая ее пилит распадается на глазах? Совсем недавно из команды ушел ведущий разработчик Конрад КТОСО Малавски!
книга старая, если её читать, то постоянно догоняться документацией.
Можно ещё вот это: https://www.amazon.com/Reactive-Messaging-Patterns-Actor-Model-ebook/dp/B011S8YC5G
Но вообще акка гавно, лучше фпшечку кури.
Хочу научиться мобильной разработке, но раздражает синтаксис джавы, все эти многострочные скобочки и прочее.
На скале можно заниматься моб. разработкой?
У нас в компании переводят мобильные приложения на Kotlin. Он определенно для мобильных приложений больше подходит. Не могу сказать за Scala, но предполагаю, что это геморрой.
Те проблемы что ты описал нормально решаются с помощью его помощью. Другое дело, что ты можешь посмотреть в сторону процессинга аннотаций в Java. Достаточно большую часть проблем с многословностью в Java можно решить так.
хз, на скале больно наверное под ведро писать.
но там eta-lang обещают, мб получится что-нибудь
Да особо никак. Команда, которая пилит Scala 3 (Dotty) разваливается на глазах (Петрашко, Малдер, еще пара челов). Там скоро один Мартин будет колбасить. В продакшене использует полторы конторы и в основном в виде языка к Spark.
Есть всякие извращенцы, которые пытаются использовать всю "мощь" ФП - всякие cats, scalaz и т.д., но рынку нужно, чтобы ты смог ловко накидать рест контроллер на спринге и правильно обработать запрос. А всякие фп со скалами не нужны.
Заебись, если воскреснет позовёшь, я в джватреде буду.
Авторитетное мнение явадебила.
Нахуй вам высокая всотребованность, чем меньше спецов тем больше зп.
Не знаю, у нас на проекте тимлид просто добавлял synchronized к методу и дело с концом!
Мб он официально и не в акка-тим, но активности но аккой он занимается, это видно.
>первый пик
C++:
auto products(orders.begin(), orders.end());
ну да, ну да, не декомпилится :-(
Последний год (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
Хм, а ведь с нашего потока некоторые как раз по направлению OpenCV и укатились. А я пролыбонил.
А разве гребцы отдыхают?
Ну т.е для чего он? Вот яваскрипт для сайтов, а скала?
Я просто в этом вообще не разбираюсь.
А скала для бэкенда сайтов, как вариант. Да и для фронтенда можно юзать, есть компилятор в JS и врапперы JS-библиотек в webjar. Цодингтимовцы вон игру браузерную на скалке пилят.
Частичное переписывание всякого энтерпрайзного жаболегаси на чём-то более моднявом, да чтобы оно при этом было совместимо с непереписанным жаболегаси.
Тот анон >>324400 тралит, но доля правды в этом есть: большинство вакансий - это биг дата и спарк. Помимо биг даты скалу используют для всяких сложных распределенных систем (посмотри акку например). Для хуйни скалу не используют, потому что скалистам надо платить много денег, проще нанять джавистов или, если совсем низкое качество устроит, пхпшников каких-нибудь.
Что за ".T"?
Подкиньте ссылок с туториалами, пожалуйста
По другим языкам постоянно вижу "пишем чат на жаве, бота на питоне, нейронку на cpp, игру на c# " и так далее
Накидайте гайдов, плс
суть в том, что по запросу "scala tutorial" он выдает только видеоуроки по основам языка и текстовые учебники.
Не работу над какими-то проектами типа того же чятика
ну очевидно же, что если анон просит подкинуть ему "туториалов", то красную книгу он не осилит.
Scala for the Impatient. Можешь еще навернуть курс по скале на степике от тинькофф. Курс от Одерски на курсере не бери - отобьет все желание изучать этот язык. И книгу Одерски лучше оставить на потом. Написана очень сухо и рассматривает очень много вещей, которые нужно разве что только в разработке библиотек. Наверни ту книгу от Хорстманна, которую я порекомендовал и параллельно курс на степике. Это даст хорошую вводную. А дальше можешь ковырнуть какой-нибудь фреймворк и налабать пет-проект.
Интересно, а у меня было обратное впечатление: "Scala for the Impatient" мне вообще не понравилась, а курс и книга Одерски мне понравились, написаны хорошо и без лишнего дерьма, чем-то похоже на курсы по математике или cs. Я скалу за то и люблю, что она основана на науке.
Курс сделан наспех. По-сути он просто передрал задачки из SICP и приправил материал своим бредом. То, что он несколько недель рассказывает с акцентом как в плохих фильмах про войну, можно уместить на паре десятков страниц книги.
Книга слишком большая и охватывает каждый уголок скалы, что начинающему ни к чему.
А Скала для нетерпеливых позволяет по-быстрому вкатиться в язык и начать лабать какие-нибудь свои простенькие сервисы. Но ты ведь сам понимаешь, что Скалу берут либо по ошибке, либо из-за небольшого ума. Используя современную джаву, можно написать любой по сложности сервис и при этом не нужно будет страдать от граблей скалы, которые так и поджидают на каждом углу.
>>343864
Человеку нужно побыстрее вкатиться в скалу и начать клепать вебсервисы, которые будут плеваться джейсонами, а ты ему про монады рассказываешь. Ну охуеть теперь.
Ты лучше чекни вакансию тинькоф банка в @pro_jvm.
> По-сути он просто передрал задачки из SICP и приправил материал своим бредом
То, что ты называешь бредом, на самом деле является идеологией языка и конепциями, на которых основывается дальнейшее понимание.
> То, что он несколько недель рассказывает с акцентом как в плохих фильмах про войну
Какое отношение акцент имеет к качеству материала?
> можно уместить на паре десятков страниц книги.
Ну есть отличная книга "Scala by example" от Одерского, она короткая.
> Книга слишком большая и охватывает каждый уголок скалы, что начинающему ни к чему.
Не каждый, конечно же. Насколько я помню, там даже про тайпклассы и монады ничего нет, книга как раз-таки для начинающих. Все главы кроме некоторых из последних там абсолютно необходимы.
> Человеку нужно побыстрее вкатиться в скалу и начать клепать вебсервисы, которые будут плеваться джейсонами, а ты ему про монады рассказываешь
Ну извините, а как код писать? Future это монада, все библиотеки для жсона основаны на написании или автоматическом деривинге тайпклассов. Или ты предлагаешь Future не использовать, писать код синхронно, как на джаве, а в жсон сериализовывать с помощью джексона и аннотаций? Ну и зачем тогда скала нужна непонятно...
К чему все это? Ты же понимаешь, что за все эти годы, 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. Просто прекрасно!
Я же говорю, что это компании, которые выбрали этот язык по ошибке. И сейчас они ищут людей, которые все им перепишут согласно промышленным стандартам разработки Java Enterprise Edition. Ты какой-то недалекий, ну в самом деле!
>это компании, которые выбрали этот язык по ошибке
Я сообщил об этом Олегу, он просил передать, что ты пидор тупой, чмо и проткнутый говна кусок.
Слушай, ну это репорт.
Ты по-моему в каждом треде толстишь про DSL к Apache Spark. Или это просто какой-то тупой форс, который разные люди подхватили.
> Штудировать тонны литературы, разбираться во всех этих монадах и теории категорий
> ну незнаю, это по крайней мере странно
Ну то есть все сводится к тому, что твоей квалификации не хватает, чтобы писать на скале, и ты не хочешь ее повышать
> на Java их проблемы решаются на порядок проще
Смешно просто. Даже отвечать не буду.
Вообще, мы обсуждали скальные туториалы, а ты каким-то образом перешел к
> К чему все это? Ты же понимаешь, что за все эти годы, Scala так и осталась ничем иным как DSL к Apache Spark?
Ты ебанутый?
Зачем это нужно вообще и главное, какие библиотеки обычно используются на скале?
https://twitter.com/xeno_by/status/1094951448968716288
Ахахах, лол! Получай, скала ебаная!
Один из разработчиков Scala. Позже работал над компилятором Scala в Twitter. Сейчас забросил скакалку и будет колбасить компилятор Swift и писать Tensorflow.
-1 из команды Одерски. Малдер и Петрашко уже ушли. Осталось немного!
>Используя современный С++, можно написать любой по сложности сервис и при этом не нужно будет страдать от граблей джавы, которые так и поджидают на каждом углу.
смотря какой у тебя бэкграунд.
Если умеешь в хаскель и различаешь функтор от аппликативного функтора, то можешь сразу начинать с красной книги и пиздовать на собес в тинькоф\райф. У них там функциональная скала есть.
Если нет, то посмотри курс на курсере (можно только первые три, остальные два для бигдатошников). Далее куришь доку акки и опять же, идешь на собес в тинькоф\райф. У них и scala as better java есть.
Какие перспективы? Такие же как и джавистов.
Что писать? Высоконагруженные бекенды, биг дату на
Совсем недавно обсуждали в перезвони треде, где чуваку зажали зарплату на собеседовании и еще пожаловались, что 110к - это дохуя.
ну хз, 110 это же джунская зарплата. Я примерно на такую в скалу перекатился с питона.
Может он нихуя не умел?
>Какие перспективы? Такие же как и джавистов.
Какие могут быть перспективы у Scala? Из команды Одерски один за одним уходят разработчики либо в коммерцию, либо переходят в другие языки как сделал Бурмако. Пиздец твоей скале.
Чувак шел на сениора в Новосибирский офис. Ему сказали, что по навыкам все ок, но такую высокую зарплату они не будут платить. Да и там хуета проект, если честно. Самописный BPM движок.
А, Новосиб. Я хз какая там рыночная.
Но бля, говорить что мало платят, основываясь на мнение анонаса из новосиба это как-то ок?
Ну подожди. У Тинька есть офис в Новосибирске. В нем же открыта вакансия Scala разработчика. Зарплатная вилка закрыта. Приходит чел, проходит собеседование, его не срезают на технической части. Подходит время обсудить зарплату и вот тут-то и выясняется, что 110 - это дохуя для сениора, когда какие-нибудь аутсорс-бодишоп шараги столько платят с порога. Вопрос - зачем ебаться со скалой, когда можно месить тоже говно, но на знакомой джаве и получать больше? Или все банки платят так мало?
да хуй знает. Может анон ни разу не сениор, может в тиньке охуевшие сидят, может рынок такой в Новосибе. :shrug:
работать в нашем тинькове - большая честь
Я это к тому, что твое слово, где ты говоришь, что миддлам дают >200к и слово того чувака равнозначны. Пока лично не сходишь - не узнаешь. Кто вас знает-то? Может вы оба пиздите. Но в банке работать - это такое себе.
да, ты прав, признаю
Никому не нужен джунион на скалу. В скалу перекатываются через джаву после 5-8 лет опыта.
>110 - это дохуя для сениора, когда какие-нибудь аутсорс-бодишоп шараги столько платят с порога
В новосибе с порога тебе будут платить тыщ 30, это не москва
если ты идешь в скалу, не имея за плечами какого-нибудь опыта в разработке, то тебе будет сложнее найти работу. В Москве вряд ли больше 100к выбьешь в этом случае.
>будет сложнее
Я уже понял про сложности.
>больше 100к
Ты понимаешь, что между 1 и 100к много чисел? Как мне поточнее узнать?
Я смотрел вакансии джава джунов на хх, там вообще разброс, от 40к, где в требованиях "знать что такое класс и селект в SQL" до 100к, где требуют уже вышку и "уверенное знание SQL запросов".
В среднем я так понял 60к это норм для ява ждуна.
По скале такой инфы вообще нет, там мидлы и синьёры.
https://blog.blazingdb.com/blazingsql-the-gpu-sql-engine-now-runs-over-20x-faster-than-apache-spark-1b0bffc990a9 - получай, скала ебаная, ахахаха!
Не опенсорс, значит не нужно.
Вот это поворот! А какие минусы у этой технологии, кроме непопенсорса?
Есть некая строка в которой содержится ip девайся и диапазон открытых портов. Типа:
"192.168.0.1 range 1024 65536 какой-то еще мусор"
Я хочу красивенько вытягивать диапазон портов при помощи паттерн матчинга. Написал право-ассоциативный экстрактор с именем portRange_: только вот он нихуя не работает. Поменял имя на аля оператор +@@: и запахало.
Не знаешь в чем разница тут между просто именем обжекта, заканчивающимся на двоеточие, и оператором, заканчивающимся на двоеточие?
Вариант с оператором: https://scastie.scala-lang.org/AuamgVOTRXeMfhOdj1QYMQ
Вариант с именем: https://scastie.scala-lang.org/OhwCMZBxRainnMXIBUTWdw
Скала разбирает твой код как:
> case (ip +: ports) portRange_: _ => Addr(ip, ports)
И у тайпчекера к тебе на этом месте появляются вопросы.
Почти уверен, что это из-за приоритета операций - у плюса он выше, чем у alphanumeric characters. Соответственно, с +@@: скобки сами расставляются правильно, в другом случае - не очень.
Если поставишь скобки вот так:
> case ip +: (ports portRange_: _) => Addr(ip, ports)
то всё сразу работает.
Но пожалуйста, не пиши никогда подобную скалу с ебанутыми операторами в продакшене, выглядят такие штуки очень хуево (ещё и в спеку языка лезть, чтобы разобраться). Как минимум для этой задачи оно нахуй не нужно.
>Почти уверен
>Но пожалуйста, не пиши никогда подобную скалу
>с ебанутыми операторами
>в продакшене
>скалу
Вся суть, лол!
> Вся суть
Не понял, дорогой анон, в чем "вся суть"? "Почти уверен" - потому что не лез в спеку и не проверял приоритеты точно, но 99%, что они. Скала и без того достаточно сложный язык, а писать такие вещи, которые начинают зависеть от низкоуровневых особенностей (типа особенностей нейминга) - очевидный анти-паттерн. Поэтому всегда полезнее поставить лишние скобки, чем вспоминать приоритеты операций, несмотря на то, что это обычно первая глава любого учебника по языку.
В каком-нибудь тинькове за подобную магию тебя бы обоссали и заставили бы переписать на пару очевидных и читаемых методов, которые делают то же самое. Те же инфиксные экстракторы, например, уместны только тогда, когда то, что ты матчишь, логически разбирается как последовательность (::, #::, и т.п.) (https://danielwestheide.com/blog/2012/11/21/the-neophytes-guide-to-scala-part-1-extractors.html - Infix operation patterns)
О, спасибо. Про приоритеты в контексте паттерн-матчинга я как-то и не подумал :(
Попробую тогда сделать на scala.util.parsing, раз у методов вылазит чихарда с приоритетами, а с операторами оно выглядит мягко говоря загадочно.
Открыта же вакансия на HH. Берут перебежчиков с Java.
Переусложненный язык, который нахуй не нужен. Писали бы на Java или Kotlin. Еще можно Clojure ебануть. А Scala просто хуета на постном масле, которой пердолятся не очень умные ребята. Работу работать нужно, а не ебаться с языком, лол.
Вот я точно так же думал, лет 5 назад.
"Выдумали какую-то хуйню сложную. Зачем? Джаву ж изобретали как раз в том числе чтобы уйти от сложности плюсов. Язык программирования - это все лишь инструмент, он должен быть простым и понятным".
А щас на меня переодически кидают таски с одного джавишного сервиса, и у меня каждый раз дико горит от джавы.
Так все вместе подобрать даже сложно. На в скидку:
Боль с дата классами, когда тебе ради пятка полей надо сделать целый файл, в нем геттеры/сеттеры/хешкоды/иквалсы. Лобмок хоть и помогает частично, но во первых, его билдеры ужасны, во вторых в каждой команде всегда найдутся хрены, которые упираются против ломбока, словно им в жопу членом лезут
Очень куцый API стандартной билиотеки. Язык развивался, изменялся, а существующее API практически не трогали. В итоге толку от всех этих Optional штучек, если их разве что чуток добавили в API коллкций, и то вкраплениями. Про всякий API типа работы с XML я вообще молчу.
Какие-то половинчатые решения, аля добавить функциональные интерфейсы и стримы, но не добавить кортежи. И ебитесь как хотите со своими велосипедами.
Когда привык к паттерн матчингу, и вообще к тому, что конструкции возвращают значения, то код типа ниже уже разрдражает своей "разрозненностью":
SomeType v;
if (...) {
v = ...
} else {
... don some stuff
v = ...
}
Ну, а дальше еще Spring, который пока я его наблюдаю (вкатывался на версиии 2.5), превратился в огромную, медленную и бажную хуйню с кучей подковырок.
Ха-ха! Получай, Scala ебаная!
Это приятно, ни с чем не сравнить :)
Особенно теперь, когда джун кодит на джаве уже 5 месяцев.
Я говорю – жабу будем поддондонивать? Жабку-некрожабку? Он улыбается, радуется, аж подпрыгивает. Негенрит триста строчек геттеров-сеттеров и смотрит на меня? Правильно сделал? Я молчу, дразню его. Он плюх – try catch строк на сто – тим лид, а теперь так? С какой стороны жабу будешь дондонить? Уже весь в сомнениях, переживает, начинает кататься туда-сюда на стуле. Где? Где будут жабу дондонить? Ну где? Я смеюсь, дразню его, приговариваю – public static String myEmptyString = "";, try catch, на null проверочки, будем дондонить!
Сажусь рядом. Он быстро открывает нужный IDE (eclipse), поджимает ножки, выставляет вперед ручки – иерархию классов делать. Все! На поддондоньку жабы рота построена, проект открывайте и поехали.
Пиздец у тебя подгорело, чувак. Блядь, ты просто поехавший какой-то, если честно. Мне искренне жаль твоих коллег по работе.
Ежедневно пишу с котами в идее, полёт нормальный, красноты минимум
в идее все есть, даже подсветка имплиситов
ну так фишка же не в чуть более богатом синтаксисе, а в том, что это функциональный язык на жвм. ты можешь комбинировать функции, в результате использовать функциональные структуры данных (та же монада) и писать более абстрактный код.
сам язык не очень сложный, намного сложнее научиться писать в функциональном стиле
Блядь, Programming in Scala - 859 страниц. Охуеть какой не очень сложный язык. Ну и тот факт, что на скакалке не пишут хайлоад и лоу летенси системы говорит о том, что ты будешь лепить рест сервисы для какой-нибудь внутренней CRM на 100 запросов в секунду, лол!
В книге есть отдельная глава, которая объясняет как работает связный список в Scala. Целая, блядь, глава. Я читаю эту книгу уже несколько лет и все никак не могу закончить, потому что язык просто огромен и в нем столько неявных вещей, которые нужно держать в голове, что я просто охуеваю каждый раз, когда читаю ее или пытаюсь хоть что-нибудь написать на Scala!
Прочитал ещё первую редакцию. Нормально там всё читается.
Там не столько про сам лист написано, сколько про основные идеи, которые можно потом где угодно применять. Взять тот же пример с имплементацией сортировки, там всё сразу и рекурсия, и паттернматчинг, и каррирование, и асимптотическая сложность. Но показано на примере, который не поймёт только даун.
>пытаюсь хоть что-нибудь написать на Scala
Чтобы писать круды всё это знать не надо.
>рекурсия, и паттернматчинг, и каррирование, и асимптотическая сложность
ничего не понял из того что сейчас сказал.
какая еще асимптотическая сложность?
это где логарифмы нужно решать?
>ничего не понял
Перефразирую.
В этой книге описаны не только основные методы, но и некоторые тонкости. Если они тебе не нужны - просто пропускай.
Но лучше почитай, некоторые термины там довольно легко объясняют, на мой взгляд.
Если не нравится объём книги Одерски, можешь навернуть essential scala.
>логарифмы нужно решать
рукалицо
Какой в этом смысл, если в РФ полторы вакансии на Scala и те требуют от 3-5 лет промышленного опыта на этом языке и сопутствующей экосистеме?
Если ты начал читать книгу по Скале, нахуй ты меня спрашиваешь зачем ты это делаешь?
Да,но и на джаве можно комбинировать композировать методы. Берешь Vavr и пишешь на джаве уже более функционально.
Но потом смотришь какое уебанство выходит в коде, и понимаешь, что синтаксис все таки много значит :)
Но в джаве нет иммутабельности по умолчанию, так что все твои композиции назуй не всрались. Хотя в целом-то я с посылом твоего поста согласен.
мимо
>kafka
В спешке переписывают на Java. Критические к перформансу части были написаны на Java изначально. Лидер элекшн вообще базируется на зукипере, который, сюрприз-сюрприз, написан целиком на Java.
>spark
Та же самая история, что из со спарком. На Scala там только кривой API, который торчит наружу и немного скала кода внутри самого проекта. Остальное написано на Java.
26% кафки на скале, спарка - 73%. давай, расскажи мне, что только апи и обвязки на скале.
то, что 26% кода кафки на скале, говорит мне (и это мое личное мнение), что этот код было легче писать/поддерживать на скале
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)
У тебя херня какая то. Комбинирование функций это использование функций в теле других функций.
Я ошибся в паре мест просто, печатал пока по телефону пиздел.
val fap_levoy = fap(telebonk_levoy) _
val fap_pravoy = fap(telebonk_pravoy) _
Ну суть можно было уловить. Создаёшь функцию с двумя аргументами. Потом можно создавать на её основе другие, передавая в качестве одного из аргументов разные функции.
Ну что, бараны, решили власть переменить? Вы кого слушали-то, а? Пидор очкастый вам монады на уши вешал, а сам ходил к куму сливать эффекты!
на этот случай у нас есть cats effect
Лучше чем с ней.
Чтобы программировать на Scala, знание java тебе не нужно. Однако следует помнить, что всё это бегает на JVM.
Треды и тредпулы здесь жавовые, примитивы типа String - жавовые. Чаще всего тебе просто достаточно читать доку, не вдаваясь в код богомерзкой... Но она здесь. То же самое касается и либ жавовых.
Мне за год работы не приходилось читать Java код. Но если пофантазировать, можно придумать кейсы, в которых это может потребоваться.
Мимо-крокодил.
Забыл добавить, постоянная фрустрация оттого, что вся инфраструктура тормозит на некислом железе. Отдельный пиздец sbt.
1) Сколько лет нужно по честному отработать для реального переката в Scala? Сам думаю нужно на уровне синьора.
2) Насколько рынок вакансий у нас есть? На слуху тиньков только
3) Для трактора мне кажется проще с Java будет, что думаете?
Сам маленько со скобочками на Lisp ковыряюсь, для вката в функциональщину
>1) Сколько лет нужно по честному отработать для реального переката в Scala?
Хватит и года. Сеньором тебе быть не нужно.
>2) Насколько рынок вакансий у нас есть? На слуху тиньков только
Ну Тинькофф активнее всего в России продвигает скалу. У них и митапы, и для шокльников/студентов курсы и финтех школа. Особо усердных оттуда отбирают на стажировку или даже предлагают оффер. Да и работать там приятно.
В остальном, зависит от города. В телеге подпишись на scala jobs и помониторь. Рынок небольшой, но нас ещё меньше.
>3) Для трактора мне кажется проще с Java будет, что думаете?
Сложно сказать на самом деле. Java макаку проще найти и у себя. Зачем кому-то риски с релокейтом кого-то там из какой-то там гваделупы? Ну если конечно ты не ахуевший специалист в своём вопросе. Ты специалист?
Дело привычки. Мне по началу тоже сложно давались рекурсии, сейчас же мне это кажется намного более удобным и натуральным, чем все эти for и while.
Нужно чуть больше практики - единственный совет.
Напиши функцию, которая обойдёт List[Int] и просуммирует все элементы. Напиши такую же функцию для обхода бинарного дерева. Помни, что ты можешь объявлять вспомогательные функции внутри функций. То, что ты обычно изменяешь внутри тела цикла, в императивных языках, мы передаём в качестве аргумента рекурсивного вызова, естественно уже изменив значение.
def listSum(list: List[Int]): Int = {
def listSumImpl(accum: Int, tail: List[Int]): Int = ???
listSumImpl(0, list)
}
Если очень тяжело даётся, по началу не думай о tail-call оптимизации, например при реализации суммирования элементов бинарного дерева. Практикуйся, ебашь хакерранк и всё получится, анончик.
Для кложи есть http://www.4clojure.com/problems где все на практике очень классно малюсенькими порциями постепенно дается, попробуй поискать для скалы что-нибудь аналогичное
мимо
Перекатится в элик. И быстрее, и работа стабильней.
И то, и другое. Можешь дописывать 100500ю оптимизацию для ETL, а можешь пилить реализацию ML. Это не чистый дата саенс, но элементы этого есть
Хотя, он в конце доклада сказал что-то вроде "плиз придите к нам и поработайте над конпелятором скалы".
Че такого, у меня на работе тоже есть открытые баги с 2014.
Жс-питушок, ты тредом ошибся, загон для ваших тремя тредами ниже.
Да ето так
https://stepik.org/course/16243/
А если скалы джва года опыта, а вообще 8? На какую зарплату можно рассчитывать, перекатываясь в ДС на Скала программиста но не спарк и не лохчейн.
В том, что жс славен нечеловеческой и бессмысленной скоростью устаревания модных фреймворков.
Двачую, не просто так react оказался никому не нужен уже в 2014ом
Проще потом менять код. Типа сегодня ты просто отдаёшь значение поля, завтра проксируешь на другой объект, а послезавтра достаешь его из стораджа. И если оно сделано через геттер везде, то только в одноместен код менять прийдется.
FPGA похоронит ваши недоязыки.
Так расскажите, зачем нужна все еще скала?
>Пикрил 1
То, что есть на скале, уже давно есть в жабе. Тем более в нее вливают тонну денег, в отличии от скулы.
дискас.
Никакой.
Что ещё за домейна?
Что значит "проще" когда все это делается нажатием одной кнопки идеешечки. Так же то что ты описал это потенциально ломающее изменение (когда вызывающий код ожидает поведения как при простом доступе к переменной, а вместо этого происходят всякие неведомые кульбиты вроде сетевых вызовов етц) и как следствие лучше чтобы оно было явным.
По сути, этот анон говорит правду.
Да и тем более это обсуждалось 1-2 треда назад, к пришедшим выводам - что скала устаревает и поддерживать ее уже не возможно, как и искать разработчиков. Тот же котлин, смотрится куда симпатичней.
По факту так только конченые будут писать. Если ты делаешь User.getEmail, любой нормальный человек будет ожидать, что это тупо получение значения поля и никаких запросов к бд или еще куда-то там быть не может.
А как ты назовёшь метод, получающий емейл из базы? getEmailFromBaza, лол?
Ну если кто-то внутри класса User сделает метод, который будет ходить в бд или во внешний сервис, ему в приличном обществе на ебало нассут.
Всё ещё не отвечает на вопрос. Впрочем можешь уже и не отвечать, и так ясно что ты обосрался.
Но если ты все же хочешь, чтобы тебе нассали на ебало, скала тебе дает такую возможность. Компилятор на самом деле автоматически генерит геттеры и сеттеры и ты в любой момент можешь их переопределить не ломая существующий код. Это сделано, чтобы порадовать жабадебилов.
Как проще? У тебя типы не сойдутся потом.
Было `getEmail: Email`
Станет, после того как ты будешь из базы доставать: `getEmail: F[Email]`
долларов в год, надеюсь? ибо если в рублях, то это пайка обоссаного жабадебила
Рублей в месяц. Выплачивается следующим образом - половина тебе выплачивают в 15 числах текущего месяца, а остальное 5 числа следующего.
А чего ты хотел? Ты же Hibernate и Spring не используешь, JBoss Application Server не развернешь и форму на PrimeFace не напишешь. За что тебе платить?
> За что тебе платить?
За то, что пишу работающий продукт, а не конвертирую аннотации в стектрейсы.
Что ты там пишешь? Я тебе еще раз повторяю, что без Spring Framework и Hibernate ты нихуя толкового не напишешь. А срать в хип своими чудесными коллекциями из Scala можешь в нерабочее время. Тут люди информационные системы разрабатывают, а не упражняются в том, кто более неразборчивый скала код напишет.
> без Spring Framework и Hibernate ты нихуя толкового не напишешь
Полагаю ты никогда и не вылезал за пределы своего манямирка, обмазанного толстым коричневым слоем джавы.
> Тут
Тут скалатред, а у тебя либо синдром утенка, либо просто толстишь.
> кто более неразборчивый скала код напишет
А вот теперь все понятно, очередной неосилятор. Иди еще поаннотируй на свой спринг.
Ты просто не понимаешь как работает бинфактори вот и вертишься тут как уж на сковородке!
Так сеньор это больше про помидор общий уровень скиллов, а не стек технологий.
Вообще по вакансиям вижу что в основном используют скалу как джаву, т.е. стек это akka и связанные технологии биг дату не берём, я сейчас про нормальный бэкенд.
Изредка встречается функциональщина - cats, fs2, http4s.
Я вот на своей РАБотке пытаюсь перекатывать всех на современный стек, но коллеги делятся на два лагеря - упоротые джависты-долбоёбы, которым только бы ignite и сервлеты воткнуть, и ебанутые функциональщики, которые ебошут lawless typeclass'ы просто потому что могут. Как это всё заебало.
В скаладоке (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 ?
Spring Framework, Hibernate, J2EE, JSF, JSP, Apache Tomcat, Oracle, Jasper Reports, Alfresco. Ну, если не знаешь Hibernate, то ты никакой не сеньор и даже не миддл, а так, джун-жулик!
Экзистенциальные типы deprecated в dotty. Так что просто забей на их существование.
Понял, забил, данке шён.
При всем уважении, мсье, Jasper Reports - это перебор как бы.
Та и Оракл на новых проектов уже врядли встретишь, скорее мускуль или постгре.
Alfresco тоже редкоземельная штука как по мне.
Скорее всякий AWS/Azure вздрочь лучше постигнуть в общих чертах.
Foo[Bar[T], T] forSome { type T }
v.T forSome { val v: { type T } }
Тысячи их, но как уже верно подметили, они нахуй тебе не сдались.
Планирую перекатиться из Джавы в Скалу, т.к. заебли все эти хибернейты со спрингами и прочие энтепрайз помои.
Видимо джава макак столько развелось, что теперь на собеседовании спросить описание методов какого-нибудь интерфейса из спринга или попросить перечислить все методы java.lang.Object считается за норму.
Как обстоит дело с наймом Скала разработчиков? Все тот же пиздец или можно вытянуть собеседование на коммитах в попенсорс и собственных пет-проектах?
>Как обстоит дело с наймом Скала разработчиков
Крутишь списки и деревья/объясняешь почему футура не монада на бумажке.
>перечислить все методы java.lang.Object считается за норму
Меня спрашивали подобное про case classы.
Тустринг, хешкод, аплай, эквал.
Понятно. Ничего не меняется. Останусь на джаве, педалить унылый энтерпрайз в аутсорсере.
Ебошу tagless final, cats и monix в продакшене за 100к в месяц, я, получается, хуже обоссаного жабадебила?
Ты же понимаешь, что скала никому не нужна и все спешно переходят на Котлин? Даже Револют перешел на Котлин в новых модулях и спешно переписывает старый скала код.
Ну, про скалу ты не совсем прав, уходить никуда она не собирается (особенно те, кто юзают ее не как better java), но с зп я что-то смутился.
Дс.
Всё что нужно знать про скалоедов.
К чему ты это высрал? Чувак написал, что вся коммуникация происходит в публичном поле, а ошибки признаются и исправляются. Может быть ты не на то сообщение дал ссылку?
Ну тогда норм. Все сходится, греби дальше, будет тебе 200+
Даже в этом треде уже чувствуется мертвенность шкалы. 5 сентября был создан тред, больше полугода, сказать что я смеюсь над вами это ничего не сказать.
Кокотлин за год успех 56к набрать реп, а шкала так с какого там года выпущена? Даже боюсь вспомнить, большинство итт даунов под стол еще не ходили, пока я писал манякруды для взлетевшей вчерашней жабы.
Впрочем, пока вкатишься вакансии уже будут закрыты и останется только кокотлин, который можно впендярить в моей проект на 1.6 и жить спокойно.
Было бы интересно посмотреть, что там за репы. Вангую, что бОльшая часть реп за вычетом hello-world-ов - это игрушки для мобильников.
Тем временем в другом jvm-языке:
https://www.reddit.com/r/Clojure/comments/bhlc92/free_event_in_london_for_anyone_who_identifies_as/elxi3nu/
В широко известном в узких кругах банке
Что именно? Тот факт, что топик адово заминусовали, а единственный (и заплюсованный) коммент 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.
Зазывать на эвент тянок/трапов это какой-то вопль отчаяния.
НУ ХОТЬ КТО-ТО С ДЫРКОЙ, НУ ПОЖАЛУЙСТА, НУ ПРИДИ!
обычный virtue signaling ты что
Java, IBM WebSphere, Oracle Coherence, Oracle DB.
Кек. Ты вообще не в курсе современных (ну как современных, послдение 5-10 лет) течений в западноевропейской политике?
В курсе.
Но тут явно не левачками попахивает, а просто сидит бородатый девственник и ищет куда бы присунуть. Готовый уже на всё.
кто?
Что не так?
Я тоже подумал сначала, что это опять пытаются диверсити продвигать.
Но ведь там нет упоминания чёрных, кебабов. Это просто девственный скализозник ищет кому бы вечером под хвост присунуть.
С одномесячным опытом жиэс нашел за пару дней.
Но свою любимую джаву я то не забыл. Помню, как я пару бесонных ночей пытался осилить concurrency in practice в свои 17 лет И у меня было дикое желание выучить скалу. Вообщем, хочу применить скалку в в своём пет проекте, в связке с react+redux - как думаете, норм тема будет?
В шапке рекомендуется книжка "scala для нетерпеливых", - её будет достаточно прочитать для миддла, что бы вкатиться? Может лучше зайдет Programming in Scala? (есть ли она кстати на русском?)
если честно то звучит как "мы с другом выпили пять бутылок водки а потом я отравился печенькой"
не я такой, жизнь такая
После бэкграунда джавы, жиэс, ноды и немного питона всё это очень легко заходит(кто там обзывается, что фронтендщики геи, ничего не могущие), хотя заметно, что вышеупомянутая книга предназначено по большей части для джавистов, перекатывающихся на скалку.
Скала как и ожидалась показалось мне интересной, как раз больше изучу фп, может быть на теоркат даже гляну(сегодня кстати ещё прочитал про линзы хаскеля, ибо в последнее время частенько слышал этот модный баззворд, а это оказалось очередной тривиальщиной), а больше всего меня привлекла модель акторов, интересно звучит, лол, да и вообще реактивное программирование, хотя так-то всего этого можно добиться и на ноде с жиэс(тот же rxjs + какой-нить нодовский nact)
А scala.js уже депрекейтед, как я понимаю? довольно вяло его контрибутят, да и не вижу, что бы его кто-то юзал на проде(разве что слышал, что где-то в сбербанке такое есть) Синтаксис кортежей олсо не понравился, и не совсем привычна фп тернарка, хотя привыкнуть можно, всё остальное заебись вроде.
И чего вы все молчите, а?
Чому так?
>Крутишь списки и деревья/объясняешь почему футура не монада на бумажке.
Это же круто. Знания! Самое время открыть Кормена и Милевски, и подтянуть всю эту поебень.
Видимо я просто туповат для всех этих монад и эндофункторов с пандарическими захватами.
>Вообщем, хочу применить скалку в в своём пет проекте, в связке с react+redux - как думаете, норм тема будет?
Какая разница, что брать в связке с реакт+редукс? Его можно брать в связке с чем угодно. Тема будет настолько норм, насколько хорошо у тебя получится сделать бэкэнд, очевидно.
Сам сейчас пилю react+redux на фронте, http4s на бэке, мне норм.
Тот анон ничего сложного же не сказал. Монады на практике - это несложно. Понять, почему футуры не монады - тоже несложно, да и важно. Можно вообще не знать за всякие линзы и эндофункторы и прекрасно пользоваться функциональной скалой. Крутить списки и деревья тебя и на джаве заставят в средней+ компании.
Да не, нахер это все. Вакансий на Scala хуй да нихуя, и везде нужен опыт промышленной разработки на всяких там Akka, Catz и прочие Monix с Play Framework. Ну и идут на такие вакансии обычно яйцеголовые парни из МФТИ или ИТМО, победители всяких олимпиад и т.д. Мне туда путь заказан.
Как-нибудь на Java дотерплю.
это когда панда тебя хватает и держит!
Загуглил, как я и думал, выпала паста с лурка о хаскеле.
Небось очередная хуита из тк, которая на практике на хуй никогда использоваться не будет.
В этом проблема.
Недавно смотрел видос Одерски Plain Functional Programming by Martin Odersky, даже он там про это говорил. Что ебучие хаскеле-шизики суют своё мёртвое говно везде где только можно.
Мало того, что получается откровенное говно, многоуровневые флатмапы и/или сраные трансформеры, эту хуиту невозможно читать, нужен охуенный порог входа, чтобы это понять, так ещё это отпугивает ньюфагов.
Тебе дали скалу, нет, блядь, не хочу, хочу монадки в каждой строчке, хочу сделать второй хаскель и сосать хуятину вместо работы.
Можешь скинуть репозиторий своего проекта?
Hey buddy, I think you've got the wrong thread, the Go-dibilov thread two blocks down.
Если ФП тебе СЛОЖНА то зачем ты вообще выбрал Скалу?
Иди вон в Го-тред, как раз язык для дибилов, ФП там не будет никогда потому что оно там невозможно.
И да, даже в хаскелле никто не использует трансформеры, а многоуровневые флатмапы >>= всегда были плохим кодом.
И никто не тащит в Скалку ФП из Хаскелля 1-в-1, всегда адаптируют для использования сильных сторон Скалы.
Просто у тебя бугурт от того что ты ниасилил.
Go thread two block
Двачую.
Если ты хочешь нормальную, неблокирующую concurrency - ты берешь Futures.
Потом осознаешь, что нахуя везде таскать () => Future[A], если можно взять нормальный cats effect или monix.
Далее в твоем приложении появляется необходимость таскать какой-то динамический контекст, который не протащишь через DI - и если ты осилил потратить время на Reader Monad Pattern, ты понимаешь как это просто и охуенно, и берешь ZIO.
Все эти плюшки так или иначе несут определенный профит, улучшают качество кода и ускоряют разработку, но неосиляторы продолжают кричать НИНУЖНА!!1, ну и пусть хуй сосут на своей джаве. В скала-тред то нахуя лезть?
При чем тут RISC-V?
>Если ФП тебе СЛОЖНА
Это ты сам себе придумал.
Я лишь написал, что ебанаты меры не знают, для хеллоуворлда готовы cats импортировать.
А что сейчас используют вместо трансформеров?
Да даже если брать скалу, то как использовать ZIO вместо наслоения трасформеров тоже понятно.
Но мне совсем не понятно как избавиться от трасформеров в чистых вычислениях, например OptionT (State a) b. С ними же удобнее
Почитай что лысый пишет например http://degoes.net/articles/effects-without-transformers (он, конечно, тот ещё маркетолог, но тут идея здравая - и целиком спижжена из хаскелля, лол).
Про чистые вычисления незнаю что сказать. В твоем примере я обычно использую Option с локальной (изолированной) мутабельностью. Снаружи чистый интерфейс, конечно же.
Но думаю если сильно надо, то применять их проблем нет. Главное не строить основную логику приложения на них, типа ReaderT (StateT Ctx IO).
Двачую вот этого.
Подскажите идею пет-проджекта, чтобы можно было прочувствовать преимущество использования Scala над Java.
Компилятор какого-нибудь нескучного языка.
>akka, catz, etc
>яйцеголовые парни из МФТИ или ИТМО
я конечно с мфти, но это было обидно
в целом заметил, что если так уж сильно хочешь писать на scala/haskell/closure/etc, то попробуй найти вакансию в европке. как бы это не было парадоксально, но разрабов не хватает.
У меня нет разговорного английского. Да и кому нужен разработчик на scala/haskell/clojure/etc. если у меня нет коммерческого опыта разработки на этих языках?
Госпаде, это зелёный из соседнего треда "мы вам перезвоним".
Он там постоянно жалуется, что 5 лет гребёт на джаве за 40к, какой он тупой, как ему тяжело, но искать другую работу он не хочет ведь туда возьмут только
>победителей всяких олимпиад и т.д. Мне туда путь заказан.
Просто игнорируйте его.
>Он там постоянно жалуется, что 5 лет гребёт на джаве за 40к
В мухосранске 130к между прочим. Не могу осилить такие сложнейшие технологии как Play Framework и Akka. Имейте уважение. Я не тролль, все так и есть!
Как раз на вакансии с этим стеком часто берут людей без коммерческого опыта конкретно на этих языках.
мимо
скала не такая уж и частая, но на джуниор позицию вполне могут взять и с джава опытом. причем могут даже взять с ебеней а-ля индия. только это с большими фирмами работают, которые могут сделать доки и оплатить трансфер
сейчас на работке вкатываюсь в скалу для общего развития. подскажите, в ОП-посте дана ссылка на "лучшую книгу по скале", но она 1 издания, хотя уже давно есть 2 издание. оно хуже или что?
тебя наебали, лучшая книга - https://www.artima.com/shop/programming_in_scala_3ed
потом (а можно и параллельно) нормальные люди читают вот это https://www.manning.com/books/functional-programming-in-scala
>тебя наебали, лучшая книга - https://www.artima.com/shop/programming_in_scala_3ed
Лул. Удачи осилить этот кирпич. Лучше Scala for the Impatient ничего нет!
>вкатываюсь в скалу
Не трать попусту время на всякую ерунду, которую и в Java можно накодить. Лучше удели внимание языкам, которые действительно этого заслуживают - Erlang/Elixir/Clojure/Rust. А Scala все равно толком нигде не используется и компании, которые однажды попытались на ней что-нибудь написать, сейчас рвут на себе волосы и в авральном режиме переписывают все на Java 11.
Haskell/Idris/OCaml еще хороши. А Scala дерьмо, как не крути.
>компании, которые однажды попытались на ней что-нибудь написать, сейчас рвут на себе волосы и в авральном режиме переписывают все на Java 11
эни пруфс?
Возьми тот же Revolut - один из самых дорогих и быстрорастущих финтех стартапов. Они бросили Scala и переписывают все на Java 11 или Kotlin. Scala ничего не может предложить кроме как неказистого и тормозного тулинга, супермедленной компиляции и сомнительными архитектурными подходами в плане языка. Все, что нужно 99% разработчикам уже есть в Java 11 и Kotlin.
>супермедленной компиляции
Просто купи лицензию гидры, че ты как лох-то?!
https://triplequote.com/hydra/pricing/
И не забудь купить 16 ядерный AMD и минимум 32 ГБ оперативки!
> Scala ничего не может предложить
ну когда в жаву завезут cats/scalaz, тогда и поговорим. к тому же, попробуй использовать жаву и акка/акка-стримс, я посмотрю когда ты себе волосы на жопе вырывать начнеш
>сомнительными архитектурными подходами в плане языка
подробности в студию
> cats/scalaz
ненужная хуета
>акка/акка-стримс
как-будто мне делать нечего, как использовать тормозные помои, которые через раз работают, лол.
На Java есть супербыстрые библиотеки и фреймворки, которые обгоняют твои скакалковы поделия на несколько порядков. Ведь Скала только и знает, что гадит в хип и тормозит что есть мочи!
Что нынче используют в Scala для разработки REST сервисов? Через что ходят в базу? Как там Scala.js поживает? Уже можно пробовать или все еще сыро?
>для разработки REST сервисов
akka-http (если хочется еще и стримы подключить)/play framework (если хочется все из коробки)/scalatra (видел пару раз в проде, обычно если небольшой сервис без нагрузки)
>Через что ходят в базу
scalikejdbc/doobie/slick
>Как там Scala.js поживает
хз, не видел нигде в проде. видел с экзотики видел только elm
>scalatra
Какое-то школотронское поделие
>play framework
Ерунда какая-то. Какие-то темплейты а-ля JSP фигачить, лол. Сейчас 2019 год. Подобный подход, когда у тебя в проекте темплейты страниц на каком-нибудь JSP или Tapestry лежат был актуален в году эдак 2010.
>akka-http
Выглядит поинтереснее. Правда, у ни на сайте написано, что это довольно низкоуровневая библиотека и никак не полноценный фреймворк по типу Spring Boot, когда можно за пару минут собрать REST сервис, упаковать его в джар архив вместе с каким-нибудь Tomcat или Netty, который будет заниматься обработкой HTTP запросов.
Как так вышло, что SBT - неюзабельно говнище, в котором ни то что разобраться, пользоваться невозможно? Чем нынче собирают проекты на Scala? Gradle?
play framework - он скорее похоже на django. работа с хттп (можешь хтмл, а можешь и просто rest), базой, конфигурации, етц - все уже настроено
akka-http - это не низкоуровневая библиотека. низкоуровневая netty к примеру
Почему Twirl ерунда? Нормальный шаблонизатор. Просто сейчас в эпоху SPA и рестовых бэк-эндов, шаблонизаторы как таковы выглядят чутком архаично.
Ну, подключай play-json и вперед.
SpringMVC тоже как бы раньше работал с JSP на ура. И я еще помню времена спринга 3-го, когда надо было джэксон вью резолвер объявлять, и никаких @RestController аннотаций и в помине не было. Иначе дефолтная рендерилка через JSP.
>scalikejdbc/doobie
В скале не зашквар юзать врапперы jdbc? К различной асинхронщене это можно без боли прикрутить?
в jvm мире все работают через драйвер jdbc (если мы говорим о базах конечно), потому что интерфейсы jdbc - это часть стандартного java api. если что-то работает не через jdbc - это полностью отдельная история с одтельным api/доками/класами/етц (например, https://github.com/alaisi/postgres-async-driver)
мало кто из супортеров либ для скалы хочет заморачиваться с чем-то специфичным
https://doc.akka.io/docs/akka-http/current/client-side/request-level.html
Ебать я проорал в голосину с примеров кода. Scala версия раза в 2.5-3 больше чем для Java. Только выиграли, лол!
Ты про то, что в Java примере забыли все импорты и половину функционала?
Да, я тоже заметил.
Функционал там эквивалентный тому, что написан для Scala, только вот занимает он в 2 раза меньше места. Импорты - это хуйня. На это даже можно не обращать внимание.
Пердоотсос скакалки неизбежен. Даже на офф сайте акки, примеры на джава выглядят лаконичнее и главное короче на порядок, лул.
Ерунду же говоришь! Скакалка все равно ничего не может предложить. Это просто академический язык, на котором тренируются студенты Одерского. Даже недавний мажорный релиз ничего не привнес в язык. Так и останется игрушкой для студентов из EPFL, пока они не защитят свои PhD и не уйдут в коммерцию и перейдут на нормальные языки, как это сделал Малдер Феликс, Рунйар Брансон, Конрад КТОСО Малавски и многие другие.
А ты почитай! Команда скакалки разваливается на глазах!
чёт листаю тред и не могу понять, скала на самом деле всё или же она всё, но только как джава?
Да чёрт его знает.
ну в ДС и ДС2 проскакивают вакансии и для простых смертных, но народ говорит без жабы не просто.
Уже нигде. Нужно было раньше вкатываться, когда компании нанимали скала джунов. Это было в начале 2000-х. Теперь всем нужны крепкие сениоры и тимлиды у которых минимум 5-7 лет опыта в Scala/Akka/Cats/Monix.
Ты отстал от жизни. Где-то уже мелькала вакансия где требовался ZIO.
Реально ли вкатиться на Scala разработчика после Java? А если написать несколько пет-проектов и выложить их на гитхуб?
Да, есть много вакансий, которые так и называются "Java to Scala developer". Плюс, если у тебя просто есть опыт программирования, то устроиться на другую работу будет легче, хоть на Хаскеле устраивайся.
Это копия, сохраненная 30 июня 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.