@scala_ru

Страница 211 из 1499
Dmitry
05.11.2016
11:23:19
или что тому кто вынужден подхватить бомбануло?

Daniel
05.11.2016
11:24:46
Ну вообще, я согласен с вопросом. Либа не из легких, а давать ссылку на примеры или книгу - не очень
А что ещё нужно? Примеры действительно хорошие и информативные, мне хватило чтобы начать пользоваться

Oleksandr
05.11.2016
11:25:32
что поощряется писать код, для понимания которого надо вникать во что-то весьма долго

Dmitry
05.11.2016
11:26:07
@dveim к сожалению такое встречается весьма часто.

Google
Oleksandr
05.11.2016
11:28:34
я совершенно не в курсе, из-за чего именно тот тип психанул, но ситуаций вида "а вот здесь я напишу мета-абстрактный метод с шейплесом и скалаз, просто потому что могу" в скале ненормально много

Юрий
05.11.2016
11:30:37
примеры - это хорошо. Но когда ты ваще не втыкаешь базу - это не ок

Dmitry
05.11.2016
11:30:57
не только в скале, в любом языке, @dveim

Юрий
05.11.2016
11:31:20
а книжка кстати бесплатная по шейплесу?

Daniel
05.11.2016
11:32:56
примеры - это хорошо. Но когда ты ваще не втыкаешь базу - это не ок
Там не просто примеры, а feature overview с примерами

Dmitry
05.11.2016
11:33:48
Юрий Copyright 2016 Dave Gurnell. Text and diagrams licensed CC-BY-SA 3.0. Code samples licensed Apache 2.0 пахнет не платно..

хаха, телеграм-парсер лох.

Timothy
05.11.2016
12:14:52
уже и PR есть для нее https://github.com/milessabin/shapeless/pull/654

Vladimir
05.11.2016
12:24:29
я совершенно не в курсе, из-за чего именно тот тип психанул, но ситуаций вида "а вот здесь я напишу мета-абстрактный метод с шейплесом и скалаз, просто потому что могу" в скале ненормально много
Шейплесс тут не причем. точно также можно оставить приятное наследство из макросов. Если человек в одиночку пишет, то это, конечно, проблема. Во всех остальных случаях - есть команда, которая в процессе ревью должна заставить автора задокументировать код так, чтоб не-"шейплессолюб" смог за адекватное время разобраться.

Oleksandr
05.11.2016
12:33:21
тогда в чем смысл использовать сложные высокоуровневые инструменты, если все равно нужно обьяснение? когда надо писать код так, чтобы ошибки отсеивались на этапе компиляции, а когда лучше написать документацию? (на примерах от /** may return null */ def f(...): T = null vs def f(...): Option[T], и по возрастающей)

Nikolay
05.11.2016
12:35:56
уже и PR есть для нее https://github.com/milessabin/shapeless/pull/654
У PR должен быть title "Improve fucking documentation"

Google
Vladimir
05.11.2016
12:37:02
я не считаю, что документация и type-safety взаимо-исключают друг друга. Документация не отсеет ошибки на этапе компиляции :) Но она поможет разобраться в сложном доказательстве или макросе, если кому-то понадобится его подправить.

KrivdaTheTriewe
05.11.2016
12:37:32
можно хотябы ссылку на руководство с примерами дать)

Vladimir
05.11.2016
12:37:39
я за то чтобы была и документация и shapeless :) сам всегда свою пруфы документирую

@krivdathetriewe https://github.com/underscoreio/shapeless-guide

KrivdaTheTriewe
05.11.2016
12:38:57
@krivdathetriewe https://github.com/underscoreio/shapeless-guide
Да мне то что , я то найду, мы же тут про общий подход говорим

Vladimir
05.11.2016
12:40:17
@krivdathetriewe сорри, не так тебя понял :) примеры чаще всего тривиальные и в проде что-то посложнее, но это точно лучше чем ничего)

Oleksandr
05.11.2016
12:41:58
для примера с null vs Option это очевидно, потому он и "самый простой" а вот, допустим, сложный метод с сигнатурой на три строчки, который принимает только инстансы определенных классов с определенными ограничениями (например, только простые числа) может, лучше забить и написать require с комментом, и не забыть про тест?

Daniel
05.11.2016
12:44:49
для примера с null vs Option это очевидно, потому он и "самый простой" а вот, допустим, сложный метод с сигнатурой на три строчки, который принимает только инстансы определенных классов с определенными ограничениями (например, только простые числа) может, лучше забить и написать require с комментом, и не забыть про тест?
По моему опыту если такой метод отдаётся на пользование "вовне" - лучше уж написать сигнатуру и исключить разом целый класс проблем. На requirements можно забить и передать в метод каку, на типы не даст забить компилятор

Oleksandr
05.11.2016
12:45:38
но ведь пишущий код запустит его, и увидит рантайм исключение

Daniel
05.11.2016
12:46:29
Ага, только рантайм исключение может выпасть не при отладке, а когда код уже неделю в продавшего

Продакшене

Oleksandr
05.11.2016
12:47:09
может а непередаваемые ощущения от распутывания доказательства в сигнатуре будут 100%

Vladimir
05.11.2016
12:47:13
@dveim а здравый смысл никто не отменял, я require тоже пользуюсь довольно часто. есть просто кейсы, где без шейплеса объем бойлерплейта будет настолько огромным, что 20-строчный пруф, пусть и сложный, гораздо удобнее чем сотни строк написаных вручную

Oleksandr
05.11.2016
12:48:31
100 строчек require? можно пример?

Vladimir
05.11.2016
12:49:19
нет, я сейчас не про валидацию говорю а про generic преобразования. вообще не понимаю какая связь shapeless и require, если честно

тут уж скорее refined

Oleksandr
05.11.2016
12:49:59
ну, я не про конкретно шейплес, а вообще про стремление сделать все тайпсейфно

шейплес просто моя любимая мишень для подколок

Google
Oleksandr
05.11.2016
12:51:19
пока что, насколько я вижу, все так или иначе сводится к "здравому смыслу"

Vladimir
05.11.2016
12:51:32
да, как и в любом хорошем стремлении

фанатизм враг хорошего

Daniel
05.11.2016
12:51:54
Daniel
05.11.2016
12:52:03
Только ситхи все возводят в абсолют?

Vladimir
05.11.2016
12:52:56
@dveim ты же любишь макросы) те же яйца, только в профиль

Oleksandr
05.11.2016
12:53:23
ну, да, их надо использовать ещё аккуратнее

Vladimir
05.11.2016
12:55:50
и кстати, если уж честно, то и на обычной джава-скале могут такого понаписать, что черт ногу сломит. так что да, здравый смысл FTW :)

Oleksandr
05.11.2016
12:58:05
есть мнение, что этих самых require + тестов хватает в повседневное жизни проблема "здравого смысла" — кому-то этот кусок кода очевиден настолько, что он даже не трудится писать коммент, а кому-то это головоломка и вовсе не факт, что второй человек "не шарит" — он может прекрасно разбираться в нюансах тюнинга SVM, но все равно не понимать вроде бы простой код

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

Daniel
05.11.2016
13:02:34
Тут подчас дело в том, что простота != удобство. Часто взять scalaz - самый прямой способ сделать то, что нужно, бывает что сроки ужаты настолько, что выбирать не приходится

Dmitry
05.11.2016
13:33:34
ужасы какие рассказываешь. Прямо так себе и представляю картину: о нет, баг в проде, бабки теряем, клиенты уходят! срочно! scalaz to the rescue!

Daniel
05.11.2016
14:05:14
Не совсем так: двухнедельный спринт, хренова прорва фич, коллега в отпуске. Времени на тесты особо нет, да что там, даже запустить особо некогда. В таких условиях "хитрые типы" реально ограждают от ошибок

В прод ушло вовремя, ничего не упало

Может я слишком везучий)

Oleksandr
05.11.2016
14:19:14
а сколько вас было?

Andrii
05.11.2016
21:31:52
ребята, простите за нубский вопрос, но что я тут не так делаю? (все в одном файле). Вообще все началось с того, что "implicit val a" был в компаньон обджекте -------------------------------- class ImplicitTest { implicit val a = "Vasya" def printName(implicit name: String) = { println(s"Hello, $name") } } object runner { def main(args: Array[String]): Unit = { val implTest = new ImplicitTest implTest.printName } }

KrivdaTheTriewe
05.11.2016
21:34:17
Импорт сделай

import implTest._

Andrii
05.11.2016
21:36:43
спасибо

Google
KrivdaTheTriewe
05.11.2016
21:37:38
Нп

Юрий
06.11.2016
14:19:31
/stat@combot

Combot
06.11.2016
14:19:31
combot.org/chat/-1001034178083

Grigory
06.11.2016
14:33:15
Я сдал позиции

все пропало, проклятие!

Nikolay
06.11.2016
14:34:18
Я сдал позиции
пора увольняться, чтобы посвятить себя чату в полной мере

KrivdaTheTriewe
06.11.2016
14:34:48
увольняться никогда не поздно , чтобы свой стартап сделать

Alisa
06.11.2016
15:36:27
какие книги по scala вы посоветуете чтобы досконально понимать этот язык? (я из ооп мира) сейчас вот курс по функциональному программированию заканчиваю, но полного понимания нет, всё как-то "на пальцах", хоть и сам создатель этот курс ведет, хотелось бы все тонкости знать и понимать

KrivdaTheTriewe
06.11.2016
15:37:39
https://www.safaribooksonline.com/library/view/programming-in-scala/9780981531687/

Denis
06.11.2016
16:07:06
Еще Scala in Depth

Alisa
06.11.2016
16:11:39
псипки c:

D
06.11.2016
16:12:27
про scala for the impatient вспоминали ?

а, видимо нет

Alisa
06.11.2016
16:14:04
даже читали в прошлом году, но как-то без проработки примеров не зашло, надо перечитать видимо?

Dmitriy
06.11.2016
16:40:41
Красную книгу, functional programming in scala. И learn you a haskell for great good.

Vladimir
06.11.2016
16:40:42
Одерский полнее заходит кмк, но он и потолще

D
06.11.2016
16:41:25
Одерский полнее заходит кмк, но он и потолще
давайте устроим срач на тему того, как писать фамилию Одерски

Vladimir
06.11.2016
16:43:38
давайте устроим срач на тему того, как писать фамилию Одерски
Я за тотальную и вульгарную локализацию ?

D
06.11.2016
16:44:05
задолбали своей русификацией всего и вся, рли

Google
D
06.11.2016
16:44:13
ты его ещё Мартыном назови :D

«ты, Одерски, мартын, сын мартына и дети твои будут мартынами»

Vladimir
06.11.2016
16:48:11
На самом деле это травма от переводческого образования. Когда знаешь как правильно, но тебя мало кто понимает. Начинаешь нарочно русифицировать, и это становится дурной привычкой

Alex
06.11.2016
16:57:10
Мартин-на-Одере

Wystan
06.11.2016
22:50:31
про scala for the impatient вспоминали ?
может перестать ее рекомендовать. она же платная и там скала подается под соусом джавы на амфетаминах

KrivdaTheTriewe
06.11.2016
22:53:26
книги все платные

как бы

та же книга от одерски платная

Wystan
06.11.2016
22:54:05
learn your haskell for gg бесплатна

шах и мат, аутист!

KrivdaTheTriewe
06.11.2016
22:55:10
»haskell »2016

D
06.11.2016
22:55:54
а что не так с хаскилями в 2016?

KrivdaTheTriewe
06.11.2016
22:56:38
да всё нормально

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

Wystan
06.11.2016
23:06:20
просто каждый довод предыдущего оратора не выдерживает никакой критики
Ты просто не можешь в логику. Квантор- хуянторы, вот это все.

KrivdaTheTriewe
06.11.2016
23:10:12
просто я помогаю человеку, а ты нет

Wystan
06.11.2016
23:10:55
Подсовывая бесполезную книжку пятилетней давности за которую надо платить?

KrivdaTheTriewe
06.11.2016
23:11:08
посмотри , что я подсунул

не хочешь платить - укради

Страница 211 из 1499