[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 525 | 26 | 235
Назад Вниз Каталог Обновить

Scala Аноним 11/06/16 Суб 23:23:40  767431  
(16Кб, 1280x720)
Очередной тред про самый лучший язык для 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

Скала за пределами JVM: https://github.com/scala-native/scala-native

Два недавних форка компилятора, один от тайплевела и второй от баттхертнутого:
https://github.com/typelevel/scala (https://github.com/typelevel/scala/wiki/Differences)
https://github.com/paulp/policy
Аноним 12/06/16 Вск 00:25:02  767474
>Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Лучшая книга для жавадаунов

>Учебник по Скале на русском: http://twitter.github.io/scala_school/ru/index.html
Хуевый учебник, https://github.com/anton-k/ru-neophyte-guide-to-scala этот лучше, хотя хуй его знает.

Аноним 12/06/16 Вск 00:52:35  767503
(3738Кб, 594x334, 00:00:53)
>>767431 (OP)
Наскальные балбесы, поясняйте чем Скала лучше Котлина как академический язык, и лучше Джавы как язык практический для бизнеса и тырпрайза.
Аноним 12/06/16 Вск 01:44:25  767524
>>767503
Котлин - кастрированное хипстерское говно для школьников. Даже чистая жава лучше.
Аноним 12/06/16 Вск 02:35:04  767550
>>767524
Мал по малу вкусности находятся. Например

inline fun Logger.debug(s: () -> String) {
if (isDebugEnabled) debug(s.invoke())
}

Метод расширения (который инлайнится кстати), принимающий лямбду, позволяет писать:

logger.debug { "Customer + " customer.getId() + " has just ordered " + order.expensiveComputation() }

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

Аноним 12/06/16 Вск 06:12:00  767583
>>767503
Тем что имеет больше возможностей, и имеет в 999999999999 раз более обширную инфраструктуру чем жидбрейнское поделие?

>>767550
Но ведь это синтаксис из скалы, да и @inline там есть. А ещё есть -Xelide-below который может вырезать ассерты и логгинг при конпеляции.
Аноним 12/06/16 Вск 07:34:58  767588
>>767583
Ну синтаксис, вроде, совсем не решающий аргумент, конечно если это не пиздоглазие как у Раста.

В скале пугает, когда ебанутые, которым фирма не разрешила писать на хаскеле, тащат скалаз и творят свои мутные дела. Т.е. им вроде дали неплохой язык, но они умудряются подгадить, не используя идиоматичные решения, и не подавляя маня-позывы.
Аноним 12/06/16 Вск 07:49:19  767591
>>767588
>Ну синтаксис, вроде, совсем не решающий аргумент
Ну, в смысле, не синтаксис, а конкретно эта конструкция
def huita(s: ⇒ String)
huita { ... }

А ещё PartialFunction так же передаётся.
Аноним 12/06/16 Вск 08:09:00  767593
На моем недобуке хелловорлд компилировался три минуты, нахуй-нахуй.
Аноним 12/06/16 Вск 08:25:44  767596

>>767588
>Ну синтаксис, вроде, совсем не решающий аргумент, конечно если это не пиздоглазие как у Раста.
1) Удобство любого синтаксиса – дело привычки, я так же плевался с раста первые пол года знакомства с ним;
2) У скалы он куда "бохаче", в плохом смысле.

>>767593
Потому что компилятор скалы написан на скале)) ну вы понели)))
Аноним 12/06/16 Вск 08:41:27  767598
>>767596
>компилятор скалы написан на скале)) ну вы понели)))
Ты не поверишь, но компилятор хачкеля написан на хачкеле, а компилятор C на C (хотя давно уже на крестах :(), но ни один из них не тупит над факториалом столько времени.
Аноним 12/06/16 Вск 08:43:19  767599
>>767598
>но ни один из них не тупит
Про то и шутейка была, дурашка.
Аноним 12/06/16 Вск 08:49:36  767602
>>767599
Типа, у скалы не только компилятор тормозной?
Аноним 12/06/16 Вск 08:51:09  767604
>>767593
Одна история охуительнее другой.

>>767596
Нет, манька, вот поэтому
https://wiki.scala-lang.org/display/SIW/Overview+of+Compiler+Phases
Аноним 12/06/16 Вск 09:05:19  767606
>>767604
>Одна история охуительнее другой.
Да, это так, я спиздел про три минуты. На самом деле, я просто не дождался окончания компиляции.
Аноним 12/06/16 Вск 09:15:36  767610
>>767606
Олсо, когда запускал репл, уже начал думать, что это какой-то баг в жвм или еще где, так как запускался он минуты две, минимум (потом я пошел курить, вернулся и о, чудо!). Последующие запуски, даже на прогретой жвм, были нихуя не быстрее.
Аноним 12/06/16 Вск 09:19:05  767611
>>767604
>Нет, манька, вот поэтому
Теперь поясни чому хаскель компилируется быстрее - может у него компилятор малофункциональнее?
Аноним 12/06/16 Вск 09:30:39  767612
>>767503
Возьми да почитай вводные на оффсайтах котлина и скалы, там даже макака поймет что к чему, аноны щас тебе как обычно тонны предвзятой хуиты понастрочат(хуле, от явы навык хорошо развит).

>>767524
Сразу видно маняхейтера. Котлин это просто улучшеная жава, добавляет кучу синтаксического сахара, который на ява ждут уже 20 лет и который реально помогает, спасая от простынок текста.
Аноним 12/06/16 Вск 12:29:25  767691
>>767612
>предвзятой хуиты понастрочат
у тебя неплохо получилось, маня
Аноним 12/06/16 Вск 17:10:00  767857
>>767503
> чем Скала лучше Котлина как академический язык
Думаю, тебе парни из JB с вертушки бы пояснили, что Котлин - не академический язык.

> и лучше Джавы как язык практический для бизнеса и тырпрайза.
Тем, что делает код короче и читабельнее и реализует разнообразные бест практисес непосредственно в языке.
Аноним 12/06/16 Вск 17:15:22  767863
Скала правда такая охуенная?
Аноним 12/06/16 Вск 18:01:38  767914
>>767863
Скала такая охуенная, что я не могу на ней писать. Только заглядываю в документацию, как обканчиваю монитор, иду курить, а затем без сил падаю спать.
Аноним 13/06/16 Пнд 00:27:06  768327
>>767914
Внезапно поддвачну, сейм шит.
Аноним 13/06/16 Пнд 01:02:16  768338
>>767914
Этот форс такой охуенный, что я не могу его не форсить. Только заглядываю в сосач, как обканчиваю монитор, иду форсить форс, а затем без сил падаю спать.
Аноним 13/06/16 Пнд 07:13:16  768429
Нахуй ее вообще сделали? ФП блджад. Все равно никто за пределами бложеков на Скале в функциональном стиле не пишет. Потому, что если взяться за ФП всерьез, то код сразу начнет обрастать такими ебанутостями, что ударившийся во все тяжкие функциональщины скалолаз очень сильно об этом пожалеет. В общем-то нет языка, который может "запарить" мозг сильнее, чем скала. Скала имеет мозговыносящую систему типов, не имеющую аналогов в том смысле, что нет другого языка, в котором ООП было бы адекватно статически типизировано. Это крайне сложная и амбициозная задача, буквально все остальные создатели ООЯ на каком-то этапе плюнули и решили "Статическая типизация — это сложно, ну его нахуй, лучше будем динамически кастить". Правда, весь этот околодинамический цирк с конями в скале остался "для совместимости" (и дополнительного выноса мозга). За что боролись?
Аноним 13/06/16 Пнд 07:53:01  768437
>>768429
ну если ты не осилил хуле тогда своё рыло здесь заставляешь кукарекать?

>Скала имеет мозговыносящую систему типов
не понял это как?

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

>околодинамический цирк с конями в скале остался "для совместимости"
это какой?


Аноним 13/06/16 Пнд 07:53:51  768438
>>767503
котлин хуйня без задач
Аноним 13/06/16 Пнд 08:15:07  768442
>>768438
Котлин хуйня и с задачами. Ceylon неплох, но не будет популярен все равно из-за инерции.

>>768437
Вот никто и не осилил. Кроме десятка ее разработчиков. http://yz.mit.edu/wp/true-scala-complexity/
Аноним 13/06/16 Пнд 08:15:26  768443
>>768437
Я вообще удивляюсь, как подобным предыдущему анону позволено иметь своё мнение и голосовать в частности. Давно пора ввести интеллектуальный ценз на мыслеизъявление. IQ меньше 100? - вон из интернетов! В крайнем случае - анально огородить какой-то аналог двача где оним бы могли морозить на тему
>взяться за ФП всерьез
Аноним 13/06/16 Пнд 08:17:11  768444
>>768442
>Котлин хуйня и с задачами.
список задач, про покпок тюринк полнота можешь не кукарекать.

>Вот никто и не осилил
define осилил. ты понимаеш что ты даун?


Аноним 13/06/16 Пнд 08:20:17  768447
>>768442
Котлину может повезти на Андроиде, если Гугл сжалится и подмахнет. И если товарищи прекратят велосипедить с anko (там есть хорошие вещи, но многие пытаются заменить лишь одним красивым кодом то, что сейчас имеет отличную инструментальную поддержку).
Аноним 13/06/16 Пнд 08:27:24  768449
Добавлю еще что типов с IQ больше 140 и проявляющих подозрительную творческую активность надо тоже в резервацию, там бы где они под чутким руководством адекватов могут двигать прогресс.

Пример того, что подобные субчики могут сделать в открытом поле (если не присматривать за ними):


>WTF is /:? Why do I need to consult a periodic table to make HTTP requests? http://www.flotsam.nl/dispatch-periodic-table.html
Аноним 18/06/16 Суб 00:21:22  772674
>>768449
>2016
>dispatch
>когда уже есть Akka HTTP
Аноним 18/06/16 Суб 01:12:07  772722
>>768447
> anko (там есть хорошие вещи, но многие пытаются заменить лишь одним красивым кодом то, что сейчас имеет отличную инструментальную поддержку)
Можно пример таких вещей, имеющих отличную инструментальную поддержку?
Аноним 18/06/16 Суб 01:52:16  772745
>>768442
>As of 2.9
>January 2012
Ясно, иди нахуй
Аноним 19/06/16 Вск 21:37:27  774795
чего вы делаете у себя в этих ДС на scala meetup?
Аноним 19/06/16 Вск 22:34:35  774843
>>774795
Обкуриваемся функторами и ябём друг друга в монады.
Аноним 21/06/16 Втр 23:13:47  776494
ребят, кто в scala умеет, поясните пожалуйста, почему так происходит что запускают прогу в идее - норм выполняется всё. запускают с командной строки - вылетает туча ошибок ( на самом деле две: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
и java.lang.NullPointerException)
Аноним 21/06/16 Втр 23:25:20  776500
>>776494
недобавлены зависимости к проекту.
Аноним 22/06/16 Срд 07:02:27  776634
>>774795
>ДС
>scala meetup
Ну охуеть, жаль я мамкин хекка борщехлёб
Аноним 22/06/16 Срд 21:09:54  777420
Обмазываюсь сейчас курсом progfun на курсере, он конечно пиздец нереально скучный. Остальные курсы с этой специальности тоже подобные или там повеселее уже будет?
Аноним 23/06/16 Чтв 04:50:14  777701
> We are a big scala shop at Expedia and it's concerning that Martin is more interested in Dotty.

> Scala 2.12 is late, and not having easy java8 interoperability is becoming more and more of an issue.

> I love the language but it is becoming harder to recommend it for new things due to the ambiguous roadmap
Аноним 01/07/16 Птн 10:03:56  784987
поясните, скалабоги, почему в вакансиях на скала требуя год-два опыта на этом языке сверху, как правило, требуют вдвое больше опыта на джаве? Вакансия то Скала-дев
Аноним 01/07/16 Птн 11:06:01  785013
>>784987
Наверное потому что глупо требовать 3-6 лет опыта на скале?
Аноним 03/07/16 Вск 10:27:49  786553
>>777420
Параллельное программирование еще скучней + один из двух лекторов имеет максимально неприятный акцент
Аноним 03/07/16 Вск 12:56:07  786672
>>777420
>он конечно пиздец нереально скучный
Я смотрю на 1.5, понижая до 1.25, когда перестаю понимать.
Аноним 06/07/16 Срд 10:48:45  789409
(18Кб, 500x375)
Небольшая дружелюбная конфочка про скалу на телеграмме.
Желающие пообщаться, велкам.
https://telegram.me/joinchat/BoA_agWB_Xh7Rm75eumPNw
Аноним 07/07/16 Чтв 01:37:23  790155
>>777420
А я почитываю https://www.manning.com/books/functional-programming-in-scala
Пока ток до 4 главы дошел, но честно сделал все упражнения и очень даже годно!
Аноним 09/07/16 Суб 01:32:26  791942
>>789409
Моар картиночек.
Аноним 10/07/16 Вск 21:03:11  793100
(58Кб, 811x608)
>>791942
Аноним 11/07/16 Пнд 01:40:18  793354
>>789409

Ссылка на конфу изменилась:

https://telegram.me/joinchat/BoA_aj9lle-bI9Id-jcE3A

Аноним 13/07/16 Срд 13:27:03  795076
(76Кб, 375x375)
Запилил иконку для Scala IDE, может быть, кому-нибудь пригодится.
Аноним 17/07/16 Вск 14:32:14  798343
Что-то пусто стало в треде, все в конфу переехали?
Расскажите, какой способ обработки ошибок вы предпочитаете? Исключения, Option или что-то еще?
Аноним 17/07/16 Вск 14:48:56  798353
>>795076
На растянутый анус только в плоском дизайне похоже.
Аноним 18/07/16 Пнд 04:06:55  798961
>>798343
Try (именно который с большой буквы), который контейнер
Можно Either, но это когда ты в месте ошибки знаешь что куда класть (Left И Right)
Я тащу Try и уже там где это по смыслу подходит его разворачиваю.
Аноним 18/07/16 Пнд 17:38:34  799342
Почему Scala native не взлетит?
Аноним 18/07/16 Пнд 17:58:53  799363
>>799342
А почему должна?
Аноним 18/07/16 Пнд 19:39:51  799474
>>768429
> В общем-то нет языка, который может "запарить" мозг сильнее, чем скала.
Есть: С++
Аноним 18/07/16 Пнд 19:43:21  799479
>>772745
Вот тебе немного новостей из 2016: ваш Фюрер таки признал что Скала некорректна, переписывает её заново, но когда будет релиз - хуй знает.
Аноним 18/07/16 Пнд 19:46:39  799483
>>799451
> ga
Это как /ga?
Аноним 18/07/16 Пнд 20:18:33  799517
>>799451
пеар анрилейтед параши
Аноним 18/07/16 Пнд 22:24:12  799649
>>768429
у меня на работе скала, мудак
Аноним 24/07/16 Вск 10:03:44  803945
Loving #Scala but missing #AbstractSingletonProxyFactoryBean ? Try Spring-Scala!
https://github.com/spring-projects/spring-scala
Аноним 24/07/16 Вск 11:55:24  803986
>>768429
Пример Go показывает, что люди готовы обрастать код ебанутыми фичами ради скорости и писать вообще без типов.
Аноним 24/07/16 Вск 15:18:26  804130
>>799479
Вот когда будет релиз, тогда и начну учить вашу скакалку для биг даты, а пока на D посижу.
Аноним 24/07/16 Вск 16:44:43  804205
>>804130
>D
>BigData
/0
Аноним 25/07/16 Пнд 18:50:27  805323
Я правильно понимаю, что всё фреймворки и библиотеки скалы можно использовать с джавой?
Аноним 25/07/16 Пнд 18:51:43  805325
>>805323
и да и нет
Аноним 25/07/16 Пнд 18:56:49  805333
>>805323
зачем скала, если есть джулия?
Аноним 25/07/16 Пнд 18:59:18  805335
>>805333
зачем джулия, если есть кложурь?
Аноним 25/07/16 Пнд 19:17:03  805341
>>805333
Это тот язык, в котором из-за религиозных соображений/фундаментальных законов запретительного характера разрабы не могут REPL запилить? См. (переопределение функций/типов здесь https://github.com/JuliaLang/julia/issues/6786 и далее по переоткрываемым задачам).

Спасибо, не надо
Аноним 25/07/16 Пнд 19:19:06  805344
>>805341
Из новых языков-убийц, вспоминается похожий конфуз еще у раста, в котором разрабы не осилили TCO.
Аноним 25/07/16 Пнд 19:40:35  805359
>>805344
Они байтики привыкли ебать а не разворачивать рекурсию, чо ты хочешь.
Аноним 25/07/16 Пнд 23:06:09  805586
>>805341
Но твоя скакался всё равно соснула здесь:
>>799479
Аноним 25/07/16 Пнд 23:06:47  805588
>>804205
А для бигдаты по твоему пойдёт? У скалы вон с релизами проблемы. А кроме неё вроде больше ничего и нет.
Аноним 26/07/16 Втр 00:19:08  805640
>>799479
Что конпелятор скалы некорректен, если точнее
Аноним 26/07/16 Втр 01:33:56  805676
>>777420
Кинь ссылку на курс. Они там всё переделали и теперь старая работать перестала.
Аноним 26/07/16 Втр 10:15:01  805746
>>805588
>А для бигдаты по твоему пойдёт?
джява
Аноним 26/07/16 Втр 10:34:52  805758
>>805588
>У скалы вон с релизами проблемы
Что это означает? Ты имеешь в виду что 2.12 еще не вышла? Ну так я тебе сообщу что например спарк до 2.0 по дефолту билдится под 2.10(!), после будет под 2.11. А когда он появится в дистрибутивах клаудеры, не говоря уже о хортонворкс, вообще не известно. Может осенью, а может и в следующем году.
>>805640
>Что конпелятор скалы некорректен, если точнее
Что это означает? Что значит корректный компилятор?
>>805323
Обычно нет, если либа не написана специально для интероперабельности с джавой. Очень легко проебать и использовать такую фичу скалы которую очень трудно выразить в джаве.
Аноним 26/07/16 Втр 10:38:07  805763
>>805746
>жава
>бигдата
Насмешил. Это инструмент для клепания CRMок макаками, но никак не для бигдаты.
Аноним 26/07/16 Втр 11:06:57  805774
>>805763
Маня, все основные биг-дата тулы написаны на джяве и естественно она хорошо с ними интегрируется. То что скала это ололо бигдата-язык - это просто следствие того, что она работает на той же платформе, на которой джява-мужи уже всё написали.
Аноним 26/07/16 Втр 11:17:45  805787
>>805763
Смотря какие задачи решать. У нас обычно модель пилят на питоне, а для прода все процессы перепиливают на джаву. Но мы hdp используем, на православном спарке наверняка удобнее и быстрее использовать скалу с её радующими глаз конструкциями, похожими сами знаете на что (_+_)
Аноним 26/07/16 Втр 19:14:53  806191
>>805758
Ну кукарекали же что у скалы слишком тормозной и сложный конпелятор, вот Мартин и решил переделать. А он написал так, будто переделывают с нуля весь язык.

Аноним 26/07/16 Втр 19:16:16  806194
>>805774
Спарк написан на скале, лови струю в ротешник.
Аноним 28/07/16 Чтв 11:50:19  807283
>>806194
Там немалая часть - Java-код и апишки на оба языка (+ пихтон и R), плюс он юзает хадуповские либы. Hadoop - на джаве, Storm - на джаве, Druid -на джаве, Samza - опять же, значительная часть - джава код.
То что на Scala типа ололо бигдата - просто результат использования уже написанного джява-кода. Твой вскукарек ничего не отменяет.
Аноним 28/07/16 Чтв 12:21:00  807323
>>807283
И что? Использование готового - это хорошо, не зачем плодить велосипеды. С другой стороны скала позволяет значительно эффективнее использовать уже написанный код, элегантнее, проще, эффективнее и с большими возможностями.
Аноним 28/07/16 Чтв 12:30:57  807330
>>807323
Так-то оно так. Я это всё к тому, что Scala - не какой-то ёба-язык монополист биг-даты, а один из языков, на котором ей можно заниматься. Вообще все адекватные бигдата тулы рано или поздно заведут SDK под десяток языков и писать можно будет хоть на питоне, хоть на джаваскрипте. Потому что в бигдате важнее сами тулсеты, чем прослойка.
Аноним 28/07/16 Чтв 23:39:04  807837
>>807283
>Java-код
Костыли для джявамартых?

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

>То что на Scala типа ололо бигдата - просто результат использования уже написанного джява-кода
Нет, мартышка, результат превосходства скалы над говноджявой. Иначе бы все жрали хадуп.
Аноним 28/07/16 Чтв 23:43:11  807845
>>807837
>Истерика надуманного превосходства

Мимо Agda/Idris господин
Аноним 29/07/16 Птн 00:29:58  807912
>>807845
>Agda
А что с этим языком можно делать?
Аноним 29/07/16 Птн 00:37:01  807924
>>807845
>Agda/Idris
Что это за мертвечина без задач?
Аноним 29/07/16 Птн 05:58:06  807980
>>807912
Унижать и доминировать над скала-макаками
Аноним 30/07/16 Суб 05:14:51  808669
>>807980
Ну и где что-то уровня Spark на агде?
Аноним 30/07/16 Суб 10:07:58  808685
>>808669
Ты не понял. Они нужны не для для каких-то там мартыханских школобигдатеров, а например, чтоб унижать индусов в их собственном JDK.
Вот тут пруверщики доказали что TIMSORT который используется в джяве, пердоне и ондроеде - некорректный алгоритм.
http://envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/
Аноним 30/07/16 Суб 10:37:45  808688
(219Кб, 973x547)
http://www.bullshitbingo.net/cards/bigdata/
Аноним 30/07/16 Суб 16:54:37  808984
>>807980
Юникод то завезли?
Аноним 30/07/16 Суб 16:57:25  808985
>>808984
А нахуя её в сам язык завозить? чтобы как в свифте можно было переменные и функции смайликами именовать?
Аноним 30/07/16 Суб 17:16:35  808998
>>808685
>петухи на параше доказали, что понятия некорректны
Лол, всем похуй
Аноним 30/07/16 Суб 17:41:46  809018
>>808998
>что понятия
Ты по ссылке вообще переходил? Там конкретный issue. Я воспроизводил этот баг у себя с помощью их программы. В джяве оно падало даже 67 млн. элементов. Или это ты так за обсер своих jvm анальных господ копротивляешься?

>петухи на параше
Лол, эта боль жвм-мартышки.
Аноним 30/07/16 Суб 17:48:17  809024
>>808998
>чёткие пацаны с прувером формально доказали некорректность тимсорта, которым, кстати, все так гордились
>пок-пок всем похуй, не то что я такой-то бигдата отчёт для тёти Груни вчера выгрузил
лел
Аноним 30/07/16 Суб 17:58:21  809026
>>809018
>>809024
То есть вершина достижений агда-петушни это проверять сортировки? Никакой работающей программы они сделать не в состоянии? Лол.
Аноним 30/07/16 Суб 18:05:12  809033
>>809026
Да, по сравнению с достижениями мартышек из твоей веб-студии это конечно очень слабо. Ты вообще как, за компьютер сайнсом следишь, алгоритмы там, вычисления, верификации, системы типов. Или так, только отчётики выгружаешь и спарк программируешь?
Аноним 30/07/16 Суб 18:08:59  809034
>>809033
>Ты вообще как, за борщехлеб сайнсом следишь, олимпиадки там, вычисления факториалов, верификации хелловорлдов, монадки
Что простите?
Аноним 30/07/16 Суб 18:18:18  809037
>>809034
Хули не в джава треде? Ведь теперь там можно даже найти элемент в массиве и благодаря стараниям борщехлёбов отсортировать массив без ошибки.
Аноним 31/07/16 Вск 08:59:13  809215
>>809018
>с помощью их программы
В этом и суть. Сколько лет оно работало, но тут оказывается, что на одном наборе данных оно может упасть. То есть, фиксить надо, фикс хороший, но не настолько. Но, поскольку у функци-анальщиков других достижений нет, вот они и бегают размахивая руками. А вот если бы они вместо написания статеек о том, как в функци-анальщине всё хорошо, и как императивному программированию скоро-скоро придёт самый настоящий вендекапец, занимались чем-то полезным, то всем было бы намного лучше.
Аноним 31/07/16 Вск 10:23:24  809234
лол вроде скала тред, а эталонные жатники сидят
Аноним 02/08/16 Втр 13:30:44  811062
поясните, пожалуйста
можно ли как либо с одного метода достать переменную которую этот метод не возвращает?
вот пример кода
http://pastebin.com/EagWLMSW
Аноним 02/08/16 Втр 13:31:46  811064
Поясните, пожалуйста. можно достать переменную с метода который эту переменную не возвращает? Вот пример кода
надо достать строку с метода, и использовать её в другом методе
http://pastebin.com/EagWLMSW
Аноним 02/08/16 Втр 13:32:25  811066
>>сорян, инет пинганул
Аноним 02/08/16 Втр 16:27:32  811195
>>811064
Что за библиотека?
Аноним 02/08/16 Втр 17:16:28  811225
>>811195
это Play 2, очевидно
Аноним 02/08/16 Втр 17:55:24  811264
>>811225
[code lang="scala"]ws.url(URL).post(POST).map{ request =>
val parts = request.body.split(",")
val sessionKey = someResult
val sessionValue = someString
(sessionKey, sessionValue)
}[/code]
Не?
Аноним 02/08/16 Втр 17:57:33  811266
>>811264
Или Ok((sessionKey, sessionValue))
Аноним 02/08/16 Втр 17:57:37  811267
(25Кб, 469x167)
>>811264
Какое-же убожество. И после этого макака еще паскоды требует...
Аноним 02/08/16 Втр 17:58:34  811268
(10Кб, 478x262)
>>811267
>2016
>без вишмастера
))
Аноним 02/08/16 Втр 18:07:18  811273
>>811268
Не для того я макбук покупал :3
Аноним 02/08/16 Втр 18:57:57  811328
>>811273
А для того, чтобы хэловорлд на скале компилировалась по 5 минут буквально?

Кстати, в идее стала доступна опция создания проект на Dotty, идея сама тащить последний снапшот. И оно предсказуемо работает раза в 3 медленнее текущего компилятора.
Аноним 02/08/16 Втр 19:07:19  811339
>>811328
>А для того, чтобы хэловорлд на скале компилировалась по 5 минут буквально?
Что, получается Бреслав правду что-ли говорил :) ?
Я только на java/kotlin/C# разрабатываю на clojure еще через плагин хеловорды :3 писал.
Аноним 05/08/16 Птн 04:08:57  813533
Помогите пожалуйста из Future[String] вернуть String. Хочу строку в хтмл засунуть( плей фрейм), а он дичь мне выдает
Аноним 05/08/16 Птн 10:19:07  813625
>>813533
fStr.onComplete {
case Success(str) => println(str)
case Failure(exc) => println(exc.getMessage)
}
Аноним 05/08/16 Птн 10:41:22  813633
>>813533
Без блокировки не получится, а с ней теряется весь смысл асинхронности. Правильно будет так: future.map(string => frame.put(string)) или future map frame.put.
Результат - Future[Frame].
Аноним 10/08/16 Срд 10:18:51  817056
Есть ли какие нмбудь опенсурсные проекты на скале в которые можно покомитить, кроме монстров вроде спарка?
Аноним 10/08/16 Срд 11:05:54  817078
>>817056
Тысячи их. Ищи на гитхабе: https://help.github.com/articles/searching-repositories/
Аноним 10/08/16 Срд 12:00:18  817096
>>817078
Искал. И первые 10 страниц кроме йоба гигантов вроде спарка и плея да рисёрчей нихуя нет.
Аноним 10/08/16 Срд 12:07:35  817099
>>817096
Скала - академичный язык. Или рисёчёшь или иди круды клепай на пыхе.
Аноним 10/08/16 Срд 12:31:45  817113
>>817099
И что же в ней такого "окодемичного" что сильно отличает её от других языков?
Аноним 10/08/16 Срд 17:47:38  817288
>>767431 (OP)
Чем скакался лучше Джулии?
Аноним 10/08/16 Срд 17:48:07  817290
>>817288
Распределённые вычисления на том же уровне реализованы в скале или хуже?
Аноним 10/08/16 Срд 17:54:45  817295
>>817290
Такой вид паралельности с общими данными там реализован разве что в виде пары конкурентных коллекций, так что да – в этой области от сосёт (отличается?) у юли.

Тоже кстати жду ответа от петуха выше – что в скале такого академичного?
Аноним 10/08/16 Срд 18:22:27  817311
>>817295
Ну тогда я лучше Юльку буду учить как академический язык, нахуй мне скакалка сдалась.
Аноним 11/08/16 Чтв 00:48:59  817553
>>817056
https://github.com/lauris/awesome-scala
Аноним 11/08/16 Чтв 09:30:11  817631
>>817096
Какие 10 страниц? С какими фильтрами? Такое впечателние что тебе нужны не проект найти, а попиздеть про их отсутствие.
А вообще опенсорс работает по другому:
1) У тебя есть проблема
2) Есть опенсорс либа котороая решает твою проблему, но не до конца
3) Ты допиливаешь либу и делаешь пулл реквест
4) ???????
5) PROFIT
Аноним 11/08/16 Чтв 18:44:16  817990
скаланы че спрашивают на собседованиях на скальные вакансии?
ну и вообще по функциональщине
отличаются ли чем-то задачки (сортировки лол) на собеседах у функционалистов от быдло-имперетивщиков?
Аноним 11/08/16 Чтв 18:52:39  817997
>>817990
На собеседованиях вообще врядли будут спрашивать про функциональщине если в вакансии прямо не написано про шизу вроде шэйплесов – в проде её избегают во имя поддерживаемости.

На большинстве скала вакансий что я видел требуют знания ява стека + пары инструментов и фреймворков из мира скалы.
Аноним 11/08/16 Чтв 20:16:06  818034
>>817997
то есть будут спрашивать по джаве штоль? треды-шмреды?
Аноним 11/08/16 Чтв 20:19:32  818038
>>817997
по фреймворкам тоже какие вопросы? типа что такое экшон в плей? ето же хуета
или че попизже?
Аноним 11/08/16 Чтв 23:01:22  818151
>>817311
Впрочем, на чём лучше будет нейросети писать: на скале или джулии?
Аноним 12/08/16 Птн 10:42:39  818317
>>817997
>функциональщине
>шэйплес
Как вы заебали пиздеть о том в чем не разбираетесь, уёбища.
>>817990
Предметная область имеет значение. Мы например вообще по кодированию задачек не давали, в основном вопросы то бекенду - базы, конкарренси, CAP теорема etc. Ну и общие вопросы по програмированию вроде "что НЕ нравится в скале?" и про простые структуры данных. Обычно если человек отвечает на такие вопросы, непосредственно с кодированием он справится.
Я бы еще давал задачу "напиши мне функцию reverse(List[T]) в функциональном стиле": могут разные интересные вопросы возникнуть.
На первой работе связанной со скалой собеседование строилось на отличиях скалы от джавы, какие у неё преимущества и недостатки, как там с функциональными фичами/ОО паттернами.
Аноним 12/08/16 Птн 11:39:29  818365
>>818317
звучит как не очень сложный собесед, хотя я чушок - сходу бы вот так лист функционально бы не развернул
Аноним 12/08/16 Птн 12:00:50  818374
>>818365
Первый собес отсеивает процентов 80-90 кандидатов. reverse не давали писать потому что нормальные джависты нам тоже подходили. Btw, развернуть связный список in-place (с мутабельныйми нодами) намного сложнее чем просто записать элементы одного списка в другой в обратном порядке (что я и имел в виде под функциональныйм разворотом списка).
Аноним 12/08/16 Птн 17:04:07  818539
Аноны, подскажите ньюфагу в jvm. В джава треде проигнорили. Решил запилить хелловорлд для себя и еще пары человек. Простенький бекенд с легкими БД операциями без всяких каскад апдейт на 1000-2000 запросов в день много будет в памяти отжирать? И вообще, можно где-нибудь поглядеть тесты на реальных приложениях потребления памяти по нагрузке? Просто под рукой простенький сервак на 2gb с одним ядром, на том же go его хватает за глаза, хочу попробовать на scala это дело переписать, так как функционала не хватает немного, а динамически типизированные языки я не воспринимаю на сервере.
Аноним 12/08/16 Птн 17:54:47  818572
>>818539
Сколько дашь, столько и будет отжирать.
http://stackoverflow.com/questions/14763079/what-are-the-xms-and-xmx-parameters-when-starting-jvms
Тебе может и 128mb хватит, кто знает что там у тебя за логика.
Аноним 12/08/16 Птн 17:57:25  818575
>>818539
Стоковый VisualVM запусти, там профайлер показывает красивый график с потреблением памяти.
Аноним 12/08/16 Птн 18:03:24  818580
>>818572
Ничего серьёзного, 6 моделей и небольшой xml-rpc интерфейс на коленке с вебмордой чтобы искать по истории в irc каналах зарегистрированного юзера, писалось тоже for fun.
>>818575
>VisualVM
Не знал о таком, спасибо, помониторю.
Аноним 12/08/16 Птн 18:21:58  818592
>>818580
>Не знал о таком
И это джависты. Она же с 2008 года в JDK входит.
Аноним 12/08/16 Птн 18:44:47  818615
>>818592
Это не джавист. Это залетный пидор
Аноним 12/08/16 Птн 18:56:23  818619
>>818615
Подтверждаю. Нужна чистка в рядах.
Аноним 12/08/16 Птн 19:18:16  818625
>>818592
Нефиг жопой читать.
Аноним 12/08/16 Птн 19:51:32  818635
А есть что то как скала, только не жава, а шарп, но с кроссплатформенностью?
Аноним 12/08/16 Птн 22:00:36  818709
>>818635
vala
Аноним 13/08/16 Суб 03:38:26  818814
>>818635
Например, Шарп с Mono?
Аноним 13/08/16 Суб 08:17:57  818848
>>818709
Vala - это копия шарпа поверх gobject. К тому же кроссплатформенность там во много номинальная.
Аноним 13/08/16 Суб 08:54:13  818857
>>818814
> Шарп с Mono
> Mono
У нас за такое на районе по ебалу били.
Аноним 13/08/16 Суб 16:56:47  819072
>>807283
Так-так, товарищи, тут кто-то пиздит.
Storm - говно, и написан он на Clojure, Samza - его мертворожденная копия с минимумом изменений.
А на Scala есть божественный Spark, который рвет всех и Storm с Samza (Spark Streaming), и Hadoop.
Аноним 13/08/16 Суб 16:59:59  819076
>>818374
Функционально - это с рекурсией и конструкцие листа на обратном ходу из последнего элемента?
Аноним 13/08/16 Суб 17:32:52  819098
>>819072
>и Hadoop
Ты дебил? Спарк и Хадуп разные задачи решают.
>Spark, который рвет всех и Storm
Лол, даунёнок не понимает разницу между stream-processing и micro-batching.

Судя по тому, что для тебя вся бигдата сводится к Спарку - ты просто восторженный школьник с дивана.
Аноним 13/08/16 Суб 18:00:06  819110
>>819098
Поясни мне разницу между spark streaming и storm
мимо
Аноним 13/08/16 Суб 20:15:19  819216
>>819110
присоединяюсь
Аноним 14/08/16 Вск 12:29:00  819527
>>819076
Это самый простой, лаконичный и очевидный вариант. Но с ним есть одна проблема.
Аноним 15/08/16 Пнд 14:36:22  820336
>>819527
>Самый простой лаконичный и очевидный
Переебал тебе свёрткой с вертухи прямо в щи
Кстати, напомни какую лучше использовать, правую или левую?
Аноним 15/08/16 Пнд 22:55:38  820717
>>820336
>Переебал тебе свёрткой с вертухи прямо в щи
Это да. Я вообще какую-то хуйню в этом комменте написал, о чем-то другом думал наверное.
>Кстати, напомни какую лучше использовать, правую или левую?
Какую нужно, лол. Если оперция ассоциативна, то лучше не выёбываться и использовать левую, правая может быть не хвосторекурсивна stackoverflow привести на некоторых структурах данных (на списках все будет ок).
Кстати, кто-то сталкивался с не хвосторекурсивной левой сверткой? Ну например какой-нибудь бесконечный список [.. 0]?
Аноним 16/08/16 Втр 16:48:25  821120
Что означают проценты в build.sbt? На stackoverflow пишут что это как в мавене, а я не знаю как в мавене, на джаве раньше не писал.
Аноним 16/08/16 Втр 16:55:06  821131
>>821120
Алсо, пишут, что там синтаксис такой:
> libraryDependencies += groupID % artifactID % version % configuration
Че за группы? Че за артифакты? Че вообще гуглить надо?
Аноним 16/08/16 Втр 21:27:33  821291
>>821131
В гугле чтоли забанили блять?
http://stackoverflow.com/questions/2487485/what-is-a-maven-artifact
http://www.scala-sbt.org/0.13/docs/index.html
Аноним 17/08/16 Срд 12:08:13  821592
Ауе, братульцы!
Поделитесь соображениями, что с рынком вакансий по скале в мск?
смотрю, последние года три, одни и те же конторы ищут людей, и хуй кого набирают, мне тоже дохуя где отболтили, где-то сам по фишке сливал собесы, т.к. обстановка ч т писос какая не прикольная.
везде одна ситуация: дико задроченные чуваки собеседуют для самоутверждения, но не набирают, а некоторых слишком круто осаживаю, и жалею, они не виноваты, но блять не умеют в нормальные коммуникации.
смотрю так же на джин например, 8 из 10 - релокация из ДС. т е работы тут как бы и нет для скалиста адекватного, не адепта-евангелиста, а когда ты и в код умеешь и знаешь как дела делаются. хз, Минск гораздо более праздничный, конторы крутые, бодрые не ссученные.
Как вы думаете, что тут за хуйня со скала-разработкой происходит?
Аноним 17/08/16 Срд 14:22:25  821673
>>821592
С твоей формой изложения мыслей тебе в пхп-тред. Неудивительно, что тебя никуда не берут.
Аноним 17/08/16 Срд 16:45:58  821788
залепи удило, конь! это 2ч.
Аноним 17/08/16 Срд 20:17:39  821954
>>821592
>Минск гораздо более праздничный
Чем Москва? Не поверю. Бывал в Минске, по сравнению с Киевом унылое место. Да-да, майдан, генотьба, скачут, всем весело.
Аноним 17/08/16 Срд 22:59:19  822052
>>820717
> Ну например какой-нибудь бесконечный список [.. 0]?
Does not compute. Ты не сможешь оторвать такому списку голову, её нет
Аноним 18/08/16 Чтв 10:50:57  822239
>>822052
Да, головы нет. Точнее её невозможно получить, как и развернуть бусконечный список. Зато есть хвост и последний элемент. Ну не важно, вопрос не про это был.
Аноним 18/08/16 Чтв 11:10:26  822253
Минск конечно уныл, но я о работе исключительно.
Аноним 18/08/16 Чтв 11:14:11  822259
>>822239
>Есть хвост
Ты понимаешь, что концептуально, то что ты описал -- это всё тот же обычный бесконечный список в котором tail ты назвал head, a head - tail?
Аноним 18/08/16 Чтв 13:45:15  822365
>>822259
>tail ты назвал head
У их типы разные. tail остаётся tail (тоже бесконечный список), head нет, но есть last.
Аноним 18/08/16 Чтв 21:43:31  822785
Нужно ли до скалы учить джаву или сразу можно?

Сейчас заканчиваю cs50 и хочу выбрать дальнейшее развитие, интересуют более или менее современные и активно развивающиеся технологии с применением в вебе и больших данных, поэтому выбор пал на скалу. Все правильно?
Аноним 19/08/16 Птн 05:03:04  822914
>>767431 (OP)
Поясните, зачем нужны форки компилятора?
Аноним 19/08/16 Птн 10:01:40  822977
>>822785
Сам язык java тебе мало чем пригодится, скорее навредит. А вот экосистема тебе пригодится, ну и понимание что там и как в jvm твориться, и почему вся функциональщина в scala -- это не больше чем набор костылей сахарок. А веб и бигдату абсолютно нормально пилить и на java, python и на всем, чем тебе хочется. Тут скорее нужно понять, чего тебе хочется.
Аноним 19/08/16 Птн 10:32:11  822985
>>822977
> Кто-то не умеет в абстракцию
Аноним 19/08/16 Птн 12:17:36  823037
>>822914
Затем, что он тормозное говно, не умеющее в java 8, очевидно же.
Аноним 19/08/16 Птн 16:18:57  823193
>>823037
>не умеющее в java 8
А нахуя оно надо?
>он тормозное говно
Ну, это не исправить, тут дело не столько в самом компиляторе...
Аноним 19/08/16 Птн 17:03:08  823234
>>822985
Я то как раз перекатился из java в scala, потому что мне на jvm не хватало тех абстракций, которые предоставляет scala. А то, что функциональщина в scala -- это всего лишь сахарок, ты этого не замечаешь? Там же отовсюду торчит прибитые гвоздями к jvm куски. Ещё и система типов в scala оставляет желать лучшего. Но, для новоприбывших бойцов, может быть и не нужна jvm и вся эта возня с экосистемой java.
Аноним 19/08/16 Птн 18:17:52  823314
>>822977
>>822977
>>822977

Спасибо за ответ, а как тогда учить, то-есть в книгах по скале рассказывается о
> экосистема тебе пригодится, ну и понимание что там и как в jvm твориться

Или это отдельно гуглить и читать?
Аноним 20/08/16 Суб 00:07:15  823542
>>823193
>А нахуя оно надо?
Чтоб рантайм бодрей исполнял, ясное дело.
>тут дело не столько в самом компиляторе
Что он не может в параллельность - тоже дело не в нём, да?
Аноним 20/08/16 Суб 00:30:44  823567
>>823234
>Синтаксический сахар
Как же меня заебала эта идиома. Со всех сторон слышен этот кукарек. Ты совершенно не понимаешь сути синтаксического сахара.
>Торчат прибитые к jvm куски
Как это понимать? Куски чего? Чем прибитые? Постишь - как в лужу пердишь
Аноним 20/08/16 Суб 16:54:29  823942
>>823314
В любом учебнике по scalа будут описаны некоторые подводные камни jvm. Не стоит этим заморачиваться, пока не столкнешься.

>>823567
> Как же меня заебала эта идиома. Со всех сторон слышен этот кукарек. Ты совершенно не понимаешь сути синтаксического сахара
Я то его понимаю. Любой более-менее читаемый функциональный код, можно переписать в императивном стиле, но что это даст? На scala, как и на groovy? очень удобно делать dsl, и после них, абсолютно не хочется делать некоторые вещи на java. Но я одного не понял, почему тебя так задевает то, что я назвал функциональщину в scala -- сахаром?
>Как это понимать? Куски чего? Чем прибитые? Постишь - как в лужу пердишь
Ок, скажи мне, как скала ушла от jmm? Или может scala научилась не затирать знания о генериках в рантайме? Или может scala привнесла что-то фундаментально новое в jvm?

Ты меня конечно прости, но мне кажется ты просто диванный специалист, который не пишет\писал код на scala за деньги.
Аноним 21/08/16 Вск 01:45:32  824356
>>823942
Некоторые твои тезисы верны, с некоторыми я не согласен. Но я совершенно не понимаю, что ты хочешь ими сказать, и главное зачем.
> Любой более-менее читаемый функциональный код можно переписать в императивном стиле
Любой более-менее читаемый код на тьюринг-полном языке можно переписать на другом тьюринг-полном языке.
>я назвал функциональщину в scala -- сахаром
Ты употребляешь термин "Синтаксический сахар" некорректно. Как это вижу я: если ты средствами языка можешь определить достаточно похожую конструкцию, то введение такой конструкции в язык - синтаксический сахар. Циклы в lisp - синтаксический сахар. В Java - насущная необходимость к синтаксическому сахару отношения не имеющая
>Синтаксический сахар:
>Это может быть любой элемент синтаксиса, который даёт программисту альтернативный способ записи уже имеющейся в языке синтаксической конструкции, и при этом является более удобным, или более кратким, или похожим на другой распространённый способ записи, или помогает писать программы в хорошем стиле.
Dependency Types, например, в скала - синтаксический сахар над какой-то из синтаксических форм java? Тогда давай, показывай как это делаетсяв джаве.
Аноним 21/08/16 Вск 01:47:02  824358
>>823942
А, и да, пруф писания тобой кода на scala за деньги в студию
Аноним 21/08/16 Вск 15:45:18  824569
>>823942
С твоим подходом можно любой язык назвать синтаксическим сахаром над машинными кодами. Это корректное, но совершенно бесполезное определение синтаксического сахара.
>ты просто диванный специалист, который не пишет\писал код на scala за деньги.
За такие "аргументы" в приличном обществе принято сразу нахуй послать.
>>824358
Какие можно предоставить пруфы этого на анонимином форуме?
Аноним 21/08/16 Вск 15:53:09  824572
>>824569
покажи трудовой договор и там замажь имя свое
Аноним 21/08/16 Вск 16:24:19  824585
>>824572
Хуй знает, где мой договор, и вообще есть ли он, я как частный предприниматель оформлен. В любом случае, думаю что вероятность наличия в договоре слова Scala мала, там будет что-то вроде "разработка програмного обеспечения". Я могу ошибаться, конечно. Покажи свой договор как пример.
Аноним 22/08/16 Пнд 02:50:44  824822
(84Кб, 540x810)
https://gist.github.com/anonymous/bb1eed2c4a15a35949741b4c34639e55#file-otsos-scala-L3-L21

Хотел поинтересоваться как правильно писать файлы в ZipOutputStream. Я беру прямые ссылки на удаленные файлы и пишу их через BufferedInputStream в поток архива. Брат не умер, работает нормально, но иногда всё наёбывается причем на одном и том же месте и мне дропается поврежденный архив. Проверял неоднократно, все ссылки рабочие, если по отдельности писать, то норм, но бывает, что какие-то два соседние файлы не могут записаться и все дропается нахуй, уже заебало. Че мне делать, как быть? В большинстве случаев работает нормально, но на большом множестве файлов может случится такая хуета.
Аноним 22/08/16 Пнд 03:13:29  824823
(55Кб, 458x704)
Вернулся в скалу спустя год, тайпсейф переименован, хайпа больше нет.
>>823234
Ты не понимаешь, что такое функциональное программирование. Скала функциональный язык, в ней реализованы некоторые функциональные структуры, которые используются на постоянной основе вроде монадических типов - Future, Optional, Try и тд, дефолтная иммутабельность, объекты первого класса - ты можно обращаться ко всему как кобъектам, дёргать-туда-сюда, передавать аргументом в функции, функторы, паттерн матчинг, уебищная библиотека коллекций, которые вообщем-то поддерживают все функции высшего порядка. В скале нет ленивости и есть только локальная типизация, нет ADT и зависимых типов, но и первое и второе можно реализовать, то есть это несовсем из коробки, но оно есть. Синтаксический сахар - это всякие дешевые приколы с инфиксной формой записи, щас посмотрел что это в интернете, какой-то ебанат указал на case class, в хаскеле такие классы по дефолту, и реализуются они почти так же внутри, я только зашел, а меня уже заебали этим тупым пиздежом не о чем, какие-то ебанаты просто обдрачивают слова и смакуют. Идите нахуй.
Аноним 22/08/16 Пнд 03:37:29  824829
>>824822
заработало, видимо, создавались entry с одинаковым именем, дублировались ссылки

охуеть, качает 2,8гб зип и ничего не сломано
Аноним 22/08/16 Пнд 14:27:08  825021
>>824823
В JS есть монадический тип Promise, это тоже ФП язык?
Аноним 22/08/16 Пнд 14:56:27  825036
>>824823
Поддержу анона выше - в плюсах есть и Future, и Optional и даже лямбдочки (sic! kek), это теперь тоже ФП язык?
Аноним 22/08/16 Пнд 16:33:39  825095
>>825036
>>825021
Есть множество домов: без крыши, без окон, с цокольным этажем, старый, новый; но все они дома. Почему?
Аноним 26/08/16 Птн 13:33:52  827686
Подскажите, где обосрался и как можно лучше сделать.

http://pastebin.com/iXTqXwqa
Аноним 26/08/16 Птн 17:06:49  827902
топик утопает в дерьме...
идите на хуй, те, кто не понял или дохуя умный, вас сюда никто не звал.

На, сука! Лови свою функциональщину на С++..


struct sequence_tag {};
struct pointer_tag {};
template< class X >

X category( ... );
template< class S >
auto category( const S& s ) -> decltype( std::begin(s), sequence_tag() );
template< class Ptr >
auto category( const Ptr& p ) -> decltype( *p, p==nullptr, pointer_tag() );

std::unique_ptr<int> p( new int(5) );
auto f = []( int x ) { return -x; };
std::unique_ptr<int> q = fmap( f, p );

-- реальная дич


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

всем добра!
Аноним 26/08/16 Птн 20:44:21  828125
>>767431 (OP)
не самые очевидные тесты: scalapuzzlers.com
полезные упражнения: scala-exercises.org
Аноним 26/08/16 Птн 20:50:06  828139
>>827902
>-- реальная дич
Конечно дичь, это разные невзаимосвязанные куски кода.
Аноним 02/09/16 Птн 15:17:10  833550
Есть кто-то кто может устроить беспощадное ревью кода?
haltandcf@gmail.com
Аноним 08/09/16 Чтв 06:32:25  837849
мужики не из дс сколько у вас зп? с дс-блядками примерно понятно тк есть пара вакансий в общем доступе с цифрами, а я как провинциал не знаю какой ценник ломить
Аноним 14/09/16 Срд 06:07:20  841613
Cкала-трендж, почему ты тонешь?
Аноним 14/09/16 Срд 09:35:07  841651
>>841613
Потому что скала настолько всем неинтересна, что тред можно нахуй удалять.
Аноним 14/09/16 Срд 18:33:44  841870
Хелпуйте, пацаны.
Короче, написал функцию, которая принмает набор байтов и считает количество появлений каждого байта в этом наборе.

http://pastebin.com/yyYPkZDp
Но проблема в том, что не осиливает большой объем данных.
Как пофиксить?
Аноним 14/09/16 Срд 19:33:31  841899
>>841870
>Как пофиксить?
Поменять язык программирования.
Мимокэп.
Аноним 14/09/16 Срд 19:36:35  841902
>>841870
Вот так это фиксится. На раз-два. Не благодари.
http://pastebin.com/2kqdpMRU
Аноним 14/09/16 Срд 19:44:43  841915
>>841870
По поводу >>841902 - обрати внимание, там в принципе могут обрабатываться файлы гигабайтных размеров, и никакой подчеркиваю: никакой ебли с аккумуляторами.

Насчет этого, кстати, скала не хаскелл и не sml, в самой идеологии языка закладывается что in small, на уровне тела функций /их отдельных мест допустимы императивные циклы и var. Так что не еби мозги хвостовой рекурсией.
Аноним 14/09/16 Срд 20:03:17  841929
(197Кб, 1200x800)
>>824822
/pr/ - NSFW борда что ли?

тест
тест
Аноним 14/09/16 Срд 20:06:03  841931
>>841915
>Еби мозги с хвостовой рекурсией
Но норм пацаны же свёртками такие штуки делают
Аноним 14/09/16 Срд 20:15:13  841935
>>841931
Ну вон там выше свёрткой и на не борщехлебской жабе. Вообще было бы интересно послушать кукареканье борщевиков. А они, как назло, притихли.
Аноним 14/09/16 Срд 20:48:32  841951
>>841870
Твой код это пиздец. Ты понимаешь при каждом remainingBytes.tail и accumElems :+ (...) у тебя создаётся новый массив? И чем дальше, тем больше эти массивы становятся и тем больше элементов приходится копировать.
Наивное функциональное решение, вообще без заморочек с производительностью, может быть таким: seq.groupBy(identity).mapValues(_.size).
Я нормальный бенчмарк не проводил, но на моей машине обработка 100000 элеметнов занимает <100ms в худшем случае (все элементы разные) и 1-2 секунды для 1000000 разных элементов. Ты че считаешь байты, а не инты, значит максимум разных элементов у тебя может быть 256. На таких данных наивный алгоритм обрабатывает 100000 элементов з 9ms, а 1000000 - <100ms.
То есть твои пикчи по несколько метров возможно сможет осилить. Проверить это просто - нужно написть одну (1) строчку кода, а не 20 с tailrec и условиями.
Если данных больше - нужны стримы кончено. Завтра, если не лень будет, сделаю на scalaz-streams и сравню с джавовыми стримами.
Если еще больше - welcome to Spark.
>>841915
>Так что не еби мозги хвостовой рекурсией
Только если работаешь с мутабельными данными и без них не выходит выразить алгоритм или добиться приемлимой производительности.
Аноним 14/09/16 Срд 22:41:14  842055
>>841935
>Свёрткой
>Простыня текста
>Ни одного упоминания fold в любой форме.
Зачем проникающие в этот тред кукаретики назрюкивают свой кукарек совершенно не понимая того, о чем нахрюкивают?
Аноним 14/09/16 Срд 23:37:25  842075
>>841951
что думаешь о cats?
Аноним 15/09/16 Чтв 13:02:57  842232
Помню помню какая-то обезьяна воняла, то ли здесь, то ли борщеподобном треде, что-то про поддержку SIMD в жабе.
Вот из новостей
>Из других направлений я бы отметил API для пакетной обработки данных (Vector API). В современных процессорах есть векторные расширения (SSE и AVX на x86, NEON на ARM), содержащие инструкции для пакетной обработки данных (SIMD инструкции). На текущий момент JVM умеет делать автоматическую векторизацию кода при динамической компиляции, но это не покрывает всех интересных случаев. Идет работа над специализированным API, дающим возможность явно описывать операции пакетной обработки над данными.
Аноним 15/09/16 Чтв 14:21:46  842286
>>842232
Там была вонь про автоматическое распаралеливание кода, а вместо одной (из нескольки) ссылок с пруфом тот C++-питух скинул линк на доку про векторизацию в LLVM, после чего его выгнали нахуй из треда с визгами "КОКОКО ЖВМ ВСЁ УМЕЕТ".
Аноним 15/09/16 Чтв 14:24:56  842288
>>767431 (OP)
скалабогов конфа http://xaa.su/28jQ
Аноним 15/09/16 Чтв 14:38:54  842298
>>842288
Пощекотал хуем за языком любителю сокращателей ссылок.
Аноним 17/09/16 Суб 10:17:52  843284
Читал вот про Free монады и возник такой вопрос к тем, кто пишет на скале в продакшене: их кто-нибудь в реальной жизни использует и если да, то в каких случаях?
Аноним 18/09/16 Вск 20:09:46  844107
>>842288
Дай нормальный invite на конфу
Аноним 18/09/16 Вск 20:18:16  844110
>>844107
https://invite-me-to-2chpr.herokuapp.com/
Аноним 18/09/16 Вск 21:30:47  844125
А есть скалараш по аналагу с джаварашем?
Аноним 18/09/16 Вск 21:59:39  844131
>>844125
Прям как джавараш нету. Есть курсы на курсере, более-менее приличные.
Аноним 18/09/16 Вск 22:06:33  844137
>>844131
Ок гляну
Аноним 18/09/16 Вск 22:59:05  844186
Скаланы, как у скалы отношения с machine learning и big data?

>>844125
Говно по "аналагу" с говном? Ебать ты говен.
Аноним 18/09/16 Вск 23:05:50  844190
>>844186
>Скаланы, как у скалы отношения с machine learning и big data?

Ну, apache'вский Spark написан и использует скалу.
Аноним 19/09/16 Пнд 20:26:46  844633
Реально ли найти в дс вакансии на джуна по скале, просто везде, где фигурирует скала, требуют еще и знания чуть ли не всего джава стека, учить сначала джаву и потом постепенно перекатываться на скалу или сразу учить скалу и потом доучить нужные технологии из джавы? Джаву знаю на уровне книги head first java
Аноним 21/09/16 Срд 10:44:04  845340
>>844633
Джуна вряд ли. Обычно средняя скала вакансия подразумевает, что опыт у тебя хоть какой-то есть, если не скале, то хотя бы на яве или другом языке. Ну и знание самой явы, jvm и стандартной библиотеки явы необходимы, потому что они точно понадобятся. Знание сервлетов и jdbc, скорее всего тоже понадобятся. Но вот насчет необходимости всяких древних JavaEE технологий я бы не был так уверен.

Мне, например, предлагали скала вакансии, хотя у меня основной опыт в сфере .net технологий. И собеседования на эти вакансии я проходил, несмотря на то, что особо глубоко в экосистему явы я никогда не погружался, хотя саму яву и jvm я знаю более-менее хорошо.
Аноним 21/09/16 Срд 12:26:15  845371
>>845340
Спасибо, ну тогда буду параллельно учить, чтобы при первой возможности перекатиться.
Аноним 21/09/16 Срд 17:57:04  845519
Вакансии в ДС - та еще засада.
Угораздило меня со студенческой скамьи нырнуть в Скалу всей головой, устроившись в одну фирму джуниором. Теперь как "свежий мозг" возглавляю рефакторинг, ебашу проект на ScalaZ, но при этом кушаю много-много кактусов, связанных зачастую с требованиями к окружению (Websphere + JVM 1.6 и ниипет). Пытался искать новую работу, ибо уже тошнит от одиночества, похуизма и чуть выше чем студенческой зарплаты, но АХ и УВЫ - нихуя. 99% HR-бабищ, которые доебывали меня по телефону, пытались мне впихивать какие-то джава-вакансии (зачастую на тему BigData). Хотя я четко всем говорил, что джава-опыта у меня нет, один хуй пытались пихнуть. Соснул крупных хуев на нескольких собеседованиях, где задавались в основном джава-вопросы. Лишь пару фирм было более-менее, но они нашли кандидата получше - немудрено, я сижу и сохну мозгами в своей конторке. Уже ничерта там не осталось из основ, все сплошная практика и готовность варить свои велосипеды.

Короче, анон, я уже почти год в профессиональной депрессии и совершенно не понимаю, что мне делать. Есть ли вообще жизнь на Скале? Куда идти дальше?
Аноним 21/09/16 Срд 18:08:41  845530
>>845519
Хуёво как-то искал, тот же тинькфф безостановочно хантит. Ну ещё как вариант – поговорить с начальством на счёт зарплаты прежде чем искать новую работу.

Кстати, уже вышла 2.12 RC1, из фич – java 8, новый оптимизатор, по синтаксису только SAM-типы.
Аноним 21/09/16 Срд 18:20:20  845547
>>845530
Может быть и хуево. Я искал пассивно: кинул резюмеху на хх и ждал звонков. Просмотров была тьма тьмущая, звонков не сильно меньше. Но все по джава-хуите какой-то, да и к тому же названивали агентства.
Про Тинькофф знаю, собеседовался у них. Вроде бы интересный вариант с одной стороны, с другой стороны мне немного не понравилась их атмосфера, которая довольно типичная для банка. Там все постоянно с горящей жопой и на иголках. Все вот эти АГИЛЕ, "каждую неделю релиз no matter what", спринты и прочее говно. Я туда пришел и сразу понял, что эти чуваки ищут упоротых энтузиастов, которые готовы сидеть с 10 до 19, выжимая из каждой клетки своего тела всю возможную энергию, которые готовы работать даже просто за идею. А меня в конторе разбаловали свободным графиком, похуизмом и всем таким вот. За последний год едва вспомню, когда я досидел 8-часовой рабочий день до конца. Сделал несколько фич, чувствую что заебался/устал, или пробки начнутся вот-вот - съебываю домой. Никогда не ездил в час пик.
Короч, они мне тестовые задания дали, а я через пару дней в отпуск уходил. Конечно же, я положил хуй и сообщил им об этом. До сих пор в раздумьях, впрочем. Чтобы туда нормально устроиться, мне придется хорошенько напрячь очко и вботать многое, что я когда-то знал и использовал, но порядком подзабыл. А то последние полгода я только и делаю, что веду БОЙ, а не спокойную разработку, со Spray-ем.
Короче, это реал проф депрессия с сопутствующей апатией. Всю жду, когда меня шарахнет молния, и я начну пилить какой-нибудь сайд-проект, который вскрутит мне голову и заставит многое выучить/вспомнить.
Аноним 21/09/16 Срд 19:40:36  845607
Как вы выучили scala?
Аноним 21/09/16 Срд 21:09:19  845684
>>845371
Куда перекатываться? Зачем перекатываться? Ты думаешь использование скалы тебя волшебным образом избавит от необходимости думать? Потому что если думать, прежде чем говнокодить, то и жаба прокатит.
Аноним 21/09/16 Срд 21:15:58  845702
>>845684
Избавит от многословности и отсутствия более высоких абстракций
Аноним 21/09/16 Срд 22:12:18  845743
>>845702
Seriously?
http://pastebin.com/yyYPkZDp
http://pastebin.com/2kqdpMRU

Не устаю повторять - разруха она не в сортирах, а в головах.
Аноним 21/09/16 Срд 22:23:31  845759
>>845743
>> n {

сколько можно форсить это говно
Аноним 22/09/16 Чтв 20:12:24  846241
есть смысл tapl дрочить?
Аноним 23/09/16 Птн 08:16:00  846522
>>846241
Конкретно тебе - нет.
Аноним 24/09/16 Суб 01:23:29  847084
(48Кб, 1280x720)
>>767431 (OP)
Аноним 24/09/16 Суб 09:46:15  847174
>>845547
че у тинькова задают на тестовое?
Аноним 06/10/16 Чтв 21:12:21  851779
Здарова скаланы, вкатываюсь в скалу по фану, очень интересно, но на Java никогда не писал, да в общем-то не собираюсь. И всю эко-систему JVM только изучаю.

А вопрос у меня один:
Есть какой-то Yoba-веб-фреймворк для скалы чтобы прям вообще макет бэк-энда за день собрать можно было и масштабировать до бесконечности? Ну типа рельсы и прочая ересь скриптопараши но только под скалу.

Аноним 06/10/16 Чтв 21:49:44  851792
>>851779
Play Framework 2
Аноним 07/10/16 Птн 11:06:59  852082
>>851779
>макет бэк-энда за день собрать можно было и масштабировать до бесконечности
Пишешь стейтлесс апи и масштабируешь по горизонтали.
Можешь спрей попробовать, если только апи будешь писать.
Аноним 08/10/16 Суб 00:58:47  852612
>>844131
Не дай бог!
Пусть хотя бы эко-система скалы была в форме и явно ленивые говнокодеры выбраковывались.
Аноним 08/10/16 Суб 00:59:24  852613
>>844125
->
>>852612
Аноним 08/10/16 Суб 01:16:06  852629
>>822365
Чем head отличается от last? Кроме названия, и того, что ты соответствующий ему элемент справа рисуешь.
Аноним 08/10/16 Суб 02:03:36  852638
>>817990
> скаланы че спрашивают на собседованиях на скальные вакансии?
А такие есть?

>>818317
>что НЕ нравится в скале?"
Что на такое обычно отвечают?
Аноним 08/10/16 Суб 02:09:12  852642
>>845607
Практикой и чтением гугла/документации/чужого кода
Аноним 08/10/16 Суб 12:07:02  852740
>>852638
>А такие есть?
Гуглить разучился?
>Что на такое обычно отвечают?
Да разное, кто про отсутсвие общего стайл гайда, кто про убогий вывод типов, кому-то коллекции не нравятся, етц. У скалы полно недостатков и этот вопрос как раз хорошо показывает опыт работы с языком.
>>852629
Ничем. Такая вот абстракция.
Аноним 08/10/16 Суб 15:04:12  852842
>>818151
Бамп вопросику
Аноним 08/10/16 Суб 17:40:42  852936
>>818151
Я бы вообще посоветовал F#, но тут уже дело вкуса — статика или динамика. Из реальных аргументов — кол-во библиотек и стабильность языка — на стороне скалы.
Аноним 09/10/16 Вск 03:40:47  853188
>>852936
> стабильность языка — на стороне скалы
Толсто, там блядь компилятор через раз зависает, 100500 багов в трекере.
Аноним 09/10/16 Вск 03:43:13  853189
>>853188
> Толсто, там блядь компилятор через раз зависает,
Ни разу не было

> 100500 багов в трекере.
Это значит что язык активно используют и улучшают
Аноним 09/10/16 Вск 10:30:23  853219
>>853188
Хз что у тебя там падает, но всё что я слышал и читал об опыте с юлей — пока что очень сыро и память течёт из все дыр.
Аноним 09/10/16 Вск 11:28:45  853234
>>817295
>Тоже кстати жду ответа от петуха выше – что в скале такого академичного?
Система типов. И это нихуя не плюс.
Аноним 09/10/16 Вск 16:14:39  853356
>>853234
И что в системе типов такого академичного?
Аноним 10/10/16 Пнд 11:16:49  853838
>>853356
Он наверное имеет в виду что за ситемой типов в скале есть DoT (Dependent Object Types) Calculus. Не понимаю почему это не плюс. Это позволяет формально рассуждать о системе типов и улучшать её в dotty например.
Аноним 12/10/16 Срд 15:56:28  855323
Решил вкатиться в Play!
Когда редактирую views/index.scala.html например, соответствующий scala файл (target/scala-2.11/twirl/main/views/html/index.template.scala) не обновляется
Использую Жидею со Скала плагином
Приходится делать из командной строки activator clean; activator compile.
Есть какие-нибудь советы?
Аноним 13/10/16 Чтв 12:40:47  855838
>>805344
>>805359
Причем здесь "осилили" и "не осилили".
Поддержка на уровне llvm. Проблема в том, что не каждая архитектура поддерживает. Они хотят, чтобы язык можно было портировать на как можно большее количество платформ. Вот и отказались.
Аноним 23/10/16 Вск 16:22:43  862427
Каковы шансы студента-борщееда вкатиться на джуниорскую позицию на скале?
Аноним 23/10/16 Вск 20:23:31  862541
>>862427
Никаких
Аноним 23/10/16 Вск 20:34:53  862550
Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/
Аноним 23/10/16 Вск 23:30:14  862678
>>862541
Ладно, тогда буду вкатываться сразу на мидла
Аноним 05/11/16 Суб 08:29:53  870053
>>767431 (OP)
называется, зашел скалу поучить.

спека в виде html файлов,
ченжлог забронзовел вообще, что добавили в 2.11 догадывайся как хочешь
http://scala-lang.org/files/archive/spec/2.12/15-changelog.html
что с нами стало, мартин?
Аноним 05/11/16 Суб 12:35:23  870185
>>870053
Зайди на гитхаб и посмотри ченджлог в описании релиза, чо как маленький.

Алсо, зашёл на сайт, прям на странице загрузки компилятора есть ссылка "чо нового" http://www.scala-lang.org/news/2.12.0
Аноним 06/11/16 Вск 22:11:24  871146
Здесь кто-то использует Akka/AkkaHTTP? Я малость охуел в начале, потом прочитал доку (http://doc.akka.io/docs/akka/2.4/scala.html) акторам и потокам, даже что-то стал понимать и получать работающее, от чего совсем охуел.
Аноним 06/11/16 Вск 22:19:47  871150
>>871146
Я использую. У меня на акке написано простое REST-апи. Сам тоже ньюфаг, вкатился в скалу недавно после 6 лет джавы, местами нравится, местами нет.
Аноним 06/11/16 Вск 22:45:49  871156
>>871150
А у меня микросервис для сбора статистики, основная же часть на Django с REST-фреймворком, а гуй на ScalaJS/React. Так вот, перейти с динамики на скалу (как в моем случае) - это как с бейсика/1С на нормальный ЯП.
Аноним 06/11/16 Вск 23:11:36  871175
Опытные аккаёбы есть тут?
Подходит ли акка для выполнения long running tasks? Гугл говорит, что актор должен отрабатывать как можно быстрее и придется что-то городить с пулами.
Use case такой - пуляю таску на "кластер", она там выполняется от нескольких секунд до нескольких часов и возвращает результат.
Что предложите?
Аноним 06/11/16 Вск 23:37:59  871196
>>871175
кастомный контекст\или таску в отдельном экзекутор сервисе

class MyActor extends Actor {
implciit val ec = CachedThreadPool(10)
def receive = {
case task: LongRunningTask =>
MyCustomEC.run(task) pipeTo sender
}
}

object MyCustimEC {
def run(task: LRT)(implicit ec: ExecitionContext) = {
// your code here
}

}


Аноним 06/11/16 Вск 23:39:11  871198
>>855323
нету, кроме что не использовать плэй, сейчас пишут микросервисы, а вся статика в СПА, которая отдаётся нгинксом
Аноним 06/11/16 Вск 23:40:23  871202
>>851779
Lightbend очевидно же
Аноним 06/11/16 Вск 23:40:57  871204
>>845607
никак иди нахуй отсюда
Аноним 06/11/16 Вск 23:41:20  871205
>>871175
>актор должен отрабатывать как можно быстрее
This, как и в любом асинхронном фреймворке, блокировать Event Loop надолго нельзя.
>Подходит ли акка для выполнения long running tasks
Пускай таск отдельным процессом или тредом, и организуй передачу сообщений, все будет ништяк.

Не аккаёб, нуб скорее.
Аноним 06/11/16 Вск 23:42:26  871207
>>841951
>сделаю на scalaz-streams и сравню с джавовыми стримами.
мда
Аноним 06/11/16 Вск 23:42:57  871209
>>833550
кидай
Аноним 06/11/16 Вск 23:44:10  871213
>>824822
>io
>2016
ты нормальный ваще?
Аноним 06/11/16 Вск 23:45:38  871215
>>818635
тикль
Аноним 07/11/16 Пнд 00:30:26  871246
>>871196
Т.е. в таком случае акка будет эдаким message broker?
Если у меня producer может несколько единиц/десятков/сотен задач в секунду выдавать, то можно как-то его заблочить?
Аноним 07/11/16 Пнд 00:59:43  871265
>>871246
Akka-streams
Так же можно ввернуть для надёжности Kafka Grechnevaja, а в идеале взять спарк.
Аноним 07/11/16 Пнд 01:07:02  871271
>>871146
Все скалаёбы используют, мне особенно вот эта няшка понравилась http://doc.akka.io/docs/akka/2.4/scala/stream/stream-graphs.html
Аноним 07/11/16 Пнд 10:23:47  871400
>>871246
>Если у меня producer может несколько единиц/десятков/сотен задач в секунду выдавать, то можно как-то его заблочить?

да, это бэкпрэша называется, смотри любые стримы, как простой это аковские, как провереные продакшеном - апач флинк
Аноним 08/11/16 Втр 14:09:33  872166
>>871198
на чем писать микросервсиы?
Аноним 08/11/16 Втр 15:07:45  872190
>>872166
На чем хочешь на том и пишешь, пиздос вопросик.
Аноним 08/11/16 Втр 20:25:13  872424
>>872166
Akka HTTP
Аноним 08/11/16 Втр 20:29:09  872429
>>872166
spray+akka и/или finagle
Аноним 09/11/16 Срд 18:44:13  873042
>>872429
Akka HTTP is Spray 2.0
Аноним 09/11/16 Срд 19:10:17  873059
>>873042
Хорошо замечено, ибо спрей мертв.
Аноним 09/11/16 Срд 20:33:08  873100
>>873042
уже не тормозит?
Аноним 10/11/16 Чтв 07:52:26  873334
>>873059
Акка хттп это и есть спрей
Аноним 10/11/16 Чтв 21:29:48  873651
>>872429
Поясни за финагл
Аноним 11/11/16 Птн 07:28:07  873858
>>873651
берёшь такой набираешь в гугле блять и используешь, сука вы все тут тупые нахуй.
Аноним 22/11/16 Втр 03:17:57  879967
>>871198
> а вся статика в СПА
В рот ебал ваши СПА. Вместо того чтобы отдать простую страничку текста - сперва скачай 10 мегов каких-то ебнутых скриптов, затем подожди еще полчаса, пока неторопливый мобильный браузер со скрипом провернет в себе шестерни джаваскриптовой хипстопараши. При этом смартфон держать надо в варежках для сварщиков, иначе можно ожог руки получить, ибо кочегарит во всю мощь, переваривая все эти флюксы-редуксы-хуюксы.

И ради чего это все? Почему нельзя просто страничку сгенерированную отдать? Тьфу блядь.

А потом еще ебутся с тем что гугл видите ли их сайт не индексирует как следует, так как его робот не хочет / не может как следует обработать ваши скрипты.
Аноним 22/11/16 Втр 03:30:10  879968
>>879967
Выключай джаваскрипт в браузере и не выебывайся
Аноним 22/11/16 Втр 04:10:16  879975
>>879968
Тогда у него вообще будет груда говна вместо интернета
Аноним 22/11/16 Втр 19:09:06  880332
Хз не платина ли, но есть какие нибудь годные материалы по акке?
Аноним 22/11/16 Втр 22:43:32  880520
>>880332
Что тебе кроме доки и исходников нужно?
Аноним 23/11/16 Срд 02:56:18  880656
>>879968
Угу, и что я там увижу на сайте написанном по принципу
> а вся статика в СПА, которая отдаётся нгинксом
? Пустую страницу?
Аноним 23/11/16 Срд 21:45:28  881125
Готовьтесь уйти в прошлое, макаки!
Аноним 23/11/16 Срд 21:58:10  881139
>>881125
>Имеешь опыт разработки на Haskell от 5 лет
Борщехлебы соснули, лол. Представляете, как у этих ебанашек подгорит, когда им везде будет отказ?
Аноним 23/11/16 Срд 22:54:56  881169
>>881125
Круто фотошопишь.
https://hh.ru/vacancy/18711171
А я уже обрадовался
Аноним 23/11/16 Срд 23:40:46  881229
>>881125
За такие вакансии (если бы это был не фотошоп) можно было бы устраивать бои хаскеллистов, ведь их много, а вакансия одна раз в год. Ну и чтобы они там пиздили друг друга клавиатурами и рвали глотки, последний оставшийся на ногах получал бы работу.
Аноним 23/11/16 Срд 23:57:58  881245
Почему в скале настолько ублюдская система типов? Интероп с явой действительно столько стоит?
Аноним 24/11/16 Чтв 00:16:17  881253
>>881245
Хачкелист закукарекал? Что в ней убогого-то?

вкатываюсь с джавы, проблем пока не имел
Аноним 24/11/16 Чтв 00:45:15  881267
>>881253
Не хачкеллист ни разу, из экзотики знаком только поверхостно с окамлом.
Ты их и не можешь иметь, тк не понимаешь даже о чём речь, после явы и паскаль хорош своими типами, лол.

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

Короче, она очень мощная — но с очень странными прибомбасами и косяками.
Аноним 24/11/16 Чтв 02:36:28  881298
>>881267
>адт в скале реализуются
Нормально реализуются. Через трейт описывающий тип и несколько наследующих его case классов. Весьма похоже на хачкель, хоть и немного более многословно
>enun
Не то чтобы они нужны в скале, но чем плохо?
http://www.scala-lang.org/api/current/scala/Enumeration.html
Аноним 24/11/16 Чтв 22:18:56  881679
>>767431 (OP)
Есть учебник по нейронным сетям на скале? Англ подойдёт.
Аноним 24/11/16 Чтв 22:34:29  881682
>>881298
>Нормально реализуются. Через трейт описывающий тип и несколько наследующих его case классов.
/0
>Весьма похоже на хачкель
/0
> хоть и немного более многословно
>немного
/0
>нинужна
Ну да, ты какую нибудь фсм обычную без подобного средстав очень красиво напишешь. Не начинай песню жава и го индусов.
>но чем плохо?
Может то, что они:
1) Генерируются В РАНТАЙМЕ (как и еще добрая половина ТИПОБЕЗОБАСНОЙ системы типы скалы);
2) Нужно писать буквально в 6 раз больше как и с адт.
Аноним 25/11/16 Птн 00:30:47  881737
>>881682
>/0
Что сказать то этим хотел?
>Нужно писать буквально в 6 раз больше
Ты выражаешь частную концепцию в терминах более общей. В хаскелле атд -- встроеная часть синтаксиса. В скале -- нечто, что можно реализовать при помощи трейтов и классов. Это ты ещё имплементацию тайпкласов не видел, лол. Здесь то всё хотя бы очевидно, хоть и многословно.
Аноним 25/11/16 Птн 10:27:13  881837
Насколько плох/хорош c# с точки зрения функциональности и удобства использования по сравнению со скалой? Думаю, что учить после джавы. Пока считаю, что скала интереснее, но пугает количество вакансий.
Аноним 25/11/16 Птн 11:05:59  881842
>>881837
Если тебя это пугает — пиздуй учить спринги и прочее, что требуют при устройстве на работу, а не языки.
>Насколько плох/хорош c# с точки зрения функциональности и удобства использования по сравнению со скалой?
Функциональность/0.
Удобство — относительно жавы 8/10, относительно скалы 2/10.

В любом случае, если ты только вкатываешься в программирование — скалу выше уровня "нескучной жавы" не осилишь.
Аноним 25/11/16 Птн 11:16:40  881846
>>881842
Не, так-то я уже работаю год джава девом, сейчас хочу сделать вклад в будущее, поэтому надо понять, можно ли ставить на скалу или по крайней мере, на ее идеологию и фишки, которые вроде как начинает перекатывать джава. Гетц во всяком случае наобещал уже угадывание типов, кейс классы и паттерн матчинг.
Аноним 25/11/16 Птн 11:33:17  881852
>>881846
>Гетц во всяком случае наобещал уже угадывание типов, кейс классы и паттерн матчинг.
..которых уже гарантированно не будет как минимум в девятке, ещё всего-то лет 6-8 подождать осталось. При том, что это даже не пятая часть её фич, лол.
>сделать вклад в будущее
Ты это так мусолишь, будто прям дохуя времени и сил инвестировать надо. Лишними новые концепции не будут в любом случае.
Аноним 25/11/16 Птн 12:05:34  881857
>>881846
Если тебе для себя и поиграться, то ставь Haxe и конпелируй под джаву.
Аноним 25/11/16 Птн 12:37:40  881878
>>881857
Чем он лучше скалы?
Аноним 25/11/16 Птн 21:12:18  882149
>>881267
>гуарды пма в рантайме падают (лел)
Ты имеешь в виду тотальность или что? В хаскеле тоже можно писать не тотальные функции.
>как банальный энум пишется
Энум не имеет отношение к системе типов, это просто класс и стандартной библотеки. Лучше исользовать джавовый энумы или либу Enumeratum.
У системы типов скалы есть реальные проблемы: http://io.livecode.ch/learn/namin/unsound
Возможно они будут пофикшены с развитием DoT в dotty и scala 3.
>>881837
Писал почти все работы в универе и полтора года на работе на шарпе, сейчас уже 4 года на скале, на джаве сам почти не писал.
Могу сказать что вернуться к шарпу будет больно. Как и к джаве, даже к восьмой. Дело не только в языках, а в библиотеках, что собственно связано, потому что более мощный язык позволяет создавать более мощные библиотеки и с их помощью писать более читаемый и, если нужно, более абстрактный код.
Хотя шарп удобнее джавы (как минимум был, с появлением восьмой джавы разрыв очень сократился), я бы не советовал переходить на него. Причина проста: на джаве чаще пишется серьёзный бэкенд. То есть у тебя есть больше возможностей работать в местах где ты узнаешь много про разные хранилища данных, конкарренси, асинхронные фреймворки etc. Я не говорю что на шарпе это не пишут, просто реже. Посмотри сам по вакансиям.
Btw, http://www.itjobswatch.co.uk - интересный пример. Найди там данные по шарпу, джаве, скале и хаскелю и сделай выводы.
Аноним 01/12/16 Чтв 20:30:28  885882
Вкатился в проект на Play и Akka. Ох, и боль.
Аноним 02/12/16 Птн 02:24:47  886052
>>885882
Рассказывай
Аноним 02/12/16 Птн 06:57:08  886110
>>767431 (OP)
Что эта шайтан машина хочет от меня?
Аноним 02/12/16 Птн 08:21:05  886125
>>886110
<kzlm.
Можно просто писать код и исполнять его, без всяких созданий говно SBT-проектов? Я, блядь, просто поиграться хочу, а не ентерпрайз приложение писать. Сука. Час потратишь, слушал несколько разных индусов чтобы только понять, как запускать код из Idea, так нихуя и не получилось, хотя под конец как мартышка действия повторял. Сука, бомбит.
Аноним 02/12/16 Птн 09:54:50  886153
>>886110
>jvm sdk does not exists
Ну ты сам то как думаешь?
Аноним 02/12/16 Птн 18:14:28  886445
>>886125
REPL в скале есть, так что просто набирай в консоли "scala" и получай доступ к интерпретатору.
Аноним 02/12/16 Птн 20:16:30  886496
>>886445
Лол, ты действительно предлагаешь кодить без подсветки и автоподбора или траллишь?

>>886153
Как сделать его экзист, блядь? Плагин sdk установлен. Я заебался, даже гугл не помогает.

мимопестонистсменившийверу
Аноним 02/12/16 Птн 20:34:50  886504
>>886496
>Лол, ты действительно предлагаешь кодить без подсветки и автоподбора или траллишь?
Во-первых, если тебе просто поиграться, то автоподбор тебе не слишком нужен, да и подсветка тоже, хотя она есть в любом нормальном текстовом редакторе.
Во-вторых, в repl'e скалы 2.12 есть подсветка и автодополнение.
В-третьих, судя по проблеме, у тебя хромают навыки обращения с ПК.
Аноним 02/12/16 Птн 21:08:48  886527
>>886504
>если поиграться
Если хочу разобраться, но чисто из образовательных целей? Я читаю книжку по скале и кончаю радугой. Нужно просто понять, как это настроить, а дальше пойдёт проще.

>в repl'e скалы есть подсветка
В любом случае там нужно построчно вводить. Это не удобно, если хочешь написать что-то на 200 строк кода, нпрм.

>хромают навыки обращения с пк
И что делать?
Аноним 02/12/16 Птн 21:11:28  886534
>>886527
Делаешь SBT проект, а в нем создаешь себе scala worksheet. И играешься с ним сколько влезет
Аноним 02/12/16 Птн 21:24:28  886543
>>886534
Спс, но я просто вместо класса обжект создал и заработало.

Мне больше интересно, как ты разобрался во всём этом? Есть какой-то учебник/сайт или есть рилейтид опыт из явы и поэтому понятно всё?
Аноним 02/12/16 Птн 21:26:15  886545
>>886534
В чём разница между worksheet/ scala script, чем они отличаются от файлов классов/объектов, как именно применяется SBT и что это вообще всё такое.
Аноним 02/12/16 Птн 21:26:44  886546
>>886545 -> >>886543

Аноним 02/12/16 Птн 22:12:48  886571
>>886545
SBT -- эдакий Maven для Scala проектов. Только вместо xml описания -- DSL на самой scala.
>worksheet
Продолжение идеи REPL. Каждое выражение вычисляется и отображается интерактивно. Фактически используется за тем же, за чем и REPL
>Script
Не знаю, не трогал
>>886543
Через жопную боль. Особенно припекало от ИДЕИ, которая крашилась из-за недостатка оперативки. Как выяснилось, я забыл выделить swap.
Аноним 03/12/16 Суб 00:57:28  886661
>>885882
Двачую. Писать на Scala на Play! - то же самое что писать на жабе на Play!, разве что паттерн-матичинг немного помогает.
Аноним 03/12/16 Суб 01:52:52  886700
>>886661
>то же самое что писать на жабе на Play!
Так говоришь будто что-то плохое. Вполне няшный веб-фреймворк.
Аноним 03/12/16 Суб 15:03:44  886935
>>886661
У нас Play+Java как раз. Говорят, кошерно только на Scala для него писать. Что сразу заметил:
- другая парадигма, много всего осознавать, не самая пологая learning curve;
- везде пишут "расслабьтесь, скалу учить не надо". Но sbt — это описание билда на гребаной скале. Если ты ее не знаешь, что файл сложно читать, я уже не говорю менять. Это в противовес няшному декларативному Maven с xml, где конфиг по аналогии поправит даже ребенок;
- стек довольно редкий + завязка на Lightbend
scala chat Аноним 03/12/16 Суб 18:02:15  887080
754797728302898.jpg (175Кб, 550x340)
Кому интересно общение на тему скалки, милости просим в наш чятик
https://telegram.me/joinchat/BoA_aj9lle-bI9Id-jcE3A
Аноним 03/12/16 Суб 18:14:50  887082
>>886935
Ну пиздец. XML ты значит смог выучить, а DSL с джаваподобным синтаксисом не осилил.
Аноним 03/12/16 Суб 18:35:14  887104
>>887082
XML интуитивно понятен же.
Аноним 03/12/16 Суб 18:55:34  887116
>>887082
XML не надо "учить" он декларативный. Там домохозяйка расскажет, что происходит. И посмотри на .sbt в противовес со всеми этими :=, <<+, +<<, <<=, whatever. Я не говорю, что это нельзя освоить. Я говорю, что это лишний геморрой и дополнительное время.
Аноним 04/12/16 Вск 00:12:28  887328
>>886935
>У нас Play+Java как раз. Говорят, кошерно только на Scala для него писать
Смотря какая версия фреймворка. Первая более заточена под джаву, вторая - под скалу. Я свои проекты делаю на джаве на 1.4.х и мне норм. Хотя поскольку начал сейчас скалу осваивать - думаю вкатиться во вторую версию и поглядеть что-как там.

>>887082
Безотносительно SBT, в функциональных языках все просто помешались на придумывании DSL на каждый чих.
Самый цирк - это DSL для html или xml (такое мне попадалось). Блядь, вы ебнутые что ли? html и xml это УЖЕ DSL фактически, зачем придумывать еще один слой поверх них?
В итоге приходится учить кучу ненужной хуиты.
Аноним 04/12/16 Вск 11:51:44  887469
>>887328
Потому что (html (body хуй)) для многих читается и набирается проще, чем <html><body>хуй</body></html>
Аноним 04/12/16 Вск 12:44:41  887495

>>887082
SBT — уродливая говнина уровня перла, а не жавоподобный синтаксис.

Вот серьёзно, я хз как люди пользуются этими сбт/мавенами/ант, когда есть божественный грейдл.
Аноним 04/12/16 Вск 23:26:01  888074
>>887495
Для большинства проектов все что нужно - это уметь скачивать зависимости, компилировать проект и собирать всякие джары-вары-хуяры. В таком случае что грейдл, что мавен, что сбт однохуйственны.
Аноним 07/12/16 Срд 08:18:07  889671
Есть джва стула. Жаба и Скала. Стоит ли скала того чтобы в неё закатываться. Есть небольшой опыт работы с жавой, и возможность переехать на скалу. Есть успешные скала девелоперы 300к/нс, стоило ли оно того для вас, какие пруфиты по сравнению с жавой?
Аноним 07/12/16 Срд 11:27:20  889734
>>843284
Почитай вот про свободные аппликативные функторы и стрелки.
Аноним 07/12/16 Срд 11:36:08  889736
>>767431 (OP)
Анон, у тебя не печет от синтаксиса скалы после хаскеля?
Аноним 07/12/16 Срд 20:58:34  890102
>>889736
Адово печет, даже учитывая что от хаскеля я узнал только какие-то самые основы.

>>889671
> и возможность переехать на скалу
А что значит "переехать"? У тебя есть вакансия со скалой, на которую тебя готовы взять? Ну тогда чего бы не попробовать.
На скале вакансий мало, но они есть. Язык интересный в целом, хоть и переусложненный.
Аноним 07/12/16 Срд 22:57:15  890161
>>889736
Печёт но не сильно. Я так и не понял например, как в хаскеле нормально работать с разными зависимостями, к примеру. Если есть несколько пакетов с процедурами имена которых совпадают, начинается веселье и пиздец с квалифицированными импортами и лапшой кода
Куда сильнее печёт от каличного автоматического вывода типов. Ну оно то и понятно, скальная система типов несколько более "свободная"
Аноним 08/12/16 Чтв 19:56:37  890662
>>890161
>сли есть несколько пакетов с процедурами имена которых совпадают, начинается веселье и пиздец с квалифицированными импортами и лапшой кода
А в каком языке это не так?
Аноним 10/12/16 Суб 01:32:14  891453
>>889671
Пробовать стоит однозначно, ты ничего практически не теряешь. Ну может будешь хуже в спринге каком-то разбираться, но дрочить на фреймворки - быть дауном.
Профиты:
- язык на котором можно почти без боли писать и, что важнее, который можно без боли читать
- обычно более компетентные команды
- в среднем выше зп - пруф я давал выше >>882149
Аноним 10/12/16 Суб 17:11:39  891800
Теперь вы добавлены в Перекотер, так что вам нет нужды перекатывать треды вручную >>891794
КТО-ТО ПОД ВЕДРОИД ПИШЕТ НА ЭТОЙ ХУЙНЕ? Аноним 10/12/16 Суб 23:15:14  892084
Говорят вообще круто, попробуй еще захочешь.Может кто поможет закатиться
Аноним 12/12/16 Пнд 20:36:34  893226
>>892084
А что ты сделал? Темплейт с макроида то пробовал собрать?
Аноним 19/12/16 Пнд 17:04:20  897112
Так, есть в треде скаланы - scala-разработчики? Как вкатились? Что нужно знать? Пилите стори
Аноним 19/12/16 Пнд 17:17:31  897118
>>897112
То же что и для вкотывания в любой другой язык ничего.
Скачали любую книжку и вкатились.
>>892084
Ага, ахуенно, только вот рантайм 50мб на мобилках тебя опечалит. Если не хочешь измазываться монадами и заниматься прочими приседаниями на типах и прочем - то она тебе даст только более краткий синтаксис. Для такого лучше взять какой нибудь котлин.
Вкатится поможет шапка.
Аноним 19/12/16 Пнд 18:10:40  897146
Работаю чуть меньше года джава джуном. Попробовал скалу - понравилась.

На какие деньги можно рассчитывать в МСК при выборе скала-вакансии (будет ли эта цифра выше/ниже для джава вариантов)? Охотно ли берут людей с аналогичным опытом, или стоит еще прокачаться в джаве год-два?

На hh нашел, что скалисты нужны тинькоффу и яндексу. Есть ли отзывы по ним, а также другие известные работодатели на примете?
Аноним 19/12/16 Пнд 18:39:07  897159
>>897118
Прочитал джве книжки предварительно посмотрев курсы на coursera. Как теперь начать писать на скале за деньги?
Аноним 19/12/16 Пнд 18:50:35  897165
>>897159
Получить где-то опыт (опенсорс/фриланс пойдёт чтоб подзабить портфолио), подзубрить что там спрашивают на собеседованиях по скале и в уелом, подтянуть енгришь и пиздовать собеседоваться. Ещё есть вариант походить познакомится с людьми на конференциях/митапах — больше всего хайрят через знакомых.
>>897146
Моя имхота — когда будешь уверенно тянуть на мидла (относительно своих более опытных комрадов измеряется такое), если среднеджун не стоит сильно рыпаться.

В среднем та же самая цифра, зависит от вилки конкретного региона и компании (зарплаты в целом-то только так и варьируются а не по языку).

Яндексы с тиньковыми — просто большие компании с большими штатами и, соответственно, текучкой. Так вакансий куча, но они мелькают и их трудно заметить если не мониторить (опять же, я выше уже писал — большая часть хайринга кадров производится через знакомых).
Аноним 19/12/16 Пнд 18:51:01  897166
Про заработок денех на скале уже пора в шапку добавлять, лел.
Аноним 19/12/16 Пнд 19:07:30  897173
>>897159
Фриланс, хуячь вебприложения на фуллстек-скале.
Аноним 19/12/16 Пнд 19:25:12  897178
>>897165
Так я работу сменить хочу именно из-за того, что ощущаю, что уровень в плане технологий выше коллег и ловить в конторе уже нечего, либо меня просто не хотят прокачивать. Поэтому адекватную оценку дать себе сложно. Вопрос только в "джава или скала". Конечно, похожу по собеседованиям, посмотрю, где больше предложат и на условия труда. Но я с бОльшим удовольствием повозился бы в скале.
Значит, в крупные конторы через формы обратной связи на сайтах не стоит подавать заявки, а лучше найти человека с интересуемой фирмы и черкануть на почту?
Аноним 19/12/16 Пнд 20:30:49  897208
>>897178
Нет, просто чирканув на почту ты наврятли чего-то вообще добьёшься (вот сам представь — тебе пишет незнакомый хуй из интернетов тебе пишет на почту, просит протолкнуть под жопу эйчарке).

Знакомятся люди явно не так, лол.
Аноним 19/12/16 Пнд 21:34:03  897234
>>897208
Окай.. а можешь подсказать еще, в реальных скала-проектах код читабельный для среднего разработчика? Или часто используют спец. либы для хард функционального программирования, к примеру, scalaz?
Аноним 19/12/16 Пнд 21:42:51  897236
>>897234
"Обычный скала проект" зависит только от команды которой пишется. Где-то как в мире плюсов используют очень ограниченное кол-во фич и даже травят линтеры на нарушителей, где-то и округлые котята на монадах.
Аноним 19/12/16 Пнд 22:42:27  897256
>>897236
От размера команды зависит, скорее всего. Трудно представить себе даже человек 10 тайплевел-джедаев за одним проектом.
Аноним 19/12/16 Пнд 22:44:38  897258
>>897256
Ну, проекту-то не обязательно быть монолитным. А морду для взаимодействия можно и без джихада императивщине написать.
Аноним 19/12/16 Пнд 23:11:24  897265
>>897236
Кароч, смотря какая роль - пользователя всей этой магии (которая под капотом, наверное, всех популярных библиотек), либо кортим-разработчика. Если у каждого разработчика прикладного кода свой собственный dsl over scala, и метапрограммирование на shapeless, это как-то стремно.
Аноним 28/12/16 Срд 16:34:43  902644
Изучаю вот эту страницу: https://www.scala-exercises.org/cats/semigroup
и нифига не понимаю, для чего нужен этот Semigroup, и по какому правилу он вычисляется (в гугле нифига). Подскажите?
Аноним 28/12/16 Срд 17:05:36  902662
>>902644
https://en.wikipedia.org/wiki/Semigroup
Аноним 28/12/16 Срд 17:09:19  902664
>>902662
Кинуть ссылку на вики - все-равно что нахуй послать. Может ты сам не шаришь?
Аноним 28/12/16 Срд 17:27:47  902676
>>902664
Я и не шарю. Помню только, что полугруппа - что-то из дискретки. А тебе зачем?
Аноним 28/12/16 Срд 17:45:13  902691
>>902676
Для саморазвития. После появления в джаве лямбд, на гитхабе развелись проекты (к примеру, functionaljava), предоставляющие скаловский способ работы с данными. Там, в том числе, и эта структура есть. Видать, что-то важное, раз даже в джаву попытались мигрировать.
Аноним 28/12/16 Срд 17:48:59  902693
>>902691
/0
Лучше попробуй поискать чего в яву ещё не потащили.
Аноним 28/12/16 Срд 19:08:13  902717
>>902644
>>902662
>>902664
>>902676
Ебаные дебилы что вы здесь делаете? Функциональщики, говно жрут, что такое полугруппа -- не знают. Ну охуеть вообще!
Аноним 28/12/16 Срд 19:59:27  902729
>>902717
Не разжевал понятие - записался в наши ряды =)
Аноним 28/12/16 Срд 20:25:07  902734
>>902717
Раскинулось поле по модулю пять, за ним интегралы стояли..
Че сказать то хотел?
Аноним 28/12/16 Срд 20:26:01  902736
>>902729
Не знаешь понятия - не являешься илитным скала девелопером :)
Аноним 28/12/16 Срд 20:28:04  902738
>>902736
Все типовики порешал, илита?
Аноним 28/12/16 Срд 20:34:04  902740
Без названия.jpeg (299Кб, 1358x1284)
>>902717
>функциональцики
Но мы простые веб-макаки
Аноним 28/12/16 Срд 20:37:10  902741
>>902736
>>902729
>>902734
С манадами то уже разобрались, почаны? Или не нужно? Или не рассказали как монады связаны с полугруппами?
Аноним 28/12/16 Срд 20:51:59  902747
x582dc081.jpg (25Кб, 416x287)
>>902741
>monad is a monoid in the category of endofunctors
>Моноид
>Полугруппа
Аноним 28/12/16 Срд 20:56:03  902751
>>902747
>Моноид
>Полугруппа с единицей
>Снабжаешь ебаную полугруппу одним ебаным нейтральным элементом и получается блядский моноид
Что ещё спизданешь, мудило?
Аноним 28/12/16 Срд 20:58:37  902754
>>902751
Кэп, с чего ты решил, что с тобой кто-то спорит?
Аноним 28/12/16 Срд 21:01:47  902757
>>902754
Хуй знает. Такой вот я батхёртнутый долбоёб
Аноним 28/12/16 Срд 21:19:29  902769
>>902757
Давай лучше за NoSQL перетрем. Чому его так форсят? Я postgres всю жизнь использую (over slick как в склаебы заделался), а монгу ни одного повода изучить не было. Все ли так я делаю?
Аноним 28/12/16 Срд 22:13:28  902788
>>902769
Потому же, почему подворачивают штаны или отращивают бороду, лел. Использовать нереляционные БД там где можно использовать реляционные --- долбоебизм чистой воды
Аноним 28/12/16 Срд 23:17:12  902813
>>902788
Примерно так и думал. Вот у меня есть проект, где классически в БД лежат всякие сущности, и их отношения (а мордой джанга выступает). Но, вместе с тем, есть и сервис со сбором событий (и хитрой аналитикой в отчетах) на акке, где журнал весь такой из себя схеммалесс, но ссылающийся на вышеупомянутые сущности. Так вот, мне не впадлу написать миграцию, если журналирование требует каких-то изменений. Ну и понятно, что со временем, нагрузка таки может возрасти, и всю эту аналитику из отдельной схемы БД придется переносить в какое-то новомодное хранилище с шардингом, но бай дефолт монгу сувать туда я не стал.
Аноним 29/12/16 Чтв 00:53:46  902847
>>902769
Ты сидишь в скала треде, и вспомнил о монго, но не кассандра+айроспайк. Думаю ты зашел не в тот тред.
Аноним 29/12/16 Чтв 01:10:07  902852
>>902847
А же говорил, что пишу гуй на scalajs и асинхронщину на AkkaHTTP/Slick (иначе фигачил бы на торнадо), причем год только как подсел. Экосистемы не знаю, да. Зато вот от тебя, няша, узнал полезное.
Аноним 02:39:14 Турдас, 29-й день Вечерней звезды  902880
Братья, я вам тут годноту про implicit-based паттерны принес, нубам — в обязательном порядке к прочтению.

http://www.lihaoyi.com/post/ImplicitDesignPatternsinScala.html
Аноним 29/12/16 Чтв 21:57:02  903335
>>902880
Имплиситы какое-то невероятное говнище. Экономится пара лишних символов (ну охуеть, теперь вместо того чтобы в каждый метод передавать контекст, или, что еще лучше, один раз передать его в конструктор объекта, мы заведем новую фичу языка), зато код делается некопируемым. Нельзя просто взять, скопировать кусок когда из документации или стековерфлоу и чтобы он заработал. Так как внезапно откуда-то нужно взять кучу имплиситов, которые могут еще и внезапно нетривиально создаваться.
Короче наравне с перегрузкой операторов это квинтэссенция подхода "ты никогда не угадаешь что делает этот код просто глядя на него, пока сука не сходишь в IDE по всем методам, операторам и вообще всему окружению"
Аноним 29/12/16 Чтв 22:17:33  903337
>>903335
В статье как раз описано, для чего это делается. Если так бугуртишь, и сравнивай на джавке строки через equals, там такого "говнища" не завезено.
ровные посоны пишут в ide, посмотреть значения имплиситов - одна кнопка. расширяемость языка - бесценна
Аноним 31/12/16 Суб 01:36:22  903958
>>903337
>и сравнивай на джавке строки через equals
А я так и делаю. Скала мне нравится многими вещами, но все-таки этот язык содержит очень много способов сделать код абсолютно непонятным и нечитаемым. И если перегрузка операторов - вещь в целом полезная (и холиварная) и способна повысить читаемость и понятность кода, то имплиситы - какая-то невнятная поебень, нужная только чтобы сэкономить пару символов. Впрочем учитывая что многие адепты скалы обожают абсолютно ложное утверждение что "короткий код = понятный код" то ничего удивительного.
Аноним 31/12/16 Суб 01:46:59  903959
>>903958
>нужная только чтобы сэкономить пару символов
Глубоки познания твои, подаван.
Аноним 31/12/16 Суб 03:43:25  903977
>>903335
>нельзя просто взять, скопировать кусок когда из документации или стековерфлоу и чтобы он заработал.
Пиздец какой-то. А так вообще можно? И внутренние импорты в проекте не помешают?
>нужная только чтобы сэкономить пару символов.
Пиздос. Даже обьяснять лень
Аноним 31/12/16 Суб 17:16:25  904149
>>903977
>И внутренние импорты в проекте не помешают?
Импорты стандартных классов IDE сама проставит. А вот всякие нетривиальные имплиситы - хуйз.

>>903959
>>903977
Неглубоки, но пока что я не видел ни одного использования имплисит параметров (я именно про них, имплисит преобразования в целом я нахожу полезными) которое нельзя было бы сделать добавлением пары символов и явной передаче аргумента.
Аноним 31/12/16 Суб 18:14:05  904172
>>904149
Вот и прочитай про статью про тайпклассы, там, например, разобран JSON сериализатор, расширяемый через ваш любимый Open/Closed принцип. Что за порода, им принесешь информацию на блюдечке, а они вместо чтения начинают, нытье про ненужно.
Аноним 31/12/16 Суб 18:35:02  904178
>>904172
лишнюю зпт захуярил, соре
Аноним 31/12/16 Суб 19:29:35  904188
>>904149
нахуй иди отсюдава дауна кусок
Аноним 31/12/16 Суб 20:12:45  904198
>>904188
Поддерживаю твою сорону, но не поддерживаю твою аргументацию.

Немного джуночувств.
Вот такое я оче не люблю:
[CODE]def sosi(implicit name: String) = "Sosi " + name
......sovsem drugoy fayl....
implicit val n = "Scalahater"
............mnogo strok.........
sosi
[/CODE]
Хотя такая вот нравиттся:
[CODE]class Pidor(val name: String)
object Pidor {
implicit val pidor: Pidor = new Pidor("Scalahater")
}
......sovsem drugoy fayl....
def sosi(implicit pidor: Pidor) = "Sosi " + pidor.name[/CODE]
Аноним 03/01/17 Втр 00:27:48  904895
Snap 2017-01-03[...].png (21Кб, 1070x177)
>>767431 (OP)
объясните пожалуйста, как исправить эту ошибку? я создаю в intellij idea проект maven, потом нажимаю на "create from archetype", и выбираю scala, и у меня даже не получается запустить этот шаблонный проект. Объясните, в чём дело пожалуйста.
Аноним 03/01/17 Втр 08:41:40  904983
Настало время глупых ошибок. У меня, вот, идея не запускает свежесозданный sbt проект по стандартному create шаблону (scala-плагин установлен и без sbt все работает збс). Ошибки: ClassNotFoundException Product0, либо Function0. Погуглив, понял, что идея не видит Scala (не совсем понимаю, что это значит, и как исправить). Кто-нибудь сталкивался с такой проблемой?
Аноним 03/01/17 Втр 19:25:27  905338
>>904895>>904983
Мне кажется у тебя Шиндоуспроблемs.
Аноним 03/01/17 Втр 21:44:03  905460
>>904895
Обновить JUnit, очевидно же.
Аноним 04/01/17 Срд 19:50:00  905974
Анон, как организовать implicit conversion Option[A] => Option?

Такое не работает implicit def toB[A, B](a: Option[A])(implicit conv: A => B): Option = a.map(conv(_))
Аноним 04/01/17 Срд 19:51:03  905976
>>905974
Там Option проебалось.
Аноним 04/01/17 Срд 19:51:34  905977
>>905976
Да блядь.
Опшен(Б)
Аноним 04/01/17 Срд 20:46:15  906011
>>905977
Запости на пастебин.
Аноним 06/01/17 Птн 18:56:03  907230
щас тред похерим, аккуратно
Аноним 09/01/17 Пнд 19:19:19  908911
О чем спрашивают новичков на скала-собеседованиях?
Аноним 09/01/17 Пнд 20:57:47  908951
>>908911
Об их прошлом опыте работы на Java. Как правило, большом опыте. Или вообще переучивают имеющихся в штате.

Scala Junior - редкость.
Аноним 09/01/17 Пнд 21:35:53  908992
>>908951
Значит, всех сразу же делают скала-мидлами? ) Чтоб мотивировать переход. Или сеньорами, чего уж там.
Аноним 09/01/17 Пнд 21:42:07  908995
>>908951
С JS прыгнул на Scala, на Java до этого почти не кодил не считая пару сложных хеловордов. Ну в целом конечно только умные джависты идут на скалу, а тормоза остаются в жабе, факт.
Аноним 09/01/17 Пнд 21:43:58  908996
>>908992
Да нет, не делают, сразу берут из жява мира синьйоров и мидлов.
Аноним 09/01/17 Пнд 21:45:12  908997
>>908992
Нет, Scala язык не самый просто для новичка, да, ты можешь писать на нём как Java, только нахуй тебе тогда учить Scala, обычно скалу выбирают как раз из-за его богатых возможностей функциональной парадигмы, а это определенные правила и стиль программирования, которые во-первых накладывают ограничения при программировании (за переменную линейкой бы у меня на работе ебнули по рукам), ну и императивный стиль почему-то для большинства легче
Аноним 09/01/17 Пнд 21:48:28  909000
>>908996
Ну просто я реально не понимаю. Вот задача. Есть теоретический (!) скала синьор с пятилетним опытом и джава синьор с таким же опытом, только-только изучивший скалу. Как каждого из них называть, если будут работать в одной команде над скала-проектом?
Аноним 09/01/17 Пнд 21:56:30  909004
>>909000
Если проект на монадах и котятах — синьером будет только опытный скалист-фпшник. Иначе — похуй абсолютно, такая же жава, с чуть менее вербозным синтаксисом.
Аноним 09/01/17 Пнд 22:36:01  909016
>>909000
Скала синьора называй папой, джава синьора можешь называть шляпой, тетей шлюхой, гребнем, хуйлушей.
Аноним 09/01/17 Пнд 22:58:01  909028
>>909016
Двачую этого мопса.
Аноним 11/01/17 Срд 18:02:46  909909
>>902740
О! Это scala.js? Поясни, как с ним дела обстоят, жив ещё? Чо там с интеропом, либами? Как пишется вообще на нём?
Аноним 11/01/17 Срд 18:17:26  909919
>>908997
Т.е. var вы вообще не юзаете и если нужны сортоф while цикл(как пример) пишете функцию с хвостовой?
Аноним 11/01/17 Срд 19:25:49  909956
>>909909
Мне кажется что это какой-то хуевый scalatags.
C scala.js все нормально. В меру популярный для сложных интерфейсов.
>>909919
Иди на курсеру проходить proglang. Все поймешь.
Аноним 11/01/17 Срд 21:03:50  910025
>>909956
Это тот же скалатагс импорченный через префикс
Аноним 15/01/17 Вск 02:03:09  912426
Братцы, если я совсем зеленый в алгоритмах че делать? Изучать книги/курсы с императивной реализацией? Мб есть какая годная инфа?
Аноним 15/01/17 Вск 17:08:47  912674
>>912426
Если тебе просто хочется уметь во всякие эти списки-деревья-сортировки то читни какого-нибудь Кормена "Алгоритмы построение и анализ", это классика, это знать надо.

Вообще реализовывать тебе вряд ли что-то придется самому, если ты только не дохуя хайлоад будешь делать (что вряд ли в ближайшем будущем) или науку пилить. Хватит краткого перечня основных алгоритмов и структур данных и основ анализа сложности чтобы понимать хуле у тебя удаление из ArrayList так долго работает. Главное знать ключевые слова, по которым потом гуглятся детали
Аноним 16/01/17 Пнд 02:15:25  912910
>>906011
Держи https://paste.fedoraproject.org/528008/48452209/
Аноним 16/01/17 Пнд 09:07:08  912970
>>912910
а почему тебе не хватает просто имплицитного преобразования из A в B?
Такая штука вполне работает: http://pastebin.com/MagUGi9k

Передаем Option[A] туда, где нужен Option и A преобразуется в B
Аноним 16/01/17 Пнд 18:59:15  913247
>>912970
Ды как-то не преобразуется, братан.
Аноним 17/01/17 Втр 23:52:42  914171
Screenshot 2017[...].png (18Кб, 921x137)
butthurtHARD.jpg (44Кб, 479x479)
14814703114200.jpg (50Кб, 713x544)
14663466803350.jpg (95Кб, 786x720)
СУКА ПИДОРАСЫ НЕНАВИЖУ БЛЯДЬ АААААААААААААААААААААААА
Аноним 18/01/17 Срд 00:28:06  914189
>>914171
def joiner[T](list: List[T]): T = ???
Аноним 18/01/17 Срд 12:21:34  914426
>>914189
Нужна диспечеризация по типу. Для одного типа аргумента один метод, для второго -- другой. Не через instanceOf же чекать?
Что за хуйня и почему я с ней до сих пор не столкнулся?
Аноним 18/01/17 Срд 12:31:05  914430
>>914426
Паттернматчинг. Кстати, если диспетчеризация нужна по типу параметра дженерика (как у тебя List[Int], List[String]), наткнешься на жвмопроблемы, кури тайптеги
Аноним 18/01/17 Срд 13:27:23  914467
>>914430
Ну и как ты собрался через паттерн матчинг проверять тип?
Вот, кстати что пишут пацаны
http://stackoverflow.com/questions/3307427/scala-double-definition-2-methods-have-the-same-type-erasure
Аноним 18/01/17 Срд 14:14:18  914496
>>914467
Руками, йобана
http://docs.scala-lang.org/tutorials/tour/pattern-matching.html
Аноним 18/01/17 Срд 14:26:16  914510
>>914467
Ну а я че тебе написал про жвм-проблемы, ебана
Аноним 18/01/17 Срд 14:27:53  914512
>>914467
А вообще, ты бы книгу прочитал, что-ли. Скала хуево осваивается методом тыка без целостной картины в головушке.
Аноним 18/01/17 Срд 14:31:47  914517
>>914496
Во-первых, кто "ты"? Нас здесь двое как минимум. Во-вторых, с чего ты взял что я не читал книг?
Просто такая:
case y: List[Int] => ???
конструкция как-то мимо меня прошла
Аноним 18/01/17 Срд 14:35:43  914524
>>914517
Я третий. Про книги не я писал, но как бы основное применение паттернматчинга в других языках, откуда он пришел, именно в том чтобы матчить типы и адт, а не для обычного свитча на стероидах. Так что пиздуй читать про моноидные функторы, йопт
Аноним 18/01/17 Срд 14:40:38  914527
>>914524
>матчить типы
В этом вашем хаскеле такой хуйни нету, например. А, и да, в скале это не работает
Аноним 18/01/17 Срд 14:51:41  914538
>>914517
>с чего ты взял что я не читал книг?
>не знать про матч по типу
>не знать про тайп эрейже
Хуй знает. Наверное, от то, что абсолютно не понимаешь, что делаешь.
Аноним 18/01/17 Срд 14:53:54  914540
>>914527
Ну ты и днище ебаное тебе уже 5 раз написали про type erasure в жвм и тайптеги
Аноним 18/01/17 Срд 15:03:38  914550
>>914527
>В этом вашем хаскеле такой хуйни нету, например
Ты очень хуйово смортишь, причем везде. зануда мод: скала от эмэлей синтаксиса написалась, не от хачкеля
>в скале это не работает
А тут ты не та то валишь.
Аноним 18/01/17 Срд 15:04:36  914553
Мне даже интересно стало, откуда же к нам такая йоба умная прибежала? Из го-вно трета, где агитируют за то, что литература нинужна?
Аноним 18/01/17 Срд 15:04:43  914554
>>914538
>>914540
Ладно, я соснул. Не понимаю, правда, как из этого абзаца можно сделать такие далеко идущие выводы. Может книжка хуёвая? Рассказывайте, что за годноту читали
Аноним 18/01/17 Срд 15:05:13  914556
>>914550
>написалась
Насосалась
Аноним 18/01/17 Срд 15:09:36  914566
>>914554
>Scala in Depth
Не знаю, может и хуевая. Я изучал по "Scala для нетерпеливых", там последовательно разложены аспекты языка, и примерно указано, где какие подводные камни.
Аноним 18/01/17 Срд 15:16:07  914576
>>914566
Она намного проще, и значительно менее подробная.
Аноним 18/01/17 Срд 15:24:17  914583
>>914550
>Ты очень хуйово смортишь, причем везде
А где это в хаскиле паттерн-матчинг по типу? Или в окамле? Или в смл? Или в фешарпе? Я вот что-то не припоминаю. Ты же не имеешь в виду ручное теггирование через адт?
Аноним 18/01/17 Срд 16:29:45  914623
>>914426
Юзай тайпклассы

object Main extends App {

trait Joiner[T] {
def join(list: List[T]): T
}

object Joiner {
def apply[T: Joiner](list: List[T]) = implicitly[Joiner[T]].join(list)
implicit val intJoiner: Joiner[Int] = (list: List[Int]) => 1
implicit val strJoiner: Joiner[String] = (list: List[String]) => "str"
}

println(Joiner(List(123)))

println(Joiner(List("")))

}
Аноним 18/01/17 Срд 16:45:13  914630
>>914623
А я еще вот такой трюк использовал: http://stackoverflow.com/questions/34745066/dummyimplicits-is-this-used-and-how
Аноним 18/01/17 Срд 18:18:35  914684
>>914630
Оно то можно конечно воспользоваться хаком, но тайпклассы - стандартный паттерн в ФП и в scala юзается почти везде.
Так что рекомендую освоить и использовать его: http://danielwestheide.com/blog/2013/02/06/the-neophytes-guide-to-scala-part-12-type-classes.html
Аноним 18/01/17 Срд 19:15:21  914717
>>914684
Да я в курсе про тайпклассы, просто дал еще один вариант. Есть разные ситуации, возможно DummyImplicit в какой-то будет лучше.
Аноним 18/01/17 Срд 20:47:59  914791
butthurtTreatme[...].jpg (67Кб, 500x718)
Ну пиздец посоны, я думал, что в скале эту хуйню пофиксили, а нет, же блядь походу прямо в жвм проблема, а не только в жабе. Ну пиздец.
Аноним 19/01/17 Чтв 03:57:19  914977
Анон, подскажи, как можно реализовать следующую хрень

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

def compute(a: T, b: T): T = ...

Что бы она произвела вычисления у класса T должны быть методы +, -, , : Double

Знаю, что можно сделать интерфейс с этими методами и задать T <: Interface или через implicit обьект ComputeOps[T] с методами add(a: T, b: T) и тд, но этот метод мне не оч нравится, потому, что и так громоздкое выражение внутри функции превратится в совсем пиздец, если вместо a + b придется писать fooOps.add(a, b).

Мне нравится следующая идея: если я хочу использовать compute для некоторого класса Foo, то мне надо "довесить" необходимые методы используя implicit class не засоряя основное определение Foo, и внутри compute просто писать a + b * a.... и тд.

Можно ли так сделать, и если да, то как? Это вообще норм идея, или глупость?
Аноним 19/01/17 Чтв 10:54:20  915047
>>914977

То, что ты описал, похоже на тайпклассы + pimp my library:

object Main extends App {

trait Add[A] {
def add(a: A, b: A): A
}

implicit class AddOps[A](a: A)(implicit n: Add[A]) {
def |+|(b: A): A = n.add(a, b)
}

object Add {
implicit val addForDouble: Add[Double] = (a, b) => a + b
}


def compute[A: Add](a: A, b: A): A = a |+| b

println(compute(1.0, 2.0))

}

Метод специально назвал |+| вместо +, чтобы было видно, что он добавлен через имплиситы
Аноним 21/01/17 Суб 16:12:27  916357
>>915047
Ты заебал уже со своими тайпклассами, Анон. Выучил тайпклассы - теперь во все щели протаскиваешь?
Аноним 21/01/17 Суб 16:25:54  916363
>>916357
Они без Антона торчат из всех щелей например. Печет от тайпклассов - возможно, ты используешь не тот яп
Аноним 21/01/17 Суб 18:04:48  916407
>>915047
Спасибо, оч помог!
Аноним 22/01/17 Вск 20:07:39  917355
>>767431 (OP)
Скаланы, а вот меня интесует вопрос по структуре проекта. Директории, куда тесты, сырсы и прочее.
Аноним 22/01/17 Вск 23:41:26  917587
>>917355
man sbt
Аноним 23/01/17 Пнд 15:12:35  918056
>>917587
Про генераторы прожектов типа скалатра хуиты я знаю, но вот все эти Джава лайк подходы: директория/ещё директория/100 уровней вниз/Опача.scala меня не очень радуют. Я понимаю, что это вкусовщина всё, и можно делать как хочешь, но есть ли другой, альтернативный и популярный подход?
Аноним 23/01/17 Пнд 18:13:07  918153
>>918056
Нету. И самое веселое, что тот же sbt из коробки поддерживает именно жява-стайл. Ну а чо ты хотел, она на жвм крутится, со всем вытекающим говном, вроде нпе, стирания типов и вот этого вот.
Аноним 25/01/17 Срд 00:41:27  918969
>>918056
>директория/ещё директория/100 уровней вниз/Опача.scala
>директория/ещё директория
src/(main|test|it)/(scala|java|resources) - это нормально, что тут еще можно придумать
>100 уровней вниз
А это уже на твоё усморение. Не хочешь под каждый пакет делать директорию - не делай. Другое дело что когда у тебя 100 пакетов, с соответствующей иерархией в файловой системе как-то удобнее. Ну и я не знаю как IDE дружат с неиерархичным представлением, в смысле рефакторинга например.
Аноним 01/02/17 Срд 22:50:36  924231
Cап, анон, нужна твоя помощь: есть модель - case class Model(... field: Option[Long] ...) нужно используя слик (3 версия, если это важно) взять из базы первый попавшийся экземпляр у которого field == None, обновить ему значение field и вернуть обновленный экземпляр

как-то так def findAndUpdate(value: Long): Future[Option[Model]] // value - значение которое надо установить в field, Option[Model] - потому что в базе может не оказаться сущностей с field = None
Аноним 01/02/17 Срд 22:52:37  924233
>>924231
обновить - значит изменить и записать изменение в базу
Аноним 01/02/17 Срд 23:45:22  924274
>>924231
query
.map(_.field)
.filter(_.isEmpty)
.take(1)
.update(Some(value))
Аноним 02/02/17 Чтв 00:00:12  924291
>>924274
такой запрос вернет Int, а мне надо обновленную сущность возвращать
Аноним 02/02/17 Чтв 00:31:03  924316
>>924291
Ну, чот такое.

val itm = query.filter(_.field.isEmpty)
val optVal = Some(value)

for {
optModel <- itm.result.headOption
_ <- itm.map(_.field).take(1).update(optVal) if optModel.nonEmpty
} yield optModel.map(_.copy(field = optVal))q
Аноним 02/02/17 Чтв 00:31:35  924317
>>924316
Без q в конце.
Аноним 02/02/17 Чтв 21:23:18  924960
Почаны, 2.12 сильно от 2.10 отличается? Если начну читать по 2.10 не получится так, будто я читаю про 7 джк?
Аноним 02/02/17 Чтв 22:16:44  924995
>>924960
Не получится.
Аноним 02/02/17 Чтв 22:27:16  925009
>>924960
Начни читать про 2.12.
Аноним 03/02/17 Птн 12:46:20  925336
>>924960
Там не такие сильные изменения что прям все ПИЗДЕЦ ВСЕ ГОРИТ ПЕРЕПИСЫВАЙ ЧИСТИ ВИЛКОЙ. Если тебе не завтра на собеседование йоба-перформанс-инжинер — вообще не парься.
Аноним 04/02/17 Суб 06:08:54  926064
>>924960
Весь код с 2.11 у меня переконпелировался под 2.12 без изменений, так что полагаю нихуя особо не поменяли.
Аноним 04/02/17 Суб 10:58:21  926176
Есть какой-нибудь мануал по стилю, оформлению кода, бест практикам, архитектуре скала приложений, написанию тестов для них?
Аноним 04/02/17 Суб 11:46:51  926195
>>926176
Хули ты в Скалу лезешь, если даже такой простой вопрос нагуглить не можешь? Ты же с таким проглотом отсосешь, что позавидует даже самая опытная колумбийская шлюха.
Аноним 04/02/17 Суб 22:40:06  926636
>>926195
>кокпок кукареку
Ясно.
Аноним 05/02/17 Вск 12:28:35  926972
>>926636
Ебать ты нечеловек, съеби отсюда.
Аноним 05/02/17 Вск 19:03:56  927208
>>926176
https://www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8&client=ubuntu#q=scala+style+guide
Теперь закрой тред и никогда сюда больше не возвращайся
Аноним 05/02/17 Вск 22:37:31  927343
.jpg (95Кб, 800x600)
>>927208
>>926972
>.com.ua
Но я просил что-то на усмотрение анонов, а не ссылку на гугл. Обоссал тебя в общем.
Аноним 06/02/17 Пнд 01:22:32  927415
>>927343
>2D17
>не быть хохлом
съеби, неактуальный опущ
Аноним 08/02/17 Срд 21:25:20  929065
Чем отличается ТРЕЙТ от абстрактного класса? Я ни хрена не понял. И зачем вообще нужны эти трейты, в чем отличие от множественного наследования в C++?
Аноним 09/02/17 Чтв 21:01:03  929715
>>929065
Во-первых, интеропабельностью с жявой.
Во-вторых, в нормальных языках трейты не позволяют хранить вообще никакого реализационного кода, в скале все же уступили перед напором энтерпрайз-макакенов.
В-третьих, несмотря на второй пунки, в трейтах все полностью иммутабельно.
Отличие в том, что в плюсах можно наследовать любую залупу от любого спидозного хуя и это никак нормально не разграничивается в отличие от скалы (ну это про систему типов в целом в общем-то).
Аноним 10/02/17 Птн 15:16:23  930170
>>929065
Тем что абстрактный класс совместим с джявой, имеет конструктор, и можно наследоваться только от одного абс-го класса.

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

>В-третьих, несмотря на второй пунки, в трейтах все полностью иммутабельно.
trait Govno {
var mocha = ""
mocha = "blevota"
}
Аноним 10/02/17 Птн 17:29:01  930249
>>929065
Кароче, забей хуй на все сказанное, абстрактными классами не пользуются ни в Java, ни в Scala - тебе нужны интерфейсы и агрегация.
Аноним 19/02/17 Вск 11:55:29  936173
>>930170
Да нет, это в скале они просто реализованы в угоду хуяк-хуяк, а не хачкелю.
Про трейты, очевидно, имелось в виду что нельзя менять их если унаследоваться от них.
Аноним 19/02/17 Вск 16:17:57  936346
Посоны, обчитался двача и решил выучить скалу. Пишу вообщем простую программу:

import scala.language.higherKinds
trait Proxiable {
def source: String
}
trait Proxy[+T <: Proxiable] {
def source: String
}
case class Data(source: String) extends Proxiable
case class Stuff[+P[PP <: Proxiable] <: Proxy[PP]](content: P[Data])

Компилятор выдаёт

sandbox/test.scala:9: error: kinds of the type arguments (Proxy[PP]) do not conform to the expected kinds of the type parameters (type P) in class Stuff.
Proxy[PP]'s type parameters do not match type P's expected parameters:
trait Proxy has one type parameter, but type P has one
case class Stuff[+P[PP <: Proxiable] <: Proxy[PP]](content: P[Data])
^
one error found

Что я делаю не так?
Аноним 19/02/17 Вск 23:31:42  936708
>>936346
Плюсик убери
Stuff[P[PP <: Proxiable] <: Proxy[PP]]
Аноним 20/02/17 Пнд 00:08:19  936742
>>936708
https://issues.scala-lang.org/browse/SI-9331
Аноним 20/02/17 Пнд 01:32:24  936784
>>936742
>Created: 27/May/15 5:30 AM
>На мейлаче нашли фикс за пару часов
Аноним 20/02/17 Пнд 20:05:29  937244
>>936784
Илита интернетов, чего ты хотел?
Аноним 23/02/17 Чтв 18:02:08  939442
>>927415
>2014
>быть хохлом
Как там в котле?
Аноним 23/02/17 Чтв 18:04:25  939445
>>939442
>2017
>2014
Как ты пишешь из прошлого?
Аноним 24/02/17 Птн 00:24:26  939753
>>939445
Это комменты из прошлого, а я из будущего.
Аноним 25/02/17 Суб 20:55:45  941003
>>897118
> Ага, ахуенно, только вот рантайм 50мб на мобилках тебя опечалит
Без какого-нибудь proguard максимум 2-2.5 мб выйдет. А с ним и подавно меньше. Не стоит об этом вообще беспокоиться.
Куда большая проблема — система сборки. SBT не подойдёт, поскольку плагин андроида завязан на Gradle очень сильно и сделать что-то сложное просто не получится (всякие сложные работы с манифестами и прочее, что могут использовать сторонние библиотеки). Есть всего один плагин для скалы под андроид, сделанный энтузиастом, но он на него забил походу, так что придётся заморочиться. И со временем плагин может устареть настолько, что с ним нельзя уже будет работать, если никто не возьмётся за его поддержку.
Аноним 26/02/17 Вск 13:22:02  941385
че спрашиваете у мидлов кандидатов специфичное по языку/экосистеме?
Аноним 26/02/17 Вск 23:01:59  941980
>>941385
import java.util.Date

trait TDate

trait TT[A1,T1]

trait TTFactory[F,G] {
def create(f: F) : TT[F,G]
def sample: F
}

object Impls {

// If the c1 is declared before c2, it compiles fine
// or if the implicit's result type is specified explicitly
implicit def c2(s: Date)/ : TT[Date, TDate] / = c1.create(s)

implicit val c1 = new TTFactory[Date,TDate] {
def create(v: Date): TT[Date,TDate] = sys.error("")
def sample = new Date
}
}

Что не так с этим кодом?
Аноним 27/02/17 Пнд 12:43:40  942195
>>941980
No indentation.
Аноним 27/02/17 Пнд 17:05:33  942358
>>942195
Еще макаба звездочки сожрала.
Мимо КО
Аноним 27/02/17 Пнд 17:55:50  942392
>>942195
>>942358
https://issues.scala-lang.org/browse/SI-5265
Аноним 27/02/17 Пнд 18:32:45  942409
>>942392
Все умеют гуглить.
Опять, всегда Ваш, КО
Аноним 08/03/17 Срд 23:09:16  949593
Посаны, а какие есть ресурсы с новостями по скале? Типа как если бы я подписался на тэг scala на stackoverflow, только я хочу чтобы были статьи/новости вместо вопросов. Живу в коробке если че, всегда читал только книги по кампухтер саенсу и доки, а сейчас решил, что определился с выбором языка, и хочу следить за его жизнью.
Аноним 09/03/17 Чтв 00:27:03  949661
>>949593
Можешь на Твиттеры видных деятелей Скалы подписаться для начала, они разную интересную фигню репостят.
Аноним 09/03/17 Чтв 02:31:45  949726
>>949661
Heather Miller няшная чет.
Аноним 09/03/17 Чтв 11:51:41  949859
>>827902
> жду таких дохуя умных на собес
>буду жестко наказывать вас анально, при джунах
вся суть этих ваших собесов
унизить всех вокруг, чтобы возвысится

понабирают в команду самовлюбленных онанистов и вместо работы все нюхают собственный пердеж
Аноним 15/03/17 Срд 19:08:03  954568
>>767431 (OP)
Какие цели преследуют разработчики Scala пиля Native ?
Аноним 21/03/17 Втр 01:59:33  957988
Анон, нужна помощь. Такой вот кусок кода: http://pastebin.com/RTSL4kwG. При этом я пытаюсь добиться того, чтобы при вызове minByFeature не нужно было явно указывать параметры типа. Но у меня нихуя не получается
Аноним 22/03/17 Срд 12:29:32  958909
>>957988
List(-2,-3,-3,-4,-5) minBy math.abs
Аноним 22/03/17 Срд 14:52:32  958985
>>957988
>>958909
Доплню ответ - когда компилятор начинает выебываться с выводом типов, можно попытаться разбить список параметров на несколько:

val list = List(-2,-3,-3,-4,-5)

def minBy[A, B: Ordering](list: List[A])(f: A => B): A = list minBy f

println(minBy(list)(x => math.abs(x)))


Аноним 22/03/17 Срд 17:08:33  959051
>>958985
[code lang="scala"]
minBy(list, math.abs(_: Int))
[/code]
Аноним 22/03/17 Срд 17:28:31  959061
>>959051
Все равно ведь указан тип при частичном применении. Я думаю, что анон искал способ с полным выводом типов
Аноним 22/03/17 Срд 18:09:20  959097
.png (9Кб, 947x222)
>>959061
У меня даже так работает, возможно в 2.12 пофиксили
Аноним 22/03/17 Срд 18:19:06  959107
>>959097
Походу. Я тестил на версии 2.11.8
Аноним 23/03/17 Чтв 21:12:22  959727
Существуют ли какие-то реальные примеры проектов на Spring + Scala? Хочу попробовать скалу, но отказываться от спринга для меня пока что слишком радикально.
Аноним 23/03/17 Чтв 21:48:56  959749
>>959727
Берёшь шпринг, пишешь энтерпрайзные бобы на скале, в чём проблема?
Аноним 25/03/17 Суб 15:26:24  960683
>>958909
Я знаю, что есть такая функция если ты заметил, моя реализация немного пизданутая. Всё потому что я не собираюсь это использовать, я просто хочу понять чому нужно явное указание типа в моем примере и почему нельзя без него обойтись
Аноним 25/03/17 Суб 15:27:45  960684
>>960683
Запилите перекот кто-то. Чур не я
Аноним 26/03/17 Вск 04:40:08  961101
>>960684
Да кому он нахуй нужен.
Аноним 26/03/17 Вск 11:57:44  961181
>>959727
У нас на работе есть микро проект на спринге и скале.
Но вообще использовать джавовую инфраструктуру со скалой не имеет смысла, так же как и использовать скалу как джаву++, только дополнительных проблем отгребешь. Либо преезжай полностью, либо не выёбывайся и пиши на джаве.
Аноним 08/04/17 Суб 12:13:33  969213
Сделайте перкат. Хочу обмазываться борщами.
Аноним 18/04/17 Втр 22:52:48  976012
Скопировал хелловорлд из доки по akka-http
http://doc.akka.io/docs/akka-http/current/scala/http/introduction.html#using-akka-http
, через консоль билдится нормально, а в идее почему-то подчеркивает красным
> complete(HttpEntity...
> expected: ToResponseMarshallable, actual: HttpEntity.Strict
Решил понять, как оно конвертируется в ToResponseMarshallable, и не смог. Думал там какие-то имплиситы подрублены, через которые конвертируется. Что я пытался сделать:
1) Запустил activator console, импортнул все, что в коде, прописал :implicits, написало
> No implicits have been imported other than those in Predef.
2) В sbt прописал scalacOptions += "-Xlog-implicits", при конпеляции выдало
> [info] .../hello-akka-http/src/main/scala/com/example/WebServer.scala:22: server.this.RoutingLog.fromActorContext is not a valid implicit value for akka.http.scaladsl.server.RoutingLog because:
> [info] hasMatchingSymbol reported error: could not find implicit value for parameter ac: akka.actor.ActorContext
> [info] val bindingFuture = Http().bindAndHandle(route, "localhost", 8080)(materializer)

Как все-таки HttpEntity превращается в ToResponseMarshallable?
Аноним 19/04/17 Срд 17:47:50  976390
Выбираю между Скалой Питоном Го и Тут ещё на хаскель предложили посмотреть для многопоточной обработки геоданных: парсинг -> поиск координат и маршрутов.

В активе только php, delphi/pascal, ruby. Стоит скала того? А то куча статей о миграции на Го (а с го на хаскель)
Аноним 23/04/17 Вск 11:14:29  978254
>>976390
>в активе только php
И выбираешь ты между лебедем, раком и щукой. Бери Go, остальное ты не осилишь, да и не надо тебе оно.
Аноним 24/04/17 Пнд 10:45:23  978995
>>978254
Причём здесь осилю-неосилю. Мне нужен эффективный инструмент, который поможет обрабатывать большие массивы данных. И не заебусь ли я потом (через год-два) разработчика искать для поддержки?
Аноним 24/04/17 Пнд 20:36:29  979295
>>978995
При том, что ты не осилишь и инструмент этот у тебя в руках окажется неэффективным. Заебешься со всеми тремя вариантами.
Аноним 25/04/17 Втр 09:52:22  979604
>>979295
Почему?
Аноним 25/04/17 Втр 13:28:38  979771
>>979604
Почему что?
Аноним 14/05/17 Вск 14:55:54  990405
Тактический бамп.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 525 | 26 | 235
Назад Вверх Каталог Обновить

Топ тредов
Избранное