М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

8 Кб, 635x282

Scala 24 Янв, 01:10 #633151 В конец треда | Веб

Очередной тред про самый лучший язык для JVM.

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

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

Ответы>>651148>>651909>>712383>>721353>>721427>>762807

24 Янв, 05:19 #2 #633214

>>633032
Поддвачну, пожалуй.
>>633037
Переусложнённая хуета. Что в ней нужно новичку, так это пожалуй только лямбды, но они есть и в 8-й джаве и питоне. Всё остальное представляет интерес разве что для хаскеллистов, которым не дают писать на Хаскеле на работе.

Ответы>>633218>>633220>>698818

24 Янв, 05:36 #3 #633215

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

Ответы>>633223

24 Янв, 05:54 #4 #633218

>>633214
> только лямбды
В голос с дебила.

Ответы>>633426

24 Янв, 06:01 #5 #633220

>>633214
>лямбды
>в питоне
How about "no"?

Ответы>>633573

24 Янв, 06:48 #6 #633223

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

Ответы>>633249

24 Янв, 10:54 #7 #633249

>>633223
Потому что скала изначально язык от студентиков для студентиков, которым нравится ласкать себе анус о 9000 перегруженных операторов и СУПИР систему типов.

24 Янв, 11:33 #8 #633260

>>633037
Нормально вкатываются в скалу после хоть какого-то опыта в нормальном статически типизированном ЯП или опытом в ФП.
Также вангую в тебе очередного вкатывальщика без вышки (иначе не задавал бы такие вопросы), так что ты просто нихуя не поймёшь, когда начнёшь "учить" скалу по книжке.

Ответы>>633410

24 Янв, 11:45 #9 #633264

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

Ответы>>633369>>650793

24 Янв, 14:54 #10 #633369

>>633264
Можна.

24 Янв, 15:33 #11 #633410

>>633260
Отлично вкатился без вышки, после джявы и C++.

Ответы>>633427

24 Янв, 15:49 #12 #633426

>>633218
Продемонстрируй нам свой интеллект, недебил.

24 Янв, 15:50 #13 #633427

>>633410
>после джявы и C++
Я об этом и писал.

Ответы>>633430

24 Янв, 15:52 #14 #633430

>>633427
Но скала проще чем джява и тем более C++, если бы я знал про её существование то вкатился бы сразу в неё.

Ответы>>633782

24 Янв, 19:59 #15 #633573

>>633220
Там даже keyword lambda есть эти лямбды говно а не лямбды

Ответы>>633670>>686597

25 Янв, 00:08 #16 #633670

>>633573
>Там даже keyword lambda есть
Лол, похуй вообще
>эти лямбды говно а не лямбды
this

25 Янв, 05:36 #17 #633766

Уехал писать на Scala в Новую Зеландию пару месяцев назад. Для этого отказался от оффера в Нидерландах. До этого звали в Германию, но я так и не доделал визу.

Крутой язык, много платят, есть спрос на рынке.

25 Янв, 06:23 #18 #633772

>Уехал писать на Scala в Новую Зеландию пару месяцев назад.
>Для этого отказался от оффера в Нидерландах.
Кек, дебил.

Ответы>>633775>>633781>>634389

25 Янв, 06:26 #19 #633775

>>633772
Я был морально не готов платить 48% налогов после 30 лет и учить странный полунемецкий язык.

Ответы>>633942

25 Янв, 06:38 #20 #633781

>>633772
В Зеландии природа лучше

Ответы>>712378

25 Янв, 06:41 #21 #633782

>>633430
Проще?

Ответы>>633794

25 Янв, 07:12 #22 #633794

>>633782
Разумеется

Ответы>>633807

25 Янв, 08:01 #23 #633807

>>633794
Чем, кроме типовыводилки и нескольких паблик классов в одном файле?

Ответы>>633810>>633816

25 Янв, 08:04 #24 #633810

>>633807
Тем, что позволяет намесить говна в жопе больше, чем C++.

25 Янв, 08:22 #25 #633816

>>633807
> типовыводилки и нескольких паблик классов в одном файле
На такую толстоту даже отвечать не буду

Ответы>>634379

25 Янв, 11:54 #26 #633942

>>633775
>48%
Три года кенисмигрантских льгот, а там и с офшором бы что сообразил. Ходи теперь вниз головой хуле.

Ответы>>634374

25 Янв, 22:09 #27 #634374

>>633942
Да ну нахуй, хочу получать нормальную зп и не ебаться с оффшорами (прям призрак рашы ей богу) :)

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

25 Янв, 22:12 #28 #634379

>>633816
Ну да, скажи что implicit'ы и higher-kinded типы с аппликативными функторами - это очень просто. Или val и var? Наверное, проще. Но только дебил будет это сравнивать с Java говоря, что Java сложнее.

Так что там проще-то?

Ответы>>634524

25 Янв, 22:27 #29 #634389

>>633772
Наоборот, всё правильно сделал. Евросовок - говно ебаное, а Новая Зеландия, наверное, последнее нормальное место на земле.

25 Янв, 23:51 #30 #634471

Есть ли живые проекты кроме экзамплов на этом эпик без стеба вине - https://github.com/ochrons/diode? Чет искал - не нашел, в принципе уже и сам разобрался.

Ответы>>634503>>634525

26 Янв, 01:22 #31 #634503

>>634471
Что такое живые проекты? Библиотеки или проекты?

Ответы>>634506

26 Янв, 01:36 #32 #634506

>>634503
Приложения на этой либе

26 Янв, 02:33 #33 #634524

>>634379
>Ну да, скажи что implicit'ы и higher-kinded типы с аппликативными функторами - это очень просто
Благодаря всем этим "сложным" вещам, на скале приложение, требовавшее до этого тысячи бойлерплейта и AbstractSingletonProxyFactoryBean, пишется в 3.5 строчки, именно поэтому скала проще.

Ответы>>634526>>634529

26 Янв, 02:33 #34 #634525

>>634471
Нах она нужна если есть Akka Streams?

Ответы>>634530

26 Янв, 02:35 #35 #634526

>>634524
Проще ровно до того момента, когда что-то ломается. Не понимая, как это работает - ты продолжаешь писать на Java, полагая что пишешь на Scala.

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

Ответы>>634527

26 Янв, 02:37 #36 #634527

>>634526
>Проще - накатать бойлерплейт
Ясно, уносите мартышку.

26 Янв, 02:41 #37 #634529

>>634524
Да и это не проще, это - короче. Просто - это когда думать почти не нужно. Берешь код и копипастишь, с небольшими правками для себя. Когда этим обезьяны заниматься могут.

26 Янв, 02:42 #38 #634530

>>634525
Нах она нужна если есть пенопласт?
сам то понял, что написал?

Ответы>>634531

26 Янв, 02:47 #39 #634531

>>634530
да, я дебил. это другое

28 Янв, 11:29 #40 #636615

Что стоит сделать чтобы попробовать весь тайпсейф стек + аэроспайк и кассандру? А то через полтора месяца собираюсь пройти стажировочку, хочу попробовать сам, сначала разобраться.
Твитор клон, его и на пыхе сделать можна?

Ответы>>637041

28 Янв, 18:49 #41 #637041

>>636615
Борду

Ответы>>637261

28 Янв, 22:22 #42 #637261

>>637041
/r/ Ъ-макабу на ирланге Швеция-куна. Может что-то позаимствую.

Ответы>>637388

29 Янв, 01:49 #43 #637386

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

223 Кб, 1092x952

29 Янв, 01:52 #44 #637388

>>637261
бля, запостил раньше времени. Внимание, вопрос почтенной публике:
Есть ли какой-то (каноничный) способ короткой записи лямбд вида v => v, или v => True, или v => False, ну типа тех, которые вроде нейтрального элемента в теории групп.

Ответы>>637403>>637404

29 Янв, 02:58 #45 #637403

>>637388
> v => v,
identity

> или v => True, или v => False,
_ ⇒ True

Ответы>>637408

29 Янв, 03:01 #46 #637404

>>637388
identity, true, false. Не?

Ответы>>637415

29 Янв, 03:16 #47 #637408

>>637403
Спасибо

29 Янв, 03:39 #48 #637415

>>637404
ага, так

29 Янв, 10:51 #49 #637509

Вчера пробовал эту вашу Скалку, хотел сделать список, содержащий Int или Double, а sum types, оказывается, в вашем недоязыке-то и нет! И конпелятор мне тут пишет "так, это у тебя List[AnyVal]". Вообще охуеть.

Ответы>>637534>>639097>>649817

29 Янв, 11:35 #50 #637534

>>637509
> сделать список, содержащий Int или Double
откуда ты такой дибил к нам пришел?

Ответы>>637536>>637554

29 Янв, 11:45 #51 #637536

>>637534
Из динамикодрисни, очевидно же.

29 Янв, 12:24 #52 #637554

>>637534
А как это идиоматично в Scala сделать?

Ответы>>637597

29 Янв, 13:50 #53 #637597

>>637554
https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0.0#heterogenous-lists
https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0.0#coproducts-and-discriminated-unions

Ответы>>637625>>637647

29 Янв, 14:44 #54 #637625

>>637597
Злые вы, сразу нубу гвоздь в мозжечок вбиваете этим вашим шейплесс
http://stackoverflow.com/a/3508555

Ответы>>637628>>637647

29 Янв, 14:49 #55 #637628

>>637625
А что мешает просто в язык добавить type MyType = A | B | C ?

Ответы>>637629>>637632>>637647>>637698>>637816

29 Янв, 14:51 #56 #637629

>>637628
То, что это, блядь, скала. Слишком просто - значит неинтересно.

29 Янв, 14:53 #57 #637632

>>637628
http://stackoverflow.com/questions/19081904/scala-difference-between-a-typeclass-and-an-adt

29 Янв, 15:12 #58 #637647

>>637628
Добавят в dotty.
Пока идиоматично сделать sealed trait и case classы. Если хочется повыёбываться, сделай как >>637625 предложил. Если выёбываться хочется сильно, а компилировать код долго, то юзай shapless (>>637597) или сам это реализуй: http://milessabin.com/blog/2011/06/09/scala-union-types-curry-howard.

Ответы>>637656

29 Янв, 15:18 #59 #637656

>>637647
Вот, только хотел написать, что вроде планируют запилить. Даж в ссаном тайпскрипте есть.

29 Янв, 16:19 #60 #637698

>>637628
В Scala.js такая хуйня есть, попробуй оттуда выдрать

29 Янв, 18:34 #61 #637816

>>637628

Это нельзя сделать на JVM, в scala.js это тип-интринсик компилятора и работает толко за счет того, что все типы стираются в js.Any

Ответы>>637863

29 Янв, 19:04 #62 #637863

>>637816
А тип листа в жвм не стирается? По сути это всего лишь сахар для конпелятора, типа чтоб СТАТИЧНЕНЬКО, а так-то можно сделать List[Any] и потом хуярить match/case.

Ответы>>637934

29 Янв, 20:16 #63 #637934

>>637863
Мы о разных вещах говорим, тут и спора никакого нет. Union-types в ванильной скале хорошо реализуются обертками или боксингом с паттерн-матчингом по забоксеным значениям (case/instanceof), не вопрос. Другое дело, что в js любые значения по определению являются union-types. Для того, чтобы можно было передавать функциям при интеропе типизированные объекты, не имеющие общего предка кроме js.Any, и сохранить тайпчеки на стороне scala-кода, не указывая js.Any как тип параметра, ввели такой костыль, который просто стирается.

31 Янв, 03:10 #64 #639097

>>637509
Ну, для двух типов есть Either, а так sum type будут вводить в 2.12 вроде

11 Фев, 01:30 #65 #649737

Бамп треду про лучший язык для JVM!

Ответы>>649755

11 Фев, 02:29 #66 #649755

>>649737
Это Clojure.

Ответы>>649813

11 Фев, 09:25 #67 #649813

>>649755
> Clojure.
Мертворожденный кал

11 Фев, 10:00 #68 #649817

>>637509
надеюсь ты сдохнешь от рака жопы в этом году, гнида тварь

Ответы>>649831

11 Фев, 10:41 #69 #649831

>>649817
Представься, мразь.

11 Фев, 11:09 #70 #649835

А много на скале в реальной жизни пишут?

Ответы>>649842>>649844>>649873

11 Фев, 11:44 #71 #649842

>>649835
Что значит много? Я только на ней и пишу хуй знает, много или нет например, а кто-то вообще не использует.

11 Фев, 11:50 #72 #649844

>>649835
Если ты про индустрию, а не админов локалхоста, то чуть больше, чем на Хачкиле, скажем так.

Ответы>>649887

11 Фев, 12:41 #73 #649873

>>649835
In April 2009, Twitter announced that it had switched large portions of its backend from Ruby to Scala and intended to convert the rest.[79]

Gilt uses Scala and Play Framework.[80]

Foursquare uses Scala and Lift.[81]

SpinGo uses Scala and Akka.[82]

Coursera uses Scala and Play Framework.[83]

The Guardian newspaper's high-traffic website guardian.co.uk[84] announced in April 2011 that it was switching from Java to Scala,[85][86]

The New York Times revealed in 2014 that its internal content management system Blackbeard is built using Scala, Akka and Play.[87]

The Huffington Post newspaper started to employ Scala as part of its contents delivery system Athena in 2013.[88]

Swiss bank UBS approved Scala for general production usage.[89]

The BitGold platform was built entirely on Scala and Play Framework.[90]

LinkedIn uses the Scalatra microframework to power its Signal API.[91]

Meetup uses Unfiltered toolkit for real-time APIs.[92]

Remember the Milk uses Unfiltered toolkit, Scala and Akka for public API and real time updates.[93]

Verizon seeking to make "a next generation framework" using Scala.[94]

Ответы>>649888

11 Фев, 13:21 #74 #649887

>>649844
Ну хачкиль это совсем до свидания

11 Фев, 13:22 #75 #649888

>>649873
а в рашке?

Ответы>>649895>>728094

11 Фев, 13:31 #76 #649895

>>649888
Тинькофф.

Короче, замена раби (как и ява замена пхп) для бохатых компаний.

Ответы>>649904

11 Фев, 13:40 #77 #649904

>>649895
Но у Руби же плохо с производительностью и ее используют больше для прототипов. Скала такая же?

Ответы>>649921>>649948

11 Фев, 13:58 #78 #649921

>>649904
Нет. Первое тоже нет.

11 Фев, 14:26 #79 #649948

>>649904
Относительно явы скала тоже проигрывает в производительности, так что в какой-то степени.

Ответы>>650006

11 Фев, 15:32 #80 #650006

>>649948
Пруфы? Тесты? Интриги, расследования?

Ответы>>650036

148 Кб, 900x588

11 Фев, 15:51 #81 #650036

>>650006
>oh, scala performance...
http://ivan-gandhi.livejournal.com/2356883.html

Ответы>>650041>>650046>>650182

11 Фев, 15:59 #82 #650041

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

Ответы>>650042>>650062

11 Фев, 16:00 #83 #650042

>>650041
>, проложенный, в нужных местах,
, проложенный в нужных местах,
лишняя запятая прилипла, соре

11 Фев, 16:03 #84 #650046

>>650036
И вообще иди нахуй, синтетический.

11 Фев, 16:17 #85 #650062

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

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

Проложенный в нужных местах через JNI C++-код в Java проекте работает со сравнимым быстродействием, что тебе еще нужно, смерд?

Проложенный в нужных местах С код в C++ проекте работает со сравнимым быстродействием, что тебе еще нужно, смерд?

Проложенные в нужных местах ассемблерные вставки в С коде работают со сравнимым быстродействием, что тебе еще нужно, смерд?

Сам понял тупость сказанного? "Идеоматик" средства языка - это именно средства предоставляемые языком, а не его прародителем.
В любой задаче всегда удобно использовать средства языка, и всем приматам пишущим на скале как и на других высокоуровенных языках абсолютно похуй, будет их функция работать на 2 мс быстрее. Не им же в конце-то концов банк по 3 недели после НГ деньги переводит.

Ответы>>650072>>650084

11 Фев, 16:27 #86 #650072

>>650062
Проложенный в нужных местах через JNI C++-код в Java проекте работает со сравнимым быстродействием, что тебе еще нужно, смерд?

Залупа на воротник. Выигрыш если и есть, то мизерный. Про Си с асмом расскажешь посонам у падика.

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

Естественно, на абстрактные миллисекунды на реальном проекте всем похуй. Есть требования - с определенным набором данных код должен успевать отработать за определенное время. Идиоматичный код отрабатывает (а он отрабатывает в 99% случаев) за нужное время — заебись, нет — начинаем искать боттлнеки, и что-то менять.

Ответы>>650088

145 Кб, 999x555

11 Фев, 16:42 #87 #650084

>>650062

Он еще и на зоне сидел, если не врет:

> Ну и взяли меня наконец. Литература там, то да се. "Зияющие Высоты", "Архипелаг", тут же и фотопленка моего изготовления - статья готова. Им-то нужен был Револьт - но на Револьта никто не показывал. Да и не Револьт вовсе мне книжки давал, без него хватало народу. Книгоношу нашу, Маргариту, тоже, конечно, схватили; на нее в Питере настучали. А на меня - по месту жительства, в Сыктывкаре. Одно время, в начале 90-х, модно было расспрашивать, а кто конкретно стучал? А зачем это вам, чтобы чувствовать себя на высоте, как бы встать рядом с теми, кто сидел, и пальцем показывать на предателей?

> Так вы хотите знать, кто предал? Да ведь вы и предали-с. Вы продали меня за относительно уютную квартирку, за стабильную получку два раза в месяц, за возможность видеть своих детей каждый вечер и отправить их летом в пионерлагерь, за обыкновенную свою жизнь - вы и продали. Вы молчали, когда нас арестовали, когда на собраниях про нас выдумывали всякую гадость, когда вас спрашивали о характере знакомства, а вы говорили, что после окончания ВУЗа ничего обо мне не слышали. Вы и предали. А кто еще? Урнышев? Что Урнышев мог предать, если он был по другую сторону невидимой баррикады? А предали - вы. И меня, и себя.

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

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

http://patryshev.com/literatura/volum2/istoria_zisni.html

11 Фев, 16:44 #88 #650088

>>650072
>Залупа на воротник.
Мамаше твоей тупой.
>Выигрыш если и есть, то мизерный.
Гуглу расскажи, который на этом мизере миллионы экономит где-то бумажка с их исследованиями лежит. Хотя, тебе с твоей задрюпанной шаражкой, конечно похуй, лишь бы трактор завёлся.
>Про Си с асмом расскажешь посонам у падика.
Ну так это сравнение, дефектное. Хотя твой мозг даже си не потянул бы.
>за определенное время. Идиоматичный код отрабатывает (а он отрабатывает в 99% случаев) за нужное время — заебись, нет — начинаем искать боттлнеки, и что-то менять.
>за определенное время
Что и требовалось доказать, ведь мы как никак изначально говорили что это медленное дерьмище. Если уж возникает ботлнек на продакшен серверах (а у всяких банков на хорошее железо деньги есть) - такой язык дефакто медленное дерьмо.

Ответы>>650099>>650111

11 Фев, 16:51 #89 #650099

>>650088
>Гуглу расскажи
Мамкин максималист? Про принцип Паретто слышал?

В банке не работал, а под программно-аппаратные изделия писал, да, пример оттуда.

Ответы>>650112

11 Фев, 17:03 #90 #650111

>>650088
>такой язык дефакто медленное дерьмо
Ага, медленное дерьмо коррелирует с ЯП, лол

Ответы>>650114

11 Фев, 17:04 #91 #650112

>>650099
>Мамкин максималист?
Конечно. Ещё и технофашист.
>Про принцип Паретто слышал?
Конеш. Только учитывая разную специфику проектов он варьируется в них так же, как и звучит.

Ответы>>650113

11 Фев, 17:06 #92 #650113

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

Ответы>>650120

11 Фев, 17:06 #93 #650114

>>650111
Если на других яп один алгоритм реализованный идиоматичными средствами будет ощутимо быстрее - да, медленное дерьмо и %название_яп% становятся почти синонимами.

Ответы>>650123

11 Фев, 17:11 #94 #650120

>>650113
Эээ, нет, я признал что я не терплю говна, а не то что это справедливо только к гуглу. На большей эффективности (в плане перформанса) могут выиграть не только гиганты, но и стартапы, и даже дядя-вася написавший %шареваренэйм% менее требовательным к железу.

Недавно на медиуме мелькала статья о челике, который писал что-то там о экономии на железе своего бомжестартапа благодаря C++. Аналогичных истории о том же Go - жёпой жуй.

Ответы>>650130>>650139

11 Фев, 17:12 #95 #650123

>>650114
>Если на других яп один алгоритм реализованный идиоматичными средствами будет ощутимо быстрее
То такую реализацию никто не будет использовать. Как, например, никто не будет писать рекурсивные реализации сортировок, хотя это красиво и напрямую мапится в математическое определение.

Ответы>>650145

11 Фев, 17:16 #96 #650130

>>650120
>экономии на железе своего бомжестартапа благодаря C++
Отлично, у чела было свободное время, которое он сконвертировал в вертикальную масштабируемость своего стартапа. Ты ведь понимаешь, что вначале он упрется в производительность бомжежелезки, а затем в производительность одной ноды, любой доступной в настоящее время конфигурации? При условии роста нагрузки, естественно.

Ответы>>650145

11 Фев, 17:20 #97 #650139

>>650120
Я бы скорее взял такую шкалу: скриптота - vm - нэйтив код. Внутри одного уровня производительность критично не различается (речь здесь не идет про маргинальщину), бери что удобнее.

11 Фев, 17:26 #98 #650145

>>650130
>а затем в производительность одной ноды, любой доступной в настоящее время конфигурации
А ещё я понимаю что если стартап взлетит и появится нагрузка каждая доступная в данный момент нода будет использоваться эффективнее.
>>650123
>То такую реализацию никто не будет использовать.
Нуу.. На раби с питоном тоже пишут и крупные сервисы (хотя там дело именно в скорости разработки). Так что зависимость популярности от производительности сомнительна.

Ответы>>650147>>650149

11 Фев, 17:30 #99 #650147

>>650145
>А ещё я понимаю что если стартап взлетит и появится нагрузка каждая доступная в данный момент нода будет использоваться эффективнее.

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

Ответы>>650153

11 Фев, 17:31 #100 #650149

>>650145
>уу.. На раби с питоном тоже пишут и крупные сервисы

Руби, Питон, пхп.. Львиная доля запросов дальше мемкеша не пройдет.

Ответы>>650153

11 Фев, 17:39 #101 #650153

>>650149
>Руби, Питон, пхп.. Львиная доля запросов дальше мемкеша не пройдет.
Значит докупятся ещё 5-6 серверов, чо.
>>650147
> возникают интересные вопросы с деплой автомейшн
Какие?
>сопровождением, набором кадров
Скажи ещё что на скале больше людей пишут, или что у неё приток больше. Если относить по размерам к какому нибудь рынку Java/C# - она ещё большая маргинальщина, чем даже C стандарта 89 года.

Ответы>>650158

11 Фев, 17:44 #102 #650158

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

Ответы>>650179

11 Фев, 18:02 #103 #650179

>>650158
>Прямо сейчас можно взять хипстора, который будет поначалу писать как на джабе с сахарком.
Не, хипсторов и прочую поеботу я бы не рискнул допускать до функционального языка. А писать на скале как на яве не получится никак. Здесь шутка про ++ и + и их типобезопасность, нытьё про хвостовую рекурсию и кучу прочего.
>Спец, который будет писать на под веб на Си, притом писать непадучий безопасный код - я хз, где брать такого единорога.
Кроме C подойдёт и любой C++ программист.
Именно парочку спецов найти вполне можно, а дальше сгодятся и макаки которые будут коммитить только через кодревью, как и везде.

Ответы>>650195

11 Фев, 18:03 #104 #650182

>>650036
Я хуею с такого сравнения. А ничего, что в Java сортируется массив, а в "Idiomatic Scala" — односвязный список?

Ответы>>735505

11 Фев, 18:12 #105 #650195

>>650179
Отлично. В обоих случаях имеем одного-двух рокстаров и отряд мартышек.

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

Ответы>>650214

11 Фев, 18:37 #106 #650214

>>650195
Однажды мартышка закомитит
val chlen_lenght = List('1', '2')
val hui = "5" + chlen_lenght
И получит еботню в виде 5list(1,2).
Или ещё где-то видел такую вещь, что .toSet возвращал нормальный результат, а .toSet() - Boolean.
Господи, да любое взаимодействие с явакодом требует кучи преобразований структур данных и не редко вызывает NPE.

Это так, к слову о человеческом факторе. Скала - не ява, и мартыханов с легким сердцем на неё сажать не получится.

Ответы>>650216>>650322>>650819

11 Фев, 18:47 #107 #650216

>>650214
Отсюда преимущество: приходя на проект на скале, ты скорее всего будешь работать с умными людьми, а не тупыми макаками.
Уже видел несколько проектов, которые начинали на скале именно потому, что она работает как фильтр от обезьян.

Ответы>>650281

5952 Кб, Webm

11 Фев, 19:09 #108 #650233

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

Вот каким образом развратник приступил к омерзительной операции. Его окружили четверо скала-петухов: один держал наготове большой ночной горшок, второй взял зажженную свечу и подставил ее поближе к анусу, чтобы было лучше видно происходящее, третий сосал ему член, четвертый, перекинув через руку белоснежное полотенце, целовал Ганди в губы. Тот, опершись еще на двоих педерастов, поднатужился, и как только появилось невероятное количество дерьма, которое обыкновенно и регулярно выдавал хозяин параши, учитывая страшное количество поглощаемого им борща, тот петух, что держал горшок, принялся восхвалять экскременты. «Какое прекрасное скала-дерьмо! — восклицал он. — Ах, господин мой, какое превосходное говно! Как красиво вы испражняетесь». Когда дифирамбы закончились, педераст, вооруженный салфеткой, языком очистил преддверие ануса, а горшечник подставил содержимое горшка под нос Ганди и опять громогласно восхвалял его. После этого мощная струя мочи ударила в рот сосателю, который тут же проглотил всю жидкость, полотенце завершило то, что не мог сделать язык, и четверо скала-петухов, оставшись без дела, долго сосали поочередно язык, фаллос и задний проход распутника.
(Автор этого поста был забанен. Помянем.)

Ответы>>650258

sage 11 Фев, 19:47 #109 #650258

>>650233
Высрался, уебок? Полегчало тебе? Нет? Попробуй в следующий раз поударяться головой о стену.

Ответы>>650270

446 Кб, 599x527

11 Фев, 20:02 #110 #650270

>>650258
> боль JVM-мартыхана

Ответы>>650284

11 Фев, 20:08 #111 #650281

>>650216
Ну теперь буду знать как объяснять дырки в других языках, лол.

sage 11 Фев, 20:10 #112 #650284

>>650270
Забавно серишь и обмазывешься, братишка. В /b/ или /po/ тебе были бы рады.

11 Фев, 20:36 #113 #650322

>>650214
>5list(1,2)
Это не проблема, на самом деле. В haxe то же самое - на выходе получается строка, и тайпчекер начинает ругаться.

Ответы>>650451

11 Фев, 22:17 #114 #650451

>>650322
И ради того чтобы больше мартых вспороло себе живот они оператором ++ складывают содержимое листа в строку.

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

Ответы>>650782>>650786

12 Фев, 01:15 #115 #650782

>>650451
Оно просто не сконперируется, тебе же ответили.

12 Фев, 01:19 #116 #650786

>>650451
Кстати, в Scala нет перегрузки операторов.

12 Фев, 01:27 #117 #650793

>>633264
Сеньёр девелопер в треде, я спокоен

Ответы>>650813>>735605

12 Фев, 02:01 #118 #650813

>>650793
Промазал? Промазал.

12 Фев, 02:09 #119 #650819

>>650214
> Однажды мартышка закомитит
> val chlen_lenght = List('1', '2')
> val hui = "5" + chlen_lenght
> И получит еботню в виде 5list(1,2).
А что он должен был получить по-твоему? Ошибку конпеляции? Но ведь тогда мартышкам будет больно, строки не посклеивать(((

Ответы>>650822

12 Фев, 02:13 #120 #650822

>>650819
Именно ошибку конпиляции и получит. val hui не пролезет в сигнатуру метода zalupa.chlenomer: Int

Ответы>>650824

12 Фев, 02:16 #121 #650824

>>650822
А если это String то пролезет. Я бы всё-таки запретил складывать строки с хуйнёй, для этого есть s"${huita}"

Ответы>>650826>>650829>>651077

12 Фев, 02:18 #122 #650826

>>650824
А если String, то значит это не ошибка, а так задумано.

12 Фев, 02:23 #123 #650829

>>650824
Я бы тоже конкатенацию запретил.

12 Фев, 11:23 #124 #651077

>>650824
Если это String, то туда не пролезет List("5", '1', '2'). И я надеюсь, что в скалке можно задавать строки обеими кавычками, иначе вообще хуй знает, что автор этого кода хотел сделать.

Ответы>>651180

12 Фев, 12:49 #125 #651148

>>633151 (OP)
Поясните за совместимость.

Как скала компилируется?
а) Scala --> Java byte code
б) Scala --> Java --> Java byte code

Предстоит работать с узкоспециализированным фреймворком под JVM, про поддержку Скалы ничего не известно. Может оказаться так, что я не смогу Скалу использовать?

Ответы>>651161>>651166>>651180

12 Фев, 12:59 #126 #651161

>>651148
В байт-код

Ответы>>651190

12 Фев, 13:07 #127 #651166

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

Ответы>>651190

12 Фев, 13:26 #128 #651180

>>651077
По обещаниям это типобезопасный язык - такой хуйни быть не должно.
На практике - http://ideone.com/NQDUXH

>>651148
Если нету офф. поддержки - лучше не еби мозги и не примешивай скалу (разве что только в местах не связанных с фреймворком). Работать с чем-то явным кроме стандартной библиотеки достаточно больно - уродливые конструкции и постоянные перегоны типов, убивающие нахуй производительность и память, NPE и прочая поебота.
Из самой явы - а если фреймворк чисто явный без неё не обойтись - использовать код скалы просто пиздец как больно, см. гугл.

Ответы>>651190>>651191>>651352>>651489>>651512

12 Фев, 13:40 #129 #651190

>>651161
>>651166
>>651180
Ок, спасибо ребят.
Буду тогда жаву использовать, чтобы мозги не трахать себе и коллегам.
Годный тред у вас.

12 Фев, 13:41 #130 #651191

>>651180
А ты как хотел. В первом случае неявное приведение к String, во втором — расширение строки на Seq. В реальном коде от такого можно огрести только если слепо полагаться на вывод типов и не продумывать интерфейсы. За программирование без проектирование интерфейсов принято бить канделябром.

12 Фев, 16:01 #131 #651352

>>651180
>По обещаниям это типобезопасный язык - такой хуйни быть не должно.
Ты в List[Any] что угодно запихнуть можешь, о какой типобезопасности речь идет?
>Работать с чем-то явным кроме стандартной библиотеки достаточно больно - уродливые конструкции и постоянные перегоны типов, убивающие нахуй производительность и память, NPE и прочая поебота
Какие уродливые конструкции? Зачем перегонять типы, можно просто джавовые использовать? Про NPE вообще пушка, как будто в джаве их не будет. В скале хотя бы null'ы из библиотеки можно в Option'ы завернуть. Обёртки и для перегонов типов актуальны, кстати, тут нужно на влияние на производительность смотреть.
В общем, в 2016-ом единственная причина не использовать Скалу - недостаток программистов и/или неуверенность в них.

Ответы>>651489

12 Фев, 17:35 #132 #651489

>>651352
Я не >>651180, но иди-ка ты нахуй.
Сам-то пробовал мешать скалу с джавой или писать на скале под джавовый фреймворк?

Очень блядь охуенно удобно передавать List[Int] в джавовый метод, ожидающий Collection[Integer]:
ololo.setIds(ids.map(_.asInstanceOf[Integer]).asJava)

А особенно я люблю, когда нужно передать лямбду.

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

Ответы>>651886>>651906

12 Фев, 18:01 #133 #651512

>>651180
>На практике
Теперь создай функцию, которая принимает List[Char] (или это String у вас?), и попробуй передать в неё "lol" + kek.

12 Фев, 23:26 #134 #651886

>>651489
>Щас ты, конечно, предложишь обмазаться имплиситами с головы до ног
Нет, не предложу, я же не даун.
Предложу:
1) Сделать так чтобы значение ids имело тип Collection[Integer]
2) Вынести преобразование типов в обёртки, то есть метод setIds принимал List[Int] + null'ы туда же
Или еще что-то зависящее от конкретного случая.

12 Фев, 23:37 #135 #651906

>>651489
> А особенно я люблю, когда нужно передать лямбду.
Жди 2.12

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

12 Фев, 23:38 #136 #651909

>>633151 (OP)
Scala - это когда здравый смысл подсказывает, что можно использовать продвинутый язык, но опыт в энтерпрайзе подсказывает, что "серьёзный" язык должен обязатель быть с привкусом говна.
Scala - это когда когда в промышленных библиотеках эмулируются наиболее сложные паттерны Хаскеля посредством ональных трюков, при том что даже в самом Хаскелле, заточенном под эти паттерны, они считаются сложными и применяются ограниченно и с крайней осторожность в библиотеках с тегом experimental.
Scala - это способ выебнуться, "потому что можем!" Похуй, насколько сложно этим пользоваться, насколько не подходит это языку, но ведь можем же! В лечении зубов через ональное отверстие Скала на первом месте.
Scala - это фанбои, которые открыли для себя тайпчекер и теперь тайпчекают, скажем, диррективы в спрее (где всё равно практически невозможно ошибиться, а война с тайчекером - там боль на ровном месте), но при этом пишут безтиповую акку.
Scala - это когда паттерны динамического языка засовывают в статический (акка), в результате программист вынужден пидорасить классы для входящих и исходящих сообщений, которые нигде не используются. Ну т.е. взяли всё худшее из динамических языков (отсутсвие типизации), смешали со всем худшим из статических языков (необходимость явно описывать типы), получилась типичная библиотека Scala.
Scala - это безумное время компиляции, и безумный расход памяти при исполнении. И еще - Scala это один из немногих языков, где как нехуй делать получить null pointer exception, при том, что null-ов в Скале вроде как нет. Ну просто из-за особенностей порядка инициализации полей.
Scala - это когда eDSL-ем на порядок сложнее пользоваться, чем самим языком, для которого этот eDSL построен (см. slick). Scala, это когда язык с менее продвинутой системой типов (C# LINQ) делает всё то же самое существенно удобнее, чем более "продвинутая" Скала.
Scala - это когда надо освоить Хаскель на продвинутом уровне, чтобы программировать на Скале. Scala - это когда у высококлассных хаскеллитов есть шанс разобраться во всех её изъёбствах опираясь на свой бекграунд, а вот как поступать быть обычному программиту, который всю жизнь на Джеве программировал, с этим криптохаскелем, совершенно не понятно, и скалафанбоев, похоже, не ебёт.
Вот это и есть Скала, это вот всё.

Ответы>>651923>>756507

12 Фев, 23:52 #137 #651923

>>651909
> боль неосилятора
Кек.
> акка
Для кого akka-streams сделали? А ну пошёл говно чистить
>а вот как поступать быть обычному программиту, который всю жизнь на Джеве программировал, с этим криптохаскелем, совершенно не понятно,
Манямирок, вкатился в скалу почти без опыта в джяве.

Ответы>>651931>>651996

13 Фев, 00:00 #138 #651931

>>651923
Akka-streams - это тот случай, когда akka-долбоёбы героически решают созданную ими же проблему отсутсвия back-pressure и отсутсвия типизации посредством написания могущественного фреймворка над лучезарным фреймворком. Короче, сами создали проблему, сами её и порешали спустя три года, "яичко испечет да сам и облупит." Охуенные самодостаточные программисты.

Ответы>>651935

13 Фев, 00:04 #139 #651935

>>651931
> пок пок кукареку мне лишь бы кукарекать
Понятно

Ответы>>651939

13 Фев, 00:10 #140 #651939

>>651935
>мне лишь бы кукарекать
Ничего страшного, просто ты петух)

Ответы>>651991

13 Фев, 00:58 #141 #651991

>>651939
Лол, опущенное чмо с петушиной аватаркой продолжает копротивляться.

13 Фев, 01:02 #142 #651996

>>651923
Двачую, на мерзкой джабе не писал не дня, сразу взял скалу.

Ответы>>652000

13 Фев, 01:04 #143 #652000

>>651996
*ни дня

20 Фев, 13:56 #144 #660919

нафаня в треде
правда ли что с появлением java 8 смысл существования скалы уничтожился?

Ответы>>660926

20 Фев, 14:00 #145 #660926

>>660919
В скале конечно смысла не много кроме мастурбации на самого себя, но нет, лол.

Ответы>>660927

20 Фев, 14:02 #146 #660927

>>660926
то что появился функционализм в жаве8 разве не убивает ли жанр конкурентов жавы на этом поприще(котлины, скалы)?
или в чем тогда смысл скалы(искренне был уверен что это такая ФП-джава и все)

Ответы>>660935>>663921

20 Фев, 14:09 #147 #660935

>>660927
>то что появился функционализм в жаве8 разве не убивает ли жанр конкурентов жавы на этом поприще(котлины, скалы)?
Эмм... Нет. Там появились лямдочки, всё, жява уже функциональный язык. Лел.
Это другой язык, который с явой объединяет платформа.
>или в чем тогда смысл скалы(
Как и любого функционального языка - если у тебя есть ахуенная команда сеньёров помидоров - делать быстро ахуенные продукты (как это получилось у Тинькофф-а). Если у тебя её нету - делать нерабочее говно, которое никогда не выйдет в продакшен и дрочить на свою самооценку за мамкиным борщём.

Ответы>>660938>>663921

20 Фев, 14:13 #148 #660938

>>660935
спасибо! ухожу греть борщ

23 Фев, 17:04 #149 #663921

>>660927
Не убивает, чуть-чуть ранит только.
http://fsharpforfunandprofit.com/posts/is-your-language-unreasonable/
>>660935
Два чаю.

28 Фев, 23:07 #150 #670477

Есть одна древняя cms на жаве и есть одна пхп макака на которую скинули задачу поправить одну хуйню. Хуйня находится в skala файле, и нужно этот скала файл как нибудь отдебажить. Но тут есть одна проблема, я до этого ни разу не работал с жавой и всем, что с ней связано, и я блядь даже понятия не имею как эту хуйню отдебажить. Исходников самой cms нет, а компиляция scala файлов запускается из админки с неизвестными мне параметрами. Так вот, возможно ли как нибудь вручную добавить breakpoint? А может в skala есть что нибудь похожее на вардамп?

Ответы>>670492

28 Фев, 23:17 #151 #670492

>>670477
Чё? В IntelliJ IDEA брейкпоинт ставишь и жмёшь дебаг

Ответы>>670508

28 Фев, 23:28 #152 #670508

>>670492
Я походу недостаточно понятно объяснил, извиняюсь. Если я правильно понимаю, для того чтобы IntelliJ IDEA смог зафиксировать брейкпоинт, нужно чтобы он этот файл скомпилил. Но в моем случае это не возможно, так как долбаная cms компилит все skala файлы сама и собирает их в один jar файл, который потом и юзает. Сам я никак собрать этот файл не могу, так как в него собирается овер дофига skala файлов разбросанных по всему проекту.

Ответы>>670600>>670786

29 Фев, 00:22 #153 #670600

>>670508
Сейчас поймал себя на мысли что за 3 года работы со скалой пользовался дебаггером раз 10 наверное, в основном когда с рефлексией что-то делал. Прочитай код, пойми его и поменяй. Зачем сразу в дебаггер лезть? Работаем методом тыка?

29 Фев, 03:00 #154 #670786

>>670508
> долбаная cms
Ну запусти её из под IDE в дебагере. Или сделай хуйню вроде https://stackoverflow.com/questions/21114066/attach-intellij-idea-debugger-to-a-running-java-process

36 Кб, 600x600

02 Мар, 02:25 #155 #673005

Как комьюнити относится к kotlin? (без сырказма)

Ответы>>673008>>673028>>673279

02 Мар, 02:35 #156 #673008

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

Ответы>>673155

02 Мар, 03:11 #157 #673028

>>673005
Хороший кетчуп, мясо им поливаю, вкусно.

02 Мар, 10:37 #158 #673155

>>673008
1 контора

02 Мар, 13:54 #159 #673279

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

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

Ответы>>673385

02 Мар, 16:08 #160 #673385

>>673279
> пока его не перевели на OpenJDK
Ты правда думаешь что Java 8,9,... будет лучше котлина?
Уже давно кто хотел перешли на retrolambda и все равно это жалкая тень котлина.

Тем более 99% девайсов не обновятся до нового андроида, а их нужно поддерживать.

Ответы>>673438

02 Мар, 17:10 #161 #673438

>>673385
> Ты правда думаешь что Java 8,9,... будет лучше котлина?
Не лучше, но для большинства - достаточно.

> Тем более 99% девайсов не обновятся до нового андроида, а их нужно поддерживать.
Ну да, не обновятся. Просто отомрут за пару лет так же, как умерли девайсы на 2.х, в которых у Стринга были не все методы. Гугл может даже просто добавить поддержку java8 в компиляторе, не меняя формат байт-кода, и добавить compatibility library с новыми классами, как когда-то сделал с фрагментами, тогда счастье восьмерки снизойдет даже на Jelly Bean.

Ответы>>673518

02 Мар, 18:08 #162 #673518

>>673438
> Ты правда думаешь что Java 8,9,... будет лучше Scala?
Не лучше, но для большинства - достаточно.

/тред

Ответы>>673571>>674060

02 Мар, 18:56 #163 #673571

>>673518
Нет. Ниша тех, кому недостаточно, как раз занята скалой. А вот котлин опоздал.

03 Мар, 08:08 #164 #674060

>>673518
Скала вообще другой язык, делящий с джявой только виртуальную машину

Ответы>>674182>>674214

03 Мар, 12:43 #165 #674182

>>674060
Двачую этого. Индусы и в жяве лябды в штыки восприняли - ведь СЛОЖНА. Ни о какой пересекающейся области речи идти и не может.

03 Мар, 13:29 #166 #674214

>>674060
Тричую, нафиг нам совместимость с жабой, еще зашкваримся об нее.
Лучше все проекты/библиотеки с нуля перепишем.

Ответы>>674361

03 Мар, 16:34 #167 #674361

>>674214
Как ты мог заметить, петух, совместимость де-факто только в одну сторону, чтобы можно было безболезненно забрать библиотеки с джявы и выкинуть её нахуй.

05 Мар, 00:20 #168 #676677

Если я на уроках математики спал, мне в скалу лезть вообще не стоит?

Ответы>>676854

05 Мар, 03:41 #169 #676854

>>676677
Откуда вообще взялся пиздёж про то что программирование связано с математикой?

Ответы>>677002

05 Мар, 12:12 #170 #677002

>>676854
Ну функциональное программирование это не классы наклепать и уйти кофе пить.

Ответы>>677013

05 Мар, 12:43 #171 #677013

>>677002
И чем оно сложнее?

05 Мар, 13:15 #172 #677031

Где можно использовать скалу? Что надо попутно учить чтобы найти удаленку?
То есть мне понятно где можно использовать Джаву (тырпрайз, андроид, бекенд), пхп, руби, питон. А вот скалу где?

Ответы>>677224

05 Мар, 15:27 #173 #677224

>>677031
Везде
>тырпрайз, андроид, бекенд, фронтенд
Разве что драйвера и ОС не напишешь

05 Мар, 17:01 #174 #677401

Денис пидораска.

09 Мар, 06:35 #175 #681171

Бумп

11 Мар, 18:56 #176 #684006

Доброго времени суток треду, есть здесь кто-то кто работал с play+akka+slick+oracle+postgresql?

Суть вопроса такова. Если примеров для использования slick в play хоть завались и ничего сложного в этом в принципе нет, то что касается SLICK EXTENSIONS, в частности com.typesafe.slick.driver.oracle.OracleDriver то здесь начинаются проблемы. Может кто-то поделиться годным мануалом по эксплуатации или хотя бы указать направление в котором копать.

Заранее спасибо.

Ответы>>684025

11 Мар, 19:09 #177 #684025

>>684006
Ну наверно надо вписать что-то вроде
import slick.driver.OracleDriver.api._
А дальше писать ту же хуйню что и для других баз

Ответы>>685226

12 Мар, 18:34 #178 #685226

>>684025
Боюсь, что нет. Как минимум TableQuery не получится проинициализировать. И описание таблицы не сделаешь, т.к. нет типичныхметодов, как для открытых драйверов бд.
На данный момент закостылил объектом с java методами и необходимой обёрткой, но всё же хотелось бы иметь гомогенную механику работы с бд.

Ответы>>685496

12 Мар, 21:26 #179 #685496

>>685226
Их вроде делают опенсорсом, наверно тогда же будет и документация http://slick.typesafe.com/news/2016/02/01/slick-extensions-licensing-change.html

13 Мар, 01:30 #180 #685757

Озадачился вопросом необходимости IO монады в императивных/мультипарадигмальных языках.
После прочтения этого http://blog.higher-order.com/assets/scalaio.pdf и этого https://apocalisp.wordpress.com/2011/12/19/towards-an-effect-system-in-scala-part-2-io-monad/ вроде сложил в голове определённую картинку. Но всё равно не покидает стойкое ощущение того, что за всеми красивыми словами типа "Separation of I/O code from logic" и "Algebraic reasoning" на деле не стоит нихуя и мне просто предлагают бесплатно попердолиться с обмазыванием всего Real World кода в IO.

Ну и опять же, на реализации в виде
class IO[A](run: () => A)
ещё все понятно, типа все потенциально грязные действия делать отложенными и запаковывать в IO контейнер, пробрасывая их наверх. В идеале main - единственное место где будет выполнено unsafePerformIO, где все эти экшоны и будут запущенны. Ну это в теории. А на практике непонятно как скалац разрулит все эти отложенные экшоны по требованию и вообще непонятно нахуй это всё надо.

Ещё более я охуел, когда увидел реализацию типа
class IO[A] (run: RealWorld => (A, RealWorld))
это что они предлагают RealWorld везде таскать с собой, как с линейными/афиными типами? ЭТож тупо неудобно нахуй.

А потом же они чуть дальше пишут, что мол так то оно всё хуйня и бенефтов нет, но вот если заюзать свободные манадки и дальше ещё более запутанный пиздец.

В общем, есть тут те кто активно юзают IO монаду в скале чтоб пояснить мне долбоёбу с вертушки в щи как это всё говно по уму делается и так ли вообще эта IO монада нужна?

Ответы>>686057>>686473

13 Мар, 13:43 #181 #686057

>>685757
А в скале ленивое IO?

мимо не могу в скалу из-за уродливого синтаксиса

13 Мар, 14:32 #182 #686114

Как вы на скале вообще пишете? Зашёл в местную доку, и понял что кому–то таки удалось высрать что-то страшнее C++.

Ответы>>686188>>686473

sage 13 Мар, 15:27 #183 #686188

>>686114
Мартин старался

13 Мар, 18:58 #184 #686473

>>685757
Нет смысла использовать IO в скале. Основная причина в том что тебе придётся весь библиотечный код (что на джаве написанный, что на скале) обмазывать обертками, чтобы понимать где возращается T, а где IO[T]. По той же причине scalaz Task мало где используется, но там хотя бы можно написать преобразования из Task во Future и наоборот.
Еще одна причина в том что если у тебя много действий в IO у тебя из-за вложенных flatMap'ов переполнится стекэто может случиться и с любой другой монадой, но в IO/ST проблема более вероятна. Разруливается trampolining'ом, но это очевидно не эффективно.
Третья причина - чистый IO это не scala-way. Не нужно делать из скалы хаскель или джаву или еще какой язык. Хочешь побыть пуристом - просто используй Хаскель, там вся инфраструктура под это заточена.
>>686114
Скала на порядок проще C++ как по стандарту, так и по использованию, а использование библиотек проще чем кажется.

13 Мар, 19:39 #185 #686597

>>633573
От кейворда вся польза в том, что аргументы для распределений называются lambd вместо lambda. Когда нужна функция с замыканием, все равно приходится писать def.

Ответы>>686982

13 Мар, 23:59 #186 #686982

>>686597
>24/01/16
Ну нихуя ты археолог. Лямбды и замыкания - всё-таки разные вещи.

14 Мар, 14:57 #187 #687503

Анон, вкатываюсь в скалу, подскажи где совсем плохо и вообще допускается ли такое писать. В какую сторону копать? Скалу для нетерпеливых штудирую.
Собственно паста:
http://pastebin.com/gK6YpvSd

Ответы>>687523>>687590

14 Мар, 15:22 #188 #687523

>>687503
Откуда вкатываешься? Где это еще до сих пор не знают об автоформаттере?

{
case s => Future(s)
case _ => Future("Error")
} - это лол. Эррора не будет никогда, ведь на s заматчится что угодно. flatMap и map здесь лучше заменяить на for comprehension, станет сразу понятнее что здесь происходит.

Переменные f, q, s, i = очень, блядь, информативные имена.
class smsApi - хули имя класса с маленькой?
Почему getState растянул на три строки? def getState(arg: String) = ""
Вместо try { ... } catch { вернуть волшебную константу } лучше использовать Try и матчить Success/Failure.
if (map.contains(value)) { doSomething(map(value))} else {...} - тоже не scala way. Лучше map.get(value).map(blabla).getOrElse(...)

Гугли цикл статей "Neophytes guide to scala", там описывается как избежать ровно таких костылей, как у тебя.

Ответы>>687541

14 Мар, 15:40 #189 #687541

>>687523
Вкатываюсь из скриптоты. Опыта чуть больше двух недель. Курс нагуглил. Полуркаю. Спасибо.

14 Мар, 16:17 #190 #687590

>>687503
Я бы написал нечто вроде такого (пример не скомпилится): http://pastebin.com/K1nw23KG.
Что не так:
- ты используешь DI, но руками соаздешь инстанс smsApi (нужно инжектать через конструктор контроллера)

- имя класса с маленькой буквы smsApi (вспомни/почитай жаба код конвеншн)

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

- парсинг json-a в модель делается через BodyParsers: https://www.playframework.com/documentation/2.5.x/ScalaBodyParsers. Примерно так:
def modelParser[M](implicit r: Reads[M]) =
parse.using[M] { implicit request =>
val errorParser = parse.error[M](Future.successful(BadRequest("")))

request.contentType.map(_.toLowerCase) match {
case Some("text/json") | Some("application/json") =>
jsonParser[M]
case _ =>
logger.warn(s"Couldn't parse request. Invalid content type. " +
s"Request: $request. Headers: ${request.headers}")
errorParser
}
}

- бесполезный кусок кода, который ничего не делает:
val q = f.flatMap {
case s => Future(s)
case _ => Future("Error")
}

- invalidReq. Вместо этой функции нужно заимплементить кастомный ErrorHandler: https://www.playframework.com/documentation/2.5.x/ScalaErrorHandling

Ответы>>687593>>687604

14 Мар, 16:19 #191 #687593

>>687590
Блядь, распидорасило код и ссылки. Надеюсь, суть уловишь:
http://pastebin.com/K1nw23KG
https://www.playframework.com/documentation/2.5.x/ScalaBodyParsers

Ответы>>687595

14 Мар, 16:21 #192 #687595

>>687593
Спасибо, и это пораскуриваю.

14 Мар, 16:28 #193 #687604

>>687590
>- фабрика не нужна, т.к. список экшнов можно описать через роуты и замапить на соответствующие методы контроллера

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

Ответы>>687610

14 Мар, 16:34 #194 #687610

>>687604
Тебе все равно где-то придется мапить строковое название экшна на некоторый метод. Либо через роуты, либо фабрикой как у тебя. Я бы предпочел это делать через роуты и убрал название экшна из json-а.

Ответы>>687628

14 Мар, 16:43 #195 #687628

>>687610
Если у твоего приложения единая точка входа, и туда шлются все запросы и нет возможности на это повлиять, то можно изъебнуться с Play Http фильтрами и редиректить запрос на нужный роут. Можно поставить какой-нибудь прокси сервер, который будет парсить json и, в зависимости от экшна, слать запросы на нужные роуты.

Ответы>>687638

14 Мар, 16:50 #196 #687638

>>687628
Фактически я переписываю на scala приложение, которое писалось ранее. Идея была в том, что существует несколько приложений, которые общаются друг с другом и с клиентом по унифицированному RFC JSON, как средство доставки используется HTTP и WS(там где нужна дуплексная связь). Они висят в разных контроллерах как независимые приложения. На каждый контроллер свои маршруты: маршруты которые генерируют на выходе html для авторизованного и не авторизованного пользователя и маршруты которые используются для RFC JSON собственно, так же, для авторизованного и не авторизованного пользователя. В целом такой подход вроде бы больше всего похож на микросервисы. Возможно этим объяснится такой странный подход.

Ответы>>687642

14 Мар, 16:58 #197 #687642

>>687638
Понятно. Я почему-то подумал, что ты в качестве обучения разрабатываешь какое-то новое приложение и нет жестких ограничений по протоколам. В твоем случае можно и фабрику оставить или использовать один из перечисленных выше приемов (или придумать что-то новое).

Ответы>>687643

14 Мар, 17:00 #198 #687643

>>687642
В принципе можно сказать, что и для обучения. Т.к. до тех пор, пока я не буду уверенно себя чувствовать в scala и вообще понимать что происходит, ни о каком переезде на прод речь безусловно не идёт. То, на чём я писал себя исчерпало, да и возможность сейчас есть переползать сюда. Ещё раз спасибо за ответы.

14 Мар, 20:00 #199 #687948

Тем временем
https://scala.epfl.ch/

14 Мар, 21:08 #200 #688017

Где можно посмотреть примеры идиоматичного scala-кода?

Ответы>>688802>>688813>>689153

15 Мар, 15:25 #201 #688802

>>688017
На курсах Одерского

15 Мар, 15:34 #202 #688813

>>688017
Одерский вот здесь рассказывает когда какой подход применять: https://www.youtube.com/watch?v=kkTFx3-duc8
Есть классные статьи именно об идиоматичном использовании скалы "Neophtyte's guide to scala".
Вот статья вроде выглядит полезной, но я ее пока не читал: http://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html

Ответы>>689572>>696540

15 Мар, 20:09 #203 #689153

>>688017
исходники shapeless

Ответы>>689250

15 Мар, 22:02 #204 #689250

>>689153
Спустил HList тебе за щеку, изучай исходники.

Ответы>>689267

15 Мар, 22:22 #205 #689267

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

Ответы>>689275

15 Мар, 22:29 #206 #689275

>>689267
Проиграл. Внимание, серьезный вопрос - shapeless - это такой местный троллинг нубов? он ведь вроде как если не предан анафеме анонами из числа создателей компилятора, то, как минимум, сильно нерекомендован

Ответы>>689281

15 Мар, 22:40 #207 #689281

>>689275
С чего бы им предавать его анафеме? shapeless - просто пример впихания в скалу не совсем впихуемого. HList - просто типобезопасный список произвольной длины. Скала такое не умеет искаробки, вот и изъёбывался профессор джва года, целое паблисити себе сделал на такой-то хуите. Ну и наговнокодил в процессе ояебу.

Ответы>>689285>>689572

15 Мар, 22:47 #208 #689285

>>689281
Типобезопасный гетерогенный список произвольной длины.

Нет, не анафеме, просто весьма авторитетные деятели часто пишут - сто раз подумайте, прежде чем начать использовать эту ъуйту.

Ответы>>689290>>689572

15 Мар, 22:56 #209 #689290

>>689285
Использовать-то почему бы и не, все равно почти всё compile-time.

Ответы>>689572>>689576

16 Мар, 10:23 #210 #689572

>>689285
Типобезопасный гетерогенный список произвольной фиксированной длины.
>>689281
>профессор
Кто это? Разве Miles Sabin профессор?
>>689290
Слишком мощная штука, см. >>688813
>http://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html

16 Мар, 10:32 #211 #689576

>>689290
Почему бы не сделать C++ по затратам времени на компиляцию из жвм язычка.

18 Мар, 14:29 #212 #691645

Тут есть аноны, кто пользовался Scala IDE для средних / крупных проектов ? На сколько хуже Scala плагина для IDEA ?
Стоит ли вообще скачивать и запускать это поделие (перекатился с эклипса на идею около 3-х лет назад) ?

Ответы>>693397>>693877>>693954

20 Мар, 16:49 #213 #693397

>>691645
Попробуй и узнаешь

21 Мар, 08:20 #214 #693877

>>691645
работает кое-как на самом деле но идею не щупал

21 Мар, 11:22 #215 #693954

>>691645
Почему бы не использовать Intellij IDEA?

Ответы>>694154

21 Мар, 15:27 #216 #694154

>>693954
Я и использую. Просто подумал, раз Scala IDE официально поддерживалась тайпсейфом, то они могли сделать неплохую бесплатную IDE.
А по поводу IDEA - JetBrains охуел. Не успел приобрести подписку на 15 версию и попользоваться 3 месяца, как выпускается 2016 версия и будьте добры приобрести новую подписку.

Ответы>>694456>>694478>>694555

409 Кб, 1000x625

21 Мар, 18:34 #217 #694456

>>694154
> Не успел приобрести подписку на 15 версию и попользоваться 3 месяца, как выпускается 2016 версия и будьте добры приобрести новую подписку.
Всё правильно сделали, тупого гойского лоха грех не наебать.

Ответы>>694952

21 Мар, 18:47 #218 #694478

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

Ответы>>694572>>694952

21 Мар, 20:15 #219 #694555

>>694154
Ташемта подписка от 15 работает на 16. Через год только, если зажать 50 баксов, придётся крякнуть откатиться на 15.

Ответы>>694952

21 Мар, 20:23 #220 #694572

>>694478
Кстати, а стоит ли обновляться если я использую 0.идея.ланьюс.ком? Эту хуйню не пофиксили?

Ответы>>694603

21 Мар, 20:55 #221 #694603

>>694572
Да какая разница что там пофиксят, её за 15 минут снова взломали бы.

Ответы>>694952

22 Мар, 11:44 #222 #694952

>>694456 >>694555 >>694478 >>694603
Вся суть скала-питухов - нет денег даже на иде.

Ответы>>694957>>695506

22 Мар, 12:05 #223 #694957

>>694952
Вся суть местных – ломать бесплатный продукт за тим-фичи которыми всё равно не будешь пользоваться.

И да – идея по сравнению с эклипсом сосёт как по возможностям работы с кодом, скорости работы и багам в indelij-евском скалаплагине, как эклипс сосёт по ущербности своего гуя.

Ответы>>694978>>695502

22 Мар, 12:39 #224 #694978

>>694957
>тим-фичи
Типа database плагина, да

>багам в indelij-евском скалаплагине
Тут его автор пробегал, говорит, скала говно, он бы лучше котлин пилил. Но, видимо, не дали, поэтому ненавидит свою работу и старается нассать клиентам в суп как может.

Ответы>>695015>>696135

22 Мар, 13:31 #225 #695015

>>694978
>ненавидит свою работу и старается нассать клиентам в суп как может.
Наш человек.
мимо

22 Мар, 20:51 #226 #695502

>>694957
> Вся суть местных – ломать бесплатный продукт за тим-фичи которыми всё равно не будешь пользоваться.
Жалкие самоутешения пользующегося огрызком.

22 Мар, 20:52 #227 #695506

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

Ответы>>695699

22 Мар, 23:00 #228 #695699

>>695506
Они же из питерских, этим все отдают деньги.

23 Мар, 00:11 #229 #695806

котаны, есть код с книжки

[code lang="scala"]
object Demo {
def map[A, B](xs: List[A], f: A => B): List =
for (x <- xs) yield f(x)
def flatMap[A, B](xs: List[A], f: A => List): List =
for (x <- xs; y <- f(x)) yield y
def filter[A](xs: List[A], p: A => Boolean): List[A] =
for (x <- xs if p(x)) yield x
}

[/code]

почему flatMap возращает список, а не список списков?

Ответы>>695901>>696111

23 Мар, 02:15 #230 #695901

>>695806
Ну наверно потому что в этом суть префикса flat?

23 Мар, 14:23 #231 #696111

>>695806
Наркоманские у тебя книжки. Зачем они делают def map(xs, f) = xs map f ?

Ответы>>696132

23 Мар, 14:54 #232 #696132

>>696111
Упоролся? В книжке приведен эквивалентный код для map flatMap filter, чтоб нубам не было нипонятно шо це за магия такая.

Ответы>>696525

23 Мар, 14:58 #233 #696135

>>694978
>Тут его автор пробегал
>JetBrains
>сосач
Ага, а военачеры уверены, что к ним забегает Рогозин и иногда Димон. ебаные накроманы-аутисты

Ответы>>696221>>711189

23 Мар, 16:17 #234 #696221

>>696135
Так над ним рандомный макак работает, ебанашка.
А здеся и следы разных знаменитостей бывали, ничего удивительного в этом нету.

Ответы>>696357>>696361

23 Мар, 18:29 #235 #696357

>>696221
> рандомный макак
> макак
Ага, макак писал парсер языка, хитровыебанней крестов по синтаксису и семантике, макак писал плагин, который разбирает цепочки map filter fold и прочего, и адекватно предлагает упрощенные варианты выражений. И вообще статический анализ в нем очень нехуевый. Макак. Не думаю, что даже единицы из зекача так живут.

Ответы>>696451

23 Мар, 18:30 #236 #696361

>>696221
>следы разных знаменитостей бывали
Лол. Профиль Дмитрия Маликова с жидхаба?

23 Мар, 19:57 #237 #696451

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

23 Мар, 20:51 #238 #696525

>>696132
Типа, нуб лучше понимает for comprehension, чем map flatMap filter? Да ну нахуй.

Ответы>>696584

23 Мар, 21:11 #239 #696540

>>688813
Чё он шпарит с акцентом? Я думал он американец.

Ответы>>696804

23 Мар, 21:54 #240 #696584

>>696525
for comprehension можно объяснить на пальцах, и далее, используя этот концепт, показывать более сложные сущности.

24 Мар, 03:28 #241 #696804

>>696540
Немец же, ебан

26 Мар, 15:42 #242 #698818

>>633214
Однострочные лямбды на пидоне, молодец, умница, а теперь иди нахуй.

26 Мар, 19:01 #243 #699049

Сижу как сыч без документации. Поставил scala плагин на idea, скачал sdk, там внутри есть все джарки с документацией, но идея ее не показывает. Происходило ли с тобою такое анон?

Ответы>>699425

26 Мар, 23:23 #244 #699425

>>699049
Ты используешь сбт? Включил "скачивать документацию и исходники"?

Ответы>>699503

27 Мар, 00:16 #245 #699503

>>699425
Нет, выбрал в списке вариантов просто scala(там было и сбт), странно что доки вроде как прикреплены к скала сдк(если отредактировать зависимость scala sdk в идее), а идея все равно хуй показывает инлайн документацию.

Сейчас создал sbt проджект, нихуя ваша симпл тул засрала папку с проектом. Но сейчас доки показывает и вообще походу тула весь scala sdk еще выкачала, похуй что у меня уже установлено.

28 Мар, 03:05 #246 #700742

Так, парни, изучаю Functional streams , бывший скалаз-стримс https://github.com/functional-streams-for-scala/fs2

Есть идеи че б написать что б на практике навыки применить:

Ответы>>700921>>704986

28 Мар, 14:01 #247 #700921

>>700742
Там знак вопроса конце потерялся.

01 Апр, 14:10 #248 #704986

>>700742
Кластер метапарадигм

01 Апр, 20:21 #249 #705351

Можно ли за выходные более менее освоиться с основами языка?
Знаю только питон и джаваскрипт.

Ответы>>705410>>705413>>705548

01 Апр, 21:39 #250 #705410

>>705351
Можно, если найдёшь годное интро не найдешь нихуя

01 Апр, 21:53 #251 #705413

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

02 Апр, 02:29 #252 #705548

>>705351
Синтаксис освоишь, учи, пробуй.

03 Апр, 13:38 #253 #706671

Есть один метод
test(thing: Openable)
Openable - трейт.
Есть классы Book и Door реализующие этот трейт.
Как в методе проверить, не Book ли thing.
Вкатываюсь с шарпа, заметил отсутствие опретатора is.

Ответы>>706680>>707438

03 Апр, 13:48 #254 #706680

>>706671
Паттернматчингом

04 Апр, 11:49 #255 #707438

>>706671
Если тупо в одном ифе проверить, то thing.isInstanceOf[Book]
Для более общих вещей таки паттерн-матчинг предпочтительнее.

05 Апр, 22:56 #256 #708896

Анончики, есть поле с размерами sizeX и sizeY и массив кортежей (x,y) которые должны быть на поле, нужно весь field конвертировать в строку чтобы строки поля разделялись \n, а в нужных коордионатах стояли *. Написал функцию на этом божественном языке, но чуичка что быдлокод и можно сделать проще@лучше
http://pastebin.ru/PbjfoN51
Подскажи более грамотное решение анон.

Ответы>>709853

07 Апр, 06:02 #257 #709853

>>708896
https://ideone.com/82czsE

Ответы>>710520

07 Апр, 22:16 #258 #710520

>>709853
Спасибо анон, в самую суть.

08 Апр, 17:14 #259 #711189

>>696135
И хуле такого? У меня несколько одногруппников работают в джетбрейнс, один из них котлин делает. Основной пропихиватель котлина, Андрей Бреслав, был учителем в моей школе. Мир тесен. Вполне могут двачевать.

Ответы>>711230>>711285>>711286>>711292

08 Апр, 18:09 #260 #711230

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

08 Апр, 19:13 #261 #711285

>>711189
Спасибо, Анон, теперь я знаю, что в сторону Котлина можно не смотреть.

08 Апр, 19:14 #262 #711286

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

Ответы>>711306

08 Апр, 19:27 #263 #711292

>>711189
>несколько одногруппников работают в джетбрейнс, один из них котлин делает
>Основной пропихиватель котлина, Андрей Бреслав, был учителем в моей школе
Один из этих пидоров форсит своё поделие на весь зекач. Передай обоим, что они заебали.

Ответы>>711306

08 Апр, 19:49 #264 #711306

>>711292
Нет, это я >>711286
И я вроде бы много раз говорил что работаю Android разработчиком, а JB не занимаются мобилками.

Ответы>>711307

08 Апр, 19:51 #265 #711307

>>711306
>анонимная имиджборда
>я много раз говорил
Да ты же поехавший.

09 Апр, 18:25 #266 #712102

Скаланы, есть один объект: Any (десериализован из xhr), в может быть структура {user: {email: "текст сообщения об ошибке валидации"}}, и может и не быть (хрен там знает, что выдаст бекенд). Как мне сделать сопоставление с образцом и выдернуть .user.email? Можно ли это сделать паттернматчингом, или нужно пердолиться с Dynamic или рефлексией?

Ответы>>712105>>712119

09 Апр, 18:32 #267 #712105

>>712102
> Any
Что, простите? Не может быть объектов такого класса.
Чем десериализуешь? Где код?

Ответы>>712123

09 Апр, 18:50 #268 #712119

>>712102
А в чем проблема десериализовать сразу в нужный класс?

Ответы>>712124

129 Кб, 1144x670

09 Апр, 18:59 #269 #712123

>>712105
>e.xhr.response
Вот здесь scalajs.dom.raw.js.Any
>@ScalaJSDefined
>trait Any extends scala.AnyRef

Его я и пытаюсь как-то деструктуризировать.

Ответы>>712131

09 Апр, 19:01 #270 #712124

>>712119
Можно, но ко мне уже приходит десериализованное значение внутри AjaxException (типа js.Any)

09 Апр, 19:10 #271 #712131

>>712123
Ну боя, там же в документации написано, что это может быть String, ArrayBuffer или Blob, в зависимости от того что указано в responseType.
Очевидно у тебя String и тебе нужна библиотека uPickle от китайца, чтобы собрать из жсона кейс класс.

Ответы>>712138

09 Апр, 19:18 #272 #712138

>>712131
Да, лоханулся, там обычная строка, думал какая-то магия json уже распарсила за меня.
>Нужна библиотека uPickle от китайца
Именно ей пользуюсь.

Всем спасибо.

09 Апр, 21:48 #273 #712223

Можно ли компилировать скалу не в JVM файл, а сразу в исполняемый, как Си например?

Ответы>>712230>>712272>>712326

09 Апр, 22:05 #274 #712230

>>712223
Нет (хотя хуесосыч из последнего выпуска девзена который работает с Одерски говорит что такой сайд проект есть и им занимается какой-то хохлюн).

Ответы>>712239

43 Кб, 702x120

09 Апр, 22:24 #275 #712239

>>712230
Блядская макаба с блядским спамлистом

Ответы>>712269>>712615

09 Апр, 23:10 #276 #712269

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

47 Кб, 444x331

09 Апр, 23:14 #277 #712272

>>712223
Скорее вопрос надо ставить "Можно ли компилировать байткод в натив?".
Называется это Ahead of Time компиляция, на картинке актуальные проекты.

Компилировал в RoboVM код на Java/Kotlin в нативные консольные приложения OS X.

Ответы>>712275>>712276

09 Апр, 23:18 #278 #712275

>>712272
Блядь, что? RoboVM может компилить в десктоп? Я думал только iOS/Android. А под винду может?

Ответы>>712322

09 Апр, 23:19 #279 #712276

>>712272
Gcj вроде закрыли.

09 Апр, 23:54 #280 #712322

>>712275
На сколько я знаю только в iOS и Mac OS X консольные приложения (может и в Swing можно, но я не пробовал).
Там прям в RoboVM Studio есть такой шаблон, видимо для тестирования сделали.

09 Апр, 23:58 #281 #712326

>>712223
Кстати в Java 9 обещали сделать "Java Native".
Так что через пару десятков лет, это будет "из коробки".

10 Апр, 00:10 #282 #712330

Соу, анон поясни за язык
Почему бест JVM, почему не Kotlin и почему не сама Java

Ответы>>712347

10 Апр, 00:51 #283 #712347

>>712330
>почему не сама Java
Неудобный огрызок, расчитанный на тупых макак, не умеющих в языки посложнее. Чистая жава - это как пхп.
>почему не Kotlin
Новомодная хипстерская игрушка без задач, о которой не вспомнят через пару лет.

Ответы>>712361>>712367

10 Апр, 01:05 #284 #712361

>>712347
Как и скала собственно.

10 Апр, 01:09 #285 #712367

>>712347
>Мамкин эксперт вещает

10 Апр, 01:24 #286 #712378

>>633781
В Зеландии погода - то как везде в Нидерландах. Ну или как в Дании.

Ответы>>712379>>712616

10 Апр, 01:25 #287 #712379

>>712378
Суровый климат викингов?

10 Апр, 01:29 #288 #712383

>>633151 (OP)
Фанфик на тему хаселла - вот что есть скала.

Ответы>>712406

10 Апр, 02:22 #289 #712406

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

Ответы>>712609

10 Апр, 12:13 #290 #712609

>>712406
Нет, спасибо - я лучше котлин выберу и подожду пока хачкиль подтянется.

10 Апр, 12:26 #291 #712615

>>712239
В джяваскрипт конпелируется, значит и в натив можно. Только гц нужен.

Ответы>>712722

10 Апр, 12:27 #292 #712616

>>712378
Нидерланды это гейропа, а не ламповый остров в жопе мира.

10 Апр, 14:37 #293 #712722

>>712615
Все, что робит унутре жвм-песочницы - безусловно. Но жабка еще может лезть наружу через FFI/JNI. И еще эммитить байткод в рантайме. Все совсем не однозначно.

Ответы>>712995

10 Апр, 17:33 #294 #712995

>>712722
Ну так сначала стоит сделать для "песочного" кода, а потом думать о костылях для остальной хуйни.

13 Апр, 16:30 #295 #715620

https://speakerdeck.com/heathermiller/academese-to-english-a-practical-tour-of-scalas-type-system

Scala is famous in part for having one of the richest type systems of all mainstream programming languages today. Despite its reputation, Scala’s type system remains one of the most under-documented and jargon-heavy aspects of Scala.

This talk will turn the academese into English, providing an example-rich tour of Scala’s type system, covering all the things that make people call it “powerful”. This talk isn’t about showcasing a bunch of challenging little logical puzzles with types; on the contrary, this talk is about showing practical uses of Scala’s type system, making it work for you and your users. We’ll see how we can use it to improve usability by reducing boilerplate, meanwhile keeping code type-safe. We’ll touch on the practical parts of Scala’s type system, all through examples.

16 Апр, 01:59 #296 #718139

Осваиваю скалку, но туплю почему параметры функции контрвариантны. Если у наследника есть какой-то допметод, который используется в функции, то разве если передать предка не случится хуита? Что я упускаю анон?

Ответы>>718244

16 Апр, 10:39 #297 #718244

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

Ответы>>718258

16 Апр, 11:16 #298 #718258

>>718244
Спасибо анон, теперь дошло

16 Апр, 12:20 #299 #718292

Есть у кого-нибудь akka in actions или reactive design patterns для невозбранной закачки?

sage 16 Апр, 15:52 #300 #718440

Почему скала-сообщество такое ебанутое, аггресивное и вечно недовольное?

Ответы>>718443>>720524

16 Апр, 15:58 #301 #718443

>>718440
Ты про себя что ли?

18 Апр, 22:57 #302 #720524

>>718440
Функторы и монады вызывают неприятные ощущения пониже спины. Вначале. Потом приятные.

Ответы>>720561

18 Апр, 23:31 #303 #720561

>>720524
Но ведь это в другом треде любят заинжектить монаду в функтор.

19 Апр, 00:41 #304 #720651

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

Ведь кто программирует на скале?
Вариант 1: В аутсорс парашу уровня люксофта стали чаще заходить запросы на проект на скале и менеджеришки смекнули натаскать пару своих индусов на это дело, чтоб не упускать заказы. Берут самую опытную явамакаку, говорят "Раджешь, пришло твоё время". Тот садиться и за две недели проходит интенсивный курс по книге "скала для жабадебилов" хорстмана. И начинает писать. Пишет он на скале как на яве с синтакс сахаром. Нахуй это всё надо, когда есть такой-то говноподсластитеть как котлин, нипанятна, но в целом все довольны.
Вариант 2: Хаскелист в надежде всё же найти работу с дрожащими от нервов губами изучает скалу. Устраивается он или нет в конечном итоге не важно. Важно что его это всё не устраивает, ведь он же познавший высшие истины пурист алгебраист, а тут какое-то императивное сайдэффектное непотребство. И начинает он натаскивать в проекты всякие скалазы, писать свои едсли делая из скелы новый хаскель. Выходит всё конечно уёбищно, с кучей синтаксического шума, никому кто не в теме не понятно, но заато теперь как в цацкиле.

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

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

Ответы>>720997>>721037>>721056

19 Апр, 15:26 #305 #720997

>>720651
Так-то да, во многом прав. Только
>вышло наоборот и в результате он стал смешивать худшие стороны вместо лучших.
>И нихуя не вышло
слишком пессимистичный взгляд. Если немного включать голову, все получится.
>Чтобы программировать на этом говне так как надо, нужно быть избранным, брать лучшее в разных местах и объединять в одном.
Нужно чтобы в команде было 1-2 таких и чтобы они пиздили тех кто отходит от курса партии.

19 Апр, 16:22 #306 #721037

>>720651
>Вариант 1
Узнал себя, с другой стороны нахуя котлин, если есть скала. Сомневаюсь что там все сильно пизже чем в скалке.

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

19 Апр, 16:46 #307 #721056

>>720651
При этом вариант 1 - самый рабочий. Если взгнуть на код Kafka или Spark, то там именно что better java.

Ответы>>721153>>721326

19 Апр, 18:32 #308 #721153

>>721056
В спарках таки код оптимизируют по максимуму, там это важнее чем красивость и функциональность.

Ответы>>721326

19 Апр, 21:32 #309 #721326

>>721056>>721153
Ну можно и так сказать, даже не смотря на оптимизации. Хотя и там джава настолько better, что уже не джава.

19 Апр, 22:05 #310 #721353

>>633151 (OP)
>>720834

19 Апр, 23:54 #311 #721427

>>633151 (OP)
>самый лучший
>для JVM
Вообще-то самый лучший язык для JVM это Clojure. В вот тут любой адекватный анон скажет: "Да как же так, Clojure - это лиспоговно, лиспоговно в принципе не может быть хорошим!" И он будет прав, да, лиспоговно не может быть хорошим. Но ведь "самый лучший язык для JVM" не означает "самый лучший язык". И даже не означает "хороший язык". Для JVM в принципе нет хороших языков, это просто выбор между сортами говна. И ирония заключается в том, что среди этих сортов говна говнолисп, внезапно, оказался лучше говноскалы.

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

Ответы>>721532

20 Апр, 03:38 #312 #721532

>>721427
Тебя в детстве насиловали разработчики JVM?

Ответы>>721548>>721602

20 Апр, 08:06 #313 #721548

>>721532
Имхо они своей JVM "изнасиловали" не одно поколение программистов.

мимо android девелопер

20 Апр, 08:42 #314 #721559

Мамкин борщехлеб, чем тебе JVM то не угодила?

Ответы>>721581>>721605>>721616

20 Апр, 10:02 #315 #721581

>>721559
Вангую что,
>стековая вм ко ко ко производительность ко ко ко оракл - корпорация зла ко ко

20 Апр, 10:43 #316 #721602

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

Ответы>>721625

20 Апр, 10:45 #317 #721605

>>721559
С чего ты взял, что JVM, мне не угодила? Я просто рассказал, как забавно там дело обстоит с языками.

20 Апр, 10:52 #318 #721616

>>721559
затирает типы, фризит программу, отжирает дохуя памяти, всё валяется в одном хипе, не умеет в автоматическое распараллеливание чистого кода, уёбищный менеджмент памяти вообще, у тредов и объектов разное время жизни, вообще нихуя не сделано на уровне вмки для поддержки распределёнки/конкурентности, нет REPL'а и хот код реалоада из коробки, вообще какой-то неадекватный abstraction penalty, короче вмка для всего сразу и нихуя толком

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

Ответы>>721617>>721620

20 Апр, 10:56 #319 #721617

>>721616
>не умеет в автоматическое распараллеливание чистого кода
И тут внезапно неуловимо запахло борщом.

Ответы>>721621

20 Апр, 11:05 #320 #721620

>>721616
>не умеет в автоматическое распараллеливание чистого кода
А кто умеет? Где можно на это посмотреть?

Ответы>>721623>>721741>>721744

20 Апр, 11:07 #321 #721621

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

20 Апр, 11:21 #322 #721623

>>721620
>А кто умеет? Где можно на это посмотреть?
Двачую. Ей богу качкель только свой не кидай.

20 Апр, 11:30 #323 #721625

>>721602
Ну если он будет специально искать гитаристов использующих "Урал", чтобы прийти к ним на сходку, и долго рассказывать что они говноеды а "Урал" говно, то да.

20 Апр, 13:28 #324 #721708

>Скала тред
>Фанаты JVM, слепленной чтобы на ней крутить Кобол нашего времени

мда, дожили

20 Апр, 14:17 #325 #721741

>>721620
Сдается мне вы беседу с философским зомби ведете.

20 Апр, 14:29 #326 #721744

>>721620
Основные плюсовые компиляторы (clang, gcc, intelcpp) хотя и достаточно криво, код получается не переносимый между ними и писать всё равно код нужно как мультипоточный, что-то слышал про хацкел.

Ответы>>721791

20 Апр, 15:46 #327 #721791

>>721744
Слышал он. Слышал звон, да не знает где он.

Не мог бы уважаемый специалист указать поточнее - где можно посмотреть
> автоматическое распараллеливание чистого кода
с помощью
> плюсовые компиляторы (clang, gcc, intelcpp)
чего jvm
>не умеет в
?

Ответы>>721825

20 Апр, 16:22 #328 #721825

>>721791
>с помощью
Пишешь код без сайдэффектов, и смотришь как можно врубить автовекторизацию на твоём компиляторе в гугле.
>чего jvm
Не, вась, ты ебанутый или что? Жвм как не умела в фичи которые "просто работают" так и не умеет.

Ответы>>721832>>721854

20 Апр, 16:31 #329 #721832

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

Ответы>>721841

20 Апр, 16:38 #330 #721841

>>721832
http://llvm.org/docs/Vectorizers.html
https://software.intel.com/ru-ru/articles/automatic-parallelization-with-intel-compilers
https://gcc.gnu.org/wiki/AutoParInGCC

Сам ковыряйся и ищи примеры, ахуевший блять.

Ответы>>721863

20 Апр, 16:40 #331 #721842

https://en.m.wikipedia.org/wiki/Automatic_parallelization_tool
В примерах куча тулз для си и фортрана.

20 Апр, 17:07 #332 #721854

>>721825
Лично читал код jvm изучая какие конвеерные интринсики используются. Java умеет в оперативную трансляцию с использованием SIMD инструкций. Например http://bugs.java.com/view_bug.do?bug_id=6340864
Это если говорить про
> автоматическое распараллеливание
в таком контексте.

Возможности конечно не те что у GAP и вообще у нативных платформ - но это уже и не про автоматическое распараллеливание.

Eбанутый здесь ты маня. Охлади свой пыл, быдлан.

Ответы>>721906

20 Апр, 17:22 #333 #721863

>>721841
Но ведь это не распараллеливание.

Ответы>>721878>>721904

20 Апр, 17:35 #334 #721878

>>721863
Почему? Вполне себе распараллеливание - на уровне обработки cpu.

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

Ответы>>721885

20 Апр, 17:46 #335 #721885

>>721878
Но это оптимизация операций с числами, а не распараллеливание кода.

Ответы>>721905

23 Кб, 459x278

20 Апр, 18:15 #336 #721904

>>721863
>Но ведь это не распараллеливание.
>Automatic parallelization distributes sequential code into multi-threaded code. It automatically generates parallel (multi-threaded) code for specific loop constructs using the gomp library.
>В дополнение к оптимизации кода высокого уровня, компиляторы Intel® позволяют проводить автоматическую параллелизацию с поддержкой OpenMP. При автоматической параллелизации компилятор находит циклы, которые могут безопасно и эффективно выполняться параллельно, и генерирует многопоточный код. OpenMP позволяет программистам выражать параллелизм с помощью директив компилятора и прагм С/С++.

Ответы>>721910>>721917

20 Апр, 18:16 #337 #721905

>>721885
Маня, сперва кумекай, потом кукарекай.

Ответы>>721918

20 Апр, 18:16 #338 #721906

>>721854
> Java умеет в оперативную трансляцию с использованием SIMD инструкций.
>Eбанутый здесь ты маня. Охлади свой пыл, быдлан.

Ответы>>721910

20 Апр, 18:19 #339 #721910

>>721904
>>721906
Т/е по существу дела - ничего? Отчего то я не удивлён.

Ответы>>721919

20 Апр, 18:23 #340 #721917

>>721904
> specific loop constructs
> Many loops cannot be vectorized including loops with complicated control flow, unvectorizable types, and unvectorizable calls
Подставляй ротешник.

Ответы>>721922>>721930

20 Апр, 18:24 #341 #721918

>>721905
Покумекал тебе за щёку.

20 Апр, 18:24 #342 #721919

>>721910
Отчего-то я не удивлён гибгостью манямирка жяважывотного, который приплёл к автораспаралеливанию SIMD и начал кукарекать что его жэвээм умеет в это особенно учитывая что компилятор его языка настолько убогий, что любой синтасический сахар убивает нахуй перформанс. А потом пытается аккуратно слиться. переведя стрелки, но ты обосрался вась. Будь добр аргументировать, либо не толстей.

20 Апр, 18:25 #343 #721922

>>721917
А ты чего ожидал? Что он вообще всё за тебя напишет? Может у тебя ещё статические анализаторы кода любые ошибки в алгоритмах ловят?

Ответы>>721925

20 Апр, 18:31 #344 #721925

>>721922
Распараллеливание кода это например когда произвольный код размазан на %колво_ядер_цп% потоков, аля параллельные коллекции, акка, и т.п., а здесь всего лишь пачки чисел обрабатываются особым образом (оптимизация байтоебства), про код и параллельность и речи не идёт.

Ответы>>721929

20 Апр, 18:35 #345 #721929

>>721925
О, SIMD-жывотное опять в треде. Ты как там? Норм с дцп живётся?

Ответы>>721935>>721936

20 Апр, 18:35 #346 #721930

>>721917
Поциент, никто в здоровом уме не пишет видеокодеки медиапроцессоры и тп на java.

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

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

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

Если ты это не способен понять - печально.

Ответы>>721935

20 Апр, 18:39 #347 #721933

Есть ли в скале жизнь за пределами энтерпрайза? Прикладное, геймдев, веб?

Ответы>>722296

20 Апр, 18:41 #348 #721935

>>721929
Таблетки принял?

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

20 Апр, 18:41 #349 #721936

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

В процессе выпытывания сокровенных технологий автоматической параллелизации - выяснилось что речь о конвееризации.

За тем поциенту пояснили за то, что где её целесообразно просунуть - там она используется (в jvm).

Ответы>>721941

20 Апр, 18:49 #350 #721941

>>721936
>с что - то м
Сука, перестань ставить пробелы между тире для окончаний, у меня глаз заболел.
>За тем поциенту пояснили за то, что где её целесообразно просунуть - там она используется (в jvm).
Пояснили за акку и прочую еботу, автоматического разбора на потоки в "ванильной" жвм я что-то не нашёл.

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

Ответы>>721951

20 Апр, 18:55 #351 #721951

>>721941
Читать научись, дурень, и следить за нитью беседы.

Потом возвращайся за серебряной пулей автоматической параллелизации.

21 Апр, 01:24 #352 #722296

>>721933
В вебе есть Play Framework например. На нем даже иногда фриланс какой-то можно найти. У него есть апи и под джаву, и под скалу.

22 Апр, 15:25 #353 #723580

А с чего лучше начинать учить Скалу?

Ответы>>723596>>723685

22 Апр, 15:45 #354 #723596

>>723580
С коре Ява хорстмана.
Затем его же скала для нетерпеливых.
Без кореявы в скале печально будет

Ответы>>723601

22 Апр, 15:50 #355 #723601

>>723596
А нафиг мне Джава если я Скалу учу =D

Ответы>>723605

22 Апр, 15:52 #356 #723605

>>723601
Толсто.
Или пошел нахуй или учи яву пидор

Ответы>>723611

22 Апр, 15:58 #357 #723611

>>723605
Что за тупость если я хочу плюсы учить ты меня отправишь С учить? а если кложу тоже Джаву? или тебе Оракле проплотила чтоб их говно продвигать ?!?

Ответы>>723717

22 Апр, 17:32 #358 #723685

>>723580
С официальной документации

Ответы>>723702

22 Апр, 17:48 #359 #723702

>>723685
Да ну? а может еще скажешь где она а то как то я не додумался да этого, а может еще скажешь как поставить скалу?

А если серьезно, читаю "Scala for the Impatient" если кто то знает что то еще годное кидайте

Ответы>>723971

22 Апр, 17:56 #360 #723717

>>723611
Дык он-то прав. Если ты нюфаг – лучше не смотри в сторону скалы, а иначе синтаксис особой роли не играет – самое главное это экосистема и тулкит, который весь явный.

Ответы>>723751>>723790

22 Апр, 18:28 #361 #723751

>>723717
>самое главное это экосистема и тулкит, который весь явный
Весь скальный тащемта

22 Апр, 18:48 #362 #723790

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

Ответы>>723849>>724122

22 Апр, 19:34 #363 #723849

>>723790
Всё зависит от задач: планируешь писать хуйлоад/искать работу на скале – всё равно нужно дрочить именно явовские контейнеры и прочее г-но, учишь "для души" – можешь вообще на императивщинуб хуй класть.

Ответы>>723987

22 Апр, 21:39 #364 #723971

>>723702
Ну вот и соснешь, когда дойдешь до контейнеров.

22 Апр, 21:56 #365 #723987

>>723849
>писать хуйлоад/искать работу на скале – всё равно нужно дрочить именно явовские контейнеры
Для хайлоада придется пидорасить байтики офф-хип, как байтослесари.

23 Апр, 00:20 #366 #724122

>>723790
>на говна джаве не хочу писать
И не нужно. Учить нужно JVM, библиотеки и тулы для неё, а не джаву, грубо говоря. Лучший способ изучать - написать маленький проект, тесты, метрики для него, побенчмаркать что-то.
скалаёб-перекатился-из-сишарпа

Ответы>>724138

23 Апр, 00:29 #367 #724138

>>724122
Наташа?

Ответы>>724204

23 Апр, 01:54 #368 #724204

>>724138
Твоя мамаша)

Ответы>>724209

23 Апр, 02:02 #369 #724209

>>724204
Неа, она спит, я точно знаю.

23 Апр, 03:59 #370 #724262

Есть на скале какое нибудь шаблонное задание для новичков? В вебе вон твиттер пишут все начинающие. А на скале что?

Ответы>>724405>>724494

23 Апр, 13:08 #371 #724405

>>724262
Борду.

23 Апр, 15:38 #372 #724494

>>724262
Твитор с Akka, Play, Slick ещё попробуй Apache Spark, Cassandra

Ответы>>724495>>724736

23 Апр, 15:39 #373 #724495

>>724494
>Apache Spark, Cassandra
>задание для новичка
>localhost
Чота проиграл

Ответы>>724526

23 Апр, 16:19 #374 #724526

>>724495
Лучше уж сначала поковырять на локалхосте

23 Апр, 19:51 #375 #724736

>>724494
в это кстати уже играл, хотя сам Спар не поднимал но вот Hadoop собирал, и потом ставил разные сборки

26 Апр, 20:56 #376 #727898

Читаю книгу с оп-поста, scala для нетерпеливых, и вот у меня вопрос мне можно всю книгу тестить примеры в REPL или перекатиться в какую ту IDE? Если да то какую?

Ответы>>727946

26 Апр, 21:51 #377 #727946

>>727898
Можешь без иде, там все задание - однофайловые. Но точно не в репле.
Знаешь жаву?

Ответы>>727987

26 Апр, 22:42 #378 #727987

>>727946
Немного, а что?

Ответы>>728104

27 Апр, 00:49 #379 #728094

>>649888
Тинькофф, Qiwi делает потуги

27 Апр, 00:54 #380 #728104

>>727987
Вернись в яву.
Скала говно без будущего.
В 9 явке закроют рефлексую и ансэйф и скалопидоры соснут

Ответы>>728126>>729175

27 Апр, 01:22 #381 #728126

>>728104
ява - болото без будущего
даже гугол вон ищет ей замену в своём ведроиде

Ответы>>728142>>728159>>728181

27 Апр, 02:27 #382 #728142

>>728126
Зачем искать если уже есть котлин? В гугле просто батруд от того что они не смоги придумать котлин.

Ответы>>728144

27 Апр, 02:31 #383 #728144

>>728142
Котлин никому кроме авторов не нужен, не говоря уже о крупных компаниях.

27 Апр, 03:22 #384 #728159

>>728126
Вам сплетню какую-то скинули, а вы и взбудоражились кококок замену кококок.

Еще неизвестно замена будет или дополнение, а может это вообще к NDK дополнение / замена. Если вообще что - то будет.

Пока харчанин кукарекает о болоте, инженеры оракл в Штатах и России пилят value types и прочие нештяки.

27 Апр, 05:45 #385 #728181

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

Ответы>>728723

27 Апр, 20:55 #386 #728723

>>728181
вскукареки энтерпрайзовского петуха

Ответы>>729175

28 Апр, 07:35 #387 #729175

>>728723
Это я хотел этому >>728104 ответить

28 Апр, 20:48 #388 #729833

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

Ответы>>729865>>730468>>730481>>730502

28 Апр, 21:05 #389 #729865

>>729833
Вкатывальщик с нуля?

Ответы>>730796

29 Апр, 13:02 #390 #730468

>>729833
Что конкретно ты не понял?
вкатывался с одним гуглом

Ответы>>730797

29 Апр, 13:34 #391 #730481

>>729833
Видосики Одерского на курсере посмотри.

29 Апр, 14:01 #392 #730502

>>729833
Хорстман - это книга для переквалификации яваиндусов. Читай Programming in Scala 2nd Edition Одерского, или подожди до 10 мая, будет 3d Edition.

Ответы>>730798

29 Апр, 21:44 #393 #730796

>>729865
Почти

29 Апр, 21:44 #394 #730797

>>730468
Дак я тоже пол книги читаю, пол гуглю

29 Апр, 21:45 #395 #730798

>>730502
Спасибо

30 Апр, 12:50 #396 #731133

Есть hadoop-проектик на Pig. Стоит ли учить Scala и перекатываться на Scalding?

Ответы>>735492

05 Май, 23:57 #397 #735492

>>731133
Да, а лучше сразу на http://spark.apache.org/

06 Май, 00:15 #398 #735505

>>650182
>Идиоматик скала
Кстати, идиоматик Скала сходу в 10 раз проигрывает идиоматик Хаскелю. Причем, похуй, что там используешь, Списки, стримы, последовательности, в 10 раз - это на лучших из Скаловских структур, на остальных - еще хуже. А код на Хаскеле - самое тупое на базовой прелюдии, даже без попыток ручной оптимизации. Такие дела.

Ответы>>735517>>758585

06 Май, 00:38 #399 #735517

>>735505
Кто тебе такое сказал?

06 Май, 02:10 #400 #735605

>>650793
В продакшен с этого.

15 Май, 10:56 #401 #743991

Ну чо, вот о чём я писал где-то здеся месяцок назад.
https://github.com/scala-native/scala-native
Даже бенчмарк хэловорда дефолтный есть, лол.

Ответы>>743997>>745517

15 Май, 11:02 #402 #743997

>>743991
Ох лол. Получается скоро скала даже кресты выебет?

Ответы>>743998

15 Май, 11:04 #403 #743998

>>743997
Нет, лол. Кресты пытались сдвинуть десятки языков – все обосрались.

Это так, возможность написать какую нибудь десктопную/системную хуитку если у тебя основной/любимый язык скала.

Ответы>>744001

15 Май, 11:08 #404 #744001

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

Ответы>>744007

15 Май, 11:12 #405 #744007

>>744001
В олимпиадка-тредах они тебя сами перевернут на хуе за лишнюю 0.1 мс.

Ответы>>744008

15 Май, 11:17 #406 #744008

>>744007
Скорее порвут свой пердак от функционально-декларативного кода, заместо портянок. Сейчас рвутся и кукарекают что идеон показывает 300 метров сожранной памяти.

Ответы>>756333

17 Май, 02:27 #407 #745501

Кто следил за скала дэйс? Что там за история с скала.макро ?

512 Кб, 768x576

17 Май, 03:59 #408 #745517

>>743991
Нет слов. Ну охуеть теперь.

28 Май, 18:07 #409 #756181

У кого-нибудь есть курс по скала от Головача?

28 Май, 18:18 #410 #756194

В скалу без джавы есть смысл вкатываться?

28 Май, 20:08 #411 #756323

>>756209
Тогда есть и смысл сразу с хачкелля начинать - только будешь чувствовать отвращение от убогости скалы.

28 Май, 20:17 #412 #756333

>>744008
Я тебя сейчас расстрою - этот компилятор точно так же написан на скале (как и оригинальный) и жрать будет точно столько же.

28 Май, 22:22 #413 #756435

>>756430
А скала уродливая пародия на эту хуйню.

>>756432
Прочитай сначала пост на который я отвечал. И нет – имеет.

Ответы>>756461

28 Май, 23:00 #414 #756461

>>756435
>яскозал
Ясно

Ответы>>756484

28 Май, 23:33 #415 #756484

>>756461
>пукпук абида

29 Май, 00:31 #416 #756507

>>651909
Годно, схоронил.

29 Май, 07:33 #417 #756574

>>756572
>мааам, ну чо он скалу абсираит???
>ну скожи иму что он парвался)))

29 Май, 07:43 #418 #756576

>>756575
>борщехлёб прадалжаит тралить)) нинад))

29 Май, 07:52 #419 #756578

>>756577
>этот запах свежих монад со вкусом земельки

29 Май, 19:12 #420 #756948

Аноны, помогите достать пдфку Programming in Scala 3rd edition

Ответы>>757002

29 Май, 20:01 #421 #757002

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

Ответы>>757010

29 Май, 20:07 #422 #757010

>>757002
У меня денег нет на книгу, так бы купил

29 Май, 23:30 #423 #757169

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

Ответы>>757366

30 Май, 09:59 #424 #757366

>>757169
В Scala ты либо на передовой дрочишь Cats, Shapeless, spire, scalaz и прочий typelevel с остальными функциональщиками, либо деградируешь в Enterprise Quality™ с жаваиндусами. Судя по тому, что ты не видишь никакого развития с 2012, ты относишься ко вторым, и тогда справедливый вопрос - откуда твои претензии? Перечитай ещё разочек GoF, Patterns of Enterprise Application Architecture, бери котлин и еби мозги.

Ответы>>757446>>757615>>757756

30 Май, 12:46 #425 #757446

>>757366
Тогда возникает вопрос: нахуя нужна Скала, если теперь это ещё один академический ЯП не использующийся в продакшене?

Ответы>>757448>>757615

30 Май, 12:53 #426 #757448

>>757446
Нахуй не нужна.
Говно ебаное тормозное.
Есть груви, кложур и ява.
Остальные джвм языки ненужная хуита

30 Май, 16:23 #427 #757615

>>757446
Всмысле ещё один? Первый и неповторимый. Точнее первый настолько кривой академический язык, что даже в энтерпрайз пролез.
>>757366
>ты либо сосёшь хуй спонсору, и надеешься что завтра бывший тайплевел не пошлёт тебя жрать грязь из под ногтей
>либо мамакишьствуешь за стабильную еду
Трудный выбор скалаиндусов.

30 Май, 19:22 #428 #757756

>>757366
> ты либо на передовой дрочишь Cats, Shapeless, spire, scalaz и прочий typelevel
Вся эта мандула еще четыре года назад была.

Ответы>>757807

30 Май, 20:23 #429 #757807

>>757756
А Scala ещё в 2003 году была и что?

Ответы>>758230

31 Май, 10:43 #430 #758230

>>757807
В 2003 было маня поделие, "коммерческая" скала с тайпсейфом и яхтами Мартина началась только в 2011.

Ответы>>758249

31 Май, 11:09 #431 #758249

>>758230
Ну вот и претензии что тайплевел либы были ещё 4 года назад - туда же.

31 Май, 16:57 #432 #758585

>>735505
Пруф пожалуйста

31 Май, 19:15 #433 #758709

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

Ответы>>760434

02 Июн, 23:23 #434 #760419

Посоны, есть у кого-нибудь Programming in Scala, 3rd edition, бесплатно, без СМС? В гугле не нашёл.

02 Июн, 23:53 #435 #760432

К слову, lichess.org написан на Scala.
sources https://github.com/ornicar/lila

Ответы>>760434

02 Июн, 23:56 #436 #760434

>>758709
Так тогда и скала не нужна, какой нибудь котлин со всем сахарком для таких целей подойдёт куда лучше как better java, чем скала, изначально проектировавшаяся как жвм хаскелль.

>>760432
Иии... Чо?

Ответы>>760589>>760971

03 Июн, 13:21 #437 #760589

>>760434
> ко-ко-котлин
> скала, изначально проектировавшаяся как жвм хаскелль.
Что простите?

Ответы>>760642

03 Июн, 15:15 #438 #760642

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

Тот же котлин – жява в которой реализованы все новые хотелки, без кучи ненужной (или немодной?) хуйни.

Ответы>>760666

03 Июн, 15:53 #439 #760666

>>760642
Весь продакшене написан на спринге или ЕЕ.
А ссаную костылепидорскую скалу засунь себе в анус пес.

Ответы>>760670

03 Июн, 15:59 #440 #760670

>>760666
Тинькофф с любым еу банком ссут тебе на ебало.

Ах, да, чистая жява – на ней как раз вся инфраструктура сбербанка, который на нг по 3 недели деньги переводил. Мб гц работал?

Ответы>>760681

03 Июн, 16:23 #441 #760681

>>760670
Ты ебанутый?
Ебанутый

Ответы>>760690

03 Июн, 16:30 #442 #760690

>>760681
>я скозал

03 Июн, 19:13 #443 #760807

https://ideone.com/hXP3XF
Ебать, какой же ахуенный язык, я прям кончил пока угорал.

Ответы>>760909

03 Июн, 22:12 #444 #760909

>>760807
>8 строк
>0.28s 322368KB
Энтерпрайзно.

Ответы>>760917

03 Июн, 22:17 #445 #760917

>>760909
Ты, блядь, на вывод посмотри – вот где весь фэйл.

03 Июн, 23:58 #446 #760971

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

04 Июн, 02:50 #447 #761024

Поясните-ка, что такое Spark. У меня есть задача, которая сводится к «сделай кучу однотипных запросов средней сложности к ридонли реляционке и профильтруй/примени некоторые методы анализа данных к выбранным нереляционным уже данным». Сейчас оно реализовано именно на реляционке, но я понимаю, что даже на тестовых объемах данных оно загибается. Поможет ли мне Spark?

Ответы>>761027

04 Июн, 03:19 #448 #761027

>>761024
Уточню что основная работа деляется в обработке реляционных данных. Все прочее можно считать хоть скриптиком на пистоне. Это не реалтайм, считается несколько раз в день и складывается в другую БД/хранилище для посчитанных результатов, откуда пользователи могут выбирать результаты.

Ответы>>761028

04 Июн, 03:39 #449 #761028

>>761027
И да, базка не совсем ридонли, но обновляется она раз в сутки (сейчас 5-6 Гб/день).

04 Июн, 06:30 #450 #761049

>>761001
>42, а не 10
>матчпаттеринг падает с эксепшеном
Чо ещё скажешь?

04 Июн, 06:31 #451 #761050

>>761003
Так этот компилятор точно так же на оригинальной скале написан, никуда не денутся 300мб при компиляции хэловорда.

04 Июн, 07:42 #452 #761053

>>761001
В нормальном современном языке ожидается, что неполные паттерны приведут к ошибке компиляции, а не эксепшену.
http://try.haxe.org/#3218b - нажми 'build + run".

Ответы>>761061>>761064

04 Июн, 07:55 #453 #761055

>>761003
> @struct stackalloc[Vec] stdlib.malloc
1. Это уже другой язык.
2. Пилит его один студент Дима, так что будущее туманно.
3. Без жвм скала мало кому нужна.

Ответы>>763402

04 Июн, 08:45 #454 #761061

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

http://ideone.com/MM0Zm8 - ржавый
http://swiftlang.ng.bluemix.net/#/repl/575263cf641e65e70fb09aa9 - свфит
http://ideone.com/ugKxRW - окамл (лол, да)
Кароче, думая вы поняли мой посыл. скала говно, гы

Ответы>>761064

04 Июн, 09:04 #455 #761064

>>761061
>Вообще, матчинг вполне себе полон
Нихуя не полон, переданное значение не удовлетворяет ни одному условию.

>>761053
>что неполные паттерны приведут к ошибке компиляции
Это неудобно нихуя же. В нормальных языках как раз принято писать что-то типа
ok, Socket = db.connect();
это неполный матчинг, но как бы и ожидается иксепшн если соединения нет.

Ответы>>761067>>761069>>761076

04 Июн, 09:08 #456 #761067

>>761064
>Нихуя не полон
Оно для этого типа может быть либо some(hui), либо none. Само значение проверяется уже вне матчинга, если ты не заметил.

Ответы>>761070

04 Июн, 09:09 #457 #761069

>>761064
>писать что-то типа
Не говори про своё Говно "нормальный язык", плез.

Ответы>>761071

04 Июн, 09:12 #458 #761070

>>761067
Гуарды в матчинге - часть матчинга вообще-то.
https://ideone.com/9rlaKN

Ответы>>761074

04 Июн, 09:13 #459 #761071

>>761069
{ok, Socket} = connect(Db).

Ответы>>761074

04 Июн, 09:16 #460 #761074

>>761070
так язря говном истекаю здеся, лол
>>761071
Нет, вась, в эрланге в отличие от говна так не делают.

Ответы>>761077

04 Июн, 09:32 #461 #761076

>>761064
>неудобно
Удобно. Добавил одно значение в тип, который матчишь - получай подсказку от компилятора, где надо поменять, чтобы заработало.
>это неполный матчинг
Это полный матчинг. Ты матчишь тупл и получаешь его компоненты. И какой тут нахрен может быть эксепшен, если ok явно возвращается?

Ответы>>761079

04 Июн, 09:33 #462 #761077

>>761074
То-то Джое в каждой книге пишет "Don't programming defensively" и призывается писать только happy case код.

04 Июн, 09:38 #463 #761079

>>761076
>Это полный матчинг
Нет конечно, только один варик описан, а возвращать db.connect() может
ok, Result
error
error, Code
error, Code, Info

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

Ответы>>761080

04 Июн, 09:52 #464 #761080

>>761079
Я, наверное, и правда что-то не понимаю.
Есть функция describeBodyPart: BodyPart -> String, и тип BodyPart = Head | Ass | Hand. Теперь добавим к типу Leg и получим ошибку компиляции. Чем это не хэппи кейс?
>а возвращать db.connect() может
Какое же говно в голове у тех, кто это дизайнил.

Ответы>>761086

04 Июн, 10:18 #465 #761086

>>761080
Мне лень с тобой спорить по этому поводу, если интересно сам подумай. Всё что я хотел сказать, что в скале/эралге/хаскеле/кложе паттерн-матчинг работает одинаково и везде при захуяривании unexpected значения в неполный матчинг тебя ждёт иксепшн в рантайме.

Ответы>>761098

04 Июн, 10:42 #466 #761098

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

Ответы>>761237

04 Июн, 15:23 #467 #761237

>>761098
Могут не совпадать степени уточнения типа в функции и матчинга внутри неё. Более того, матчинг может оперировать не только типами, но и конкретными значениями.

Не знаю что там в верблюде, я так понял с твоих слов, что на матчинге по конкретным значениям/типам там нужно прописывать все варианты/или использовать _ , задавая для него какую-то дефолтную обработку. Иметь дефолтную обработку для "всего стального" иногда удобно, а иногда нет. Описывая только хэппи кейс, ты отделяешь код по обработке исключительных ситуаций от бизнес логики, используя же дефолтные обработчики, ты по сути включаешь этот код в бизнес логику.
Во-вторых, описывая только хэппи кейс, ты можешь абстрагироваться от размышлений о типах исключительных ситуаций и попыток их все предотвратить. Если у тебя компилер заставляет описать все значения в матчинге, то единственный способ отложить изучение исключений на потом, это хуярить заглушку.

То есть для ситуаций A, B, C - нормальные виды поведения, а D - ошибка, действительно удобно описывать всё, но для ситуаций A - нормальное поведение, но B, C, D и ещё хуй знает сколько вариантов - исключительные, удобно использовать в матчинге только обработку А, а на все остальное забить и обработать где-то выше в трай-кетче, супервизором, процессом-монитором и т.д.
Во всяком случае в идеоматичном Erlang подход именно такой, так как там прилы по-дефолту конкурентные с овердохуя процессами, и какой-то иксепшн в одном из них не значит по большом счету ничего. Для однотредовых систем это может быть не оправдано, да.

В Scala же, неполный матчинг сделан скорее по той же причине, что и возможность создавать частично определённые функции, чтоб потом чейнить их через orElse и тому подобное.
http://goo.gl/7Boe2i
http://goo.gl/r0N8Pv

Не знаю, какие причины в Haskell, там действительно есть ключи компилера, чтоб проверить Non-exhaustive patterns. Основная причина, скорее, это нелюбовь к catch-all предикату, из-за которого, как раз твой предыдущий пример, с проверкой на новый тип не работал бы, но который тем не менее приходится применять, если тебя заставляет тайп-чекер.
http://goo.gl/syJPvR

Ответы>>761246

04 Июн, 15:31 #468 #761246

>>761237
Неполный матчинг там сделан из-за того, что exhaustiveness check сделать все равно нельзя.
По сути, матчинг — это обертка над instanceof с некоторыми хаками для примитивов/кейс-классов.

04 Июн, 15:51 #469 #761261

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

Ответы>>761332

04 Июн, 16:21 #470 #761292

Объясните, что не так, пожалуйста.
https://ideone.com/K25BWd

Ответы>>761295

04 Июн, 16:24 #471 #761295

>>761292
Если второй слэш убрать, то норм, но тогда у меня у IDEA батхерт.

04 Июн, 17:23 #472 #761332

>>761261
Память, занятую программой, даун. JVM резервирует 300 метров вне зависимости от потребления

Ответы>>761703

04 Июн, 22:03 #473 #761664

Какой фреймворк сейчас стандарт в скале, как спринг в жаве? Play? Spray?

Ответы>>761698>>761873

04 Июн, 22:41 #474 #761698

>>761664
scalaz

04 Июн, 22:44 #475 #761703

>>761332
А ещё 30мб на хэловорлд?

05 Июн, 01:21 #476 #761873

>>761664
Play + Akka. Это даже почти так же уныло, как спринг.

Ответы>>762065

05 Июн, 11:54 #477 #762065

>>761873
Что значит "уныло"?

05 Июн, 17:36 #478 #762371

>>761888
В каждой шутке есть только доля шутки, такие дела..

Ответы>>762828

06 Июн, 11:27 #479 #762807

>>633151 (OP)
Что обычно пишут на скале?

Ответы>>762828

06 Июн, 12:28 #480 #762828

>>762371
Ты у нас магистр хеллоуворлдов.
>>762807
Энтерпрайз/веб, бигдата.

Ответы>>763379>>763400

07 Июн, 06:01 #481 #763379

>>762828
Уважаемый дебил! Тот анончик весело и ненавязчиво пошутил, что Вы обосрались c оценкой в 300мб. С наилучшими пожеланиями, мимо крокодил.

Ответы>>764305

07 Июн, 07:14 #482 #763400

>>762828
Поссал на манямирок энтерпрайз веба на скале.

Лечись уебан.

Ответы>>763402

07 Июн, 07:20 #483 #763402

>>761055
>Пилит его один студент Дима, так что будущее туманно.
А скалу пилит Одерски с кучкой студентов, разницы не слишком много.

>>763400
Тут выше уже был аргумент про банки и прочее.
Лечись уебан.

08 Июн, 09:20 #484 #764305

>>763379
Обосрался даун, не слышавший про округление.

Ответы>>764852

08 Июн, 19:30 #485 #764852

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

171 Кб, 333x388

09 Июн, 23:38 #486 #765891

Тут Барух обоссывает Scala и говорит, что скалоебные компании перестают заниматься скалоебством и начинают жить: https://habrahabr.ru/company/luxoft/blog/302668/

Оправдывайтесь.

Ответы>>765959>>766074>>766298

10 Июн, 01:16 #487 #765959

>>765891
>тут две ынтырпрайзные джява-мартышки не осилили скалу, одна со смешным именем
Что тебе не ясно? Там прямым текстом написано
>для Enterprise-хардкора, чтобы гнать код в продакшн, он не подходит, потому что сложен для разработчиков, которые решают реальные бизнес-проблемы
"Мартышки не осиливают, пок-пок сириус бизнес, лучше наймём ещё десять индусов"

Ответы>>766088

10 Июн, 05:58 #488 #766040

Давайте перекат.

10 Июн, 09:12 #489 #766074

>>765891
Барух - это который профессиональным клоуном на конференциях выступает?

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

10 Июн, 09:38 #490 #766088

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

Ответы>>766102

10 Июн, 10:02 #491 #766102

>>766088
Не уходит, а _не переходит_, потому что мартышкам за 1$ в час больно без знакомых ПАТТЕРНОВ в жопе, и киллер фичами они воспользоваться не могут в виду того что они не разработчики а тырпрайз мартышки.

Ответы>>766178>>766297

1698 Кб, 1244x712

10 Июн, 11:48 #492 #766178

>>766102
Проще говоря, Scala нахрен не нужна никому, кроме изучивших Scala разработчиков.

Ответы>>766888

10 Июн, 14:39 #493 #766297

>>766102
Ты хочешь сказать что Твиттер _не перешёл_ на Скалу? Или может всё-таки _ушёл_?

Ответы>>766888

10 Июн, 14:42 #494 #766298

>>765891
Хуйню какую-то несёт про Скалу.
В 8ой жабе появились лямбды - Скала закономерно пошла нахуй.

Ответы>>766499

10 Июн, 17:16 #495 #766384

У вас БАРУХ.

10 Июн, 20:30 #496 #766499

>>766298
> В 8ой жабе появились лямбды
Может, кроме блямб еще и паттерн-матчинг, иммутабельность, алгебраические типы, вывод типов завезли? Ну тогда...

Ответы>>766524>>768239

10 Июн, 20:58 #497 #766524

>>766499
Вот - вот, чувакам синтаксического сахара к анонимным классам завезли, а они уже на радостях в штаны припустили.

А вывод типов кста обещают - лет через 5.

Ответы>>768241

10 Июн, 21:30 #498 #766550

Наскальные сектанты, а напомните что вне России из серьезного использует скалу.

Ответы>>766965

11 Июн, 13:02 #499 #766888

>>766178
Тебе точно не нужна, не отвлекайся от РЕАЛЬНЫХ БИЗНЕС ЗАДАЧ и абстрактных фабрик бобов.

>>766297
С чего бы ему уходить, фантазер?

Ответы>>766935

11 Июн, 14:03 #500 #766935

>>766888
Ты так и не ответил кому нужна, кроме изучивших Scala разработчиков?
> абстрактных фабрик бобов
А что плохого в абстракциях? Хуячим по-хардкору сразу реализации и сильные связи между реализациями компонентов? Ведь главное написать и продать, а какой лох потом будет все это поддерживать или расширять функциональность не ебет?

11 Июн, 14:42 #501 #766965

>>766550
Вне России - конечно никто, только в Сколково жулики и воры Twitter и Foursquare пилят на ней бюджет.

11 Июн, 23:24 #502 #767432

PEREKOT

https://2ch.hk/pr/res/767431.html (М)

12 Июн, 22:54 #503 #768239

>>766499
> иммутебальность
Чё-то кекнул со скалодебила. Как будто в Скале иммутабельные коллекции - это дефолт.
И да, никто не мешает использовать в Джаве хорошие иммутабельные коллекции из Clojure. Они, в отличии от скаловских, реализуют интерфейсы стандартной библиотеки и их реально можно вызывать из Джавы.

12 Июн, 22:54 #504 #768241

>>766524
Вывод типов как бы уже есть в некоторых случаях.

16 Июн, 12:45 #505 #770830

ВНИМАНИЕ!
ауе, братульцы!
будте аккуратней не встряньте в хуй пойми какие негодные проекты в банках типо Т и С на скале и спарке.
проекты конина блядская.
предупрежден - вооружен.

Ответы>>771297

16 Июн, 20:05 #506 #771297

>>770830
Как будто в банках бывает не говно.

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion