
Nikolay
13.09.2016
19:13:21
мне проще с иммутабельными данными, и когда код это обработка данных. объекты которые проносят через код свой стейт и меняются - очень сложно читать

Oleksandr
13.09.2016
19:13:56
ну есть фанатики-хаскелисты, их иногда сложно понять
но таких меньшинство (хотя шумят они за сотню каждый)

Aleksey
13.09.2016
19:14:32
Да. Если ты научился их грузить в мозк, то оперировать ими проще. Условно говоря меньше памяти в голове знамают.

Oleksandr
13.09.2016
19:14:33
type Interpreter[T[_[_], _], F[_], G[_]] = F ~> T[G, ?]

Google

guga
13.09.2016
19:14:44

Oleksandr
13.09.2016
19:14:51
вот такое, например, на меня нагоняет легкую панику

Nikolay
13.09.2016
19:15:17
слушайте, а если бы были именованные типы, как в дотти обещают?
в смысле type параметры

Pavel
13.09.2016
19:15:35
меня больше пугают классы Wtf$1 ^_^

Oleksandr
13.09.2016
19:16:00
это в классфайлах?

Nikolay
13.09.2016
19:16:02
type Interpreter[Foo = T[_[_], _], Bar = F[_], Baz = G[_]] = F ~> T[G, ?]

Pavel
13.09.2016
19:16:10

Oleksandr
13.09.2016
19:16:13
в смысле, при доступе из джавы?
в сорсах такое — ну очень дурной знак
потому что $ генерится компилятором
и можно наломать дров

Nikolay
13.09.2016
19:17:13

Google

Oleksandr
13.09.2016
19:17:13

Nikolay
13.09.2016
19:17:35
вообще немного понятнее стало
Одерски на презентации про дотти показывал пример в духе Map[Key = String]

Oleksandr
13.09.2016
19:18:33
а если там вместо Foo будет Histomorphism какой?
те сугубо домейн-специфик (ФП) штука?
что, чаще всего, и будет

Aleksey
13.09.2016
19:20:57

guga
13.09.2016
19:22:05
Но потом приходит бизнес и всё портит.

Nikolay
13.09.2016
19:22:39
мутирует все коллекции)

guga
13.09.2016
19:23:01
Я не долго пишу на скале, так что особо наехать не могу на неё, у меня ещё период хайпа, могу за жабку сказать.

Aleksey
13.09.2016
19:23:36
Но потом приходит бизнес и всё портит.
Не знаю что он там портит. Клиенты чо говорят? Эй программисты, пишете говнокод? Нет. Они хотят что бы мы решили их проблемы. А то как это сделать хорошо и вовремя это уже наш челенж.

guga
13.09.2016
19:25:26
Довольно часто я это слашал. А бизнес всё портит сроками. Вместо того, что бы подумать как хорошо сделать, программист средней руки начнёт мутировать данные или писать write only код
Вот была жабка, довольно неплохой язык, в чистом виде.

Nikolay
13.09.2016
19:25:50
по прошлому опыту работы в компании которая делала аутсорс проект, бизнес обычно: "хочу так, и вот так, и побыстрее", а потом "ну вообще не особо то нам это нужно, верните как было". значит в идеале нужен код, который просто модифицировать, и чтобы он был модульным

Aleksey
13.09.2016
19:26:21

Nikolay
13.09.2016
19:26:31
+1

guga
13.09.2016
19:26:42

Nikolay
13.09.2016
19:26:48
))

guga
13.09.2016
19:27:03
К скале эту реплику довольно сложно отнести.

Nick
13.09.2016
19:27:24

Google

Oleksandr
13.09.2016
19:27:46
почему?

Nikolay
13.09.2016
19:27:57

guga
13.09.2016
19:27:57

Nick
13.09.2016
19:28:11

Nikolay
13.09.2016
19:28:17
почему?

Aleksey
13.09.2016
19:28:18

Nick
13.09.2016
19:28:19
просто количество либ на гоу стремится к 0
это значит, что копипаста там будет до жопы

Oleksandr
13.09.2016
19:28:36
ээ
это просто не так)

Nick
13.09.2016
19:28:52
так так, я много гоу софтин видел уже

Oleksandr
13.09.2016
19:28:56
для базовых задач либ там куча

Oleksandr
13.09.2016
19:29:10
велосипеды, в основном, но много

Nick
13.09.2016
19:29:20
сравни с maven central )))
не изменяет

sss3 ?
13.09.2016
19:30:36
у го разве вообще есть какое то центральное хранилище либ? (не гитхаб :)) )

Nick
13.09.2016
19:30:57
есть
https://golang.org/pkg/

guga
13.09.2016
19:31:28
Так вот, продолжу, была не плохая такая себе джава, в 5й версии даже генериков добавили, аннотаций завезли. И тут то понеслось. Читабельный код превратился в мешанину из аннотаций, на сцену вышел спринг, который непонятно что делает с твоим кодом.
P.S. в jdk9 буду иммьютабельные колекции, если ничего не поменятся

Nick
13.09.2016
19:31:54

Google

Nick
13.09.2016
19:32:04
спринг простой
скажем так, что проще чем scala macros )

Aleksey
13.09.2016
19:33:03
Ну почти

guga
13.09.2016
19:33:19

Nikolay
13.09.2016
19:33:21
когда добавят?

Nick
13.09.2016
19:33:23
мету забыл

Admin
ERROR: S client not available

Nick
13.09.2016
19:33:31

Aleksey
13.09.2016
19:33:40
Да. Мета, имплиситы и хай кайндед тайпс.

guga
13.09.2016
19:33:50

Aleksey
13.09.2016
19:33:51
И тогда на джаве можно будет писать

Nick
13.09.2016
19:33:59
каждый бин в зависимости от необходимости заворачивается в проксю

guga
13.09.2016
19:34:32

Nick
13.09.2016
19:34:33

Aleksey
13.09.2016
19:35:00
спринг простой
Спринг считался глотком свежего воздуха после ЕЕ не? Лет 8 назад были такие разговоры.

Nikolay
13.09.2016
19:35:08
а насколько небыстрый паттерн матчинг в scala?

guga
13.09.2016
19:35:26
Смотрел ли ты что делает spring-data? или что делат spring-cloud

Google

sss3 ?
13.09.2016
19:35:35

Nick
13.09.2016
19:35:59
spring-cloud простой впринципе
и вообще я каждый день пишу на этом гавне ,че вы мне про него рассказываете

sss3 ?
13.09.2016
19:36:59
?

guga
13.09.2016
19:37:49
Да, довольно просто @EnableEurikaServer и бац у тего готовый сервак эврики
а потом бац клиент сам нашел этот сервак

Nick
13.09.2016
19:38:09
это если у тебя есть на класспасе автоконфигурация для него

guga
13.09.2016
19:38:28

Nick
13.09.2016
19:38:30
а че его искать, стандарные методы обнаружения
херанул броадкаст в сеть и радуешься)
на самом деле автоконфигурации тож все простые, они просто бины дефолтные определяют и все

guga
13.09.2016
19:39:39
вот только мало кто лезет смотреть как все работает, пока всё работает как нужно.

Nick
13.09.2016
19:39:52
а зачем туда лезть вообще

sss3 ?
13.09.2016
19:40:12
зачем знать как внутри что то работает ?

Nick
13.09.2016
19:40:27