@jvmchat

Страница 2722 из 2890
Vitalii
13.08.2018
09:30:15
Ну чего началось-то

Хороший язык, нормальный дизайн.

Google
Vitalii
13.08.2018
09:30:54
Вы ещё скажите, что JS плохой.

Quantum Harmonizer
13.08.2018
09:31:25
Вы ещё скажите, что JS плохой.
Ну и все ответят «ну да, плохой». А как же срач?

Ivan
13.08.2018
09:31:39
конкретно тут -- как продолжение мысли "котлиновские либы плохо совместимы с джавой", так-то против корутин ничего не имею дальше, корутины -- одна из двух (угадайте вторую) не-сахарных фич котлина и они _специально_ были созданы в языке, а не в либе это даёт больше возможностей, но и накладывает больше обязанностей котлину никогда (в текущем состоянии экосистемы и джвм) не достичь того уровня удобства корутин, которое в го поэтому, с моей точки зрения, решение интегрировать корутины в язык (повторюсь, не имея критично важных аргументов для этого, которые не может дать либа) выглядит исключительно как популистское и маркетологическое, чтобы больше народу юзало котлин что, с моей точки зрения, довольно мудацкая позиция они могли бы сделать отдельную либу (что бы сразу дало свой отпечаток в виде требуемого юзер-апи, и проблемы совместимости корутин с джавой бы не было в принципе), но победили маркетологи
А можно немного истории про удобство горутин? Просто когда я смотрел, в го гринтреды ещё как-то шедулятся самостоятельно, как по мне та система которая в котлине - оптимальна, переключение треда только при асинхронном вызове. Что не так? Можно ссылками

Anton
13.08.2018
09:31:41
вы еще напомните, что в го до сих пор генерики не завезли

Bogdan
13.08.2018
09:32:07
Берял
13.08.2018
09:32:28
Vitalii
13.08.2018
09:32:51
вы еще напомните, что в го до сих пор генерики не завезли
Знакомый джяварождённый жиесник так и не смог объяснить знакомым гоферам, зачем нужны дженерики. Пока объяснял — пришёл к выводу, что они реально не нужны.

Anton
13.08.2018
09:32:52
Ну и все ответят «ну да, плохой». А как же срач?
ну можно ответить "не умеете его готовить" если дела касается ноды и "да, плохой" если про фронт

Google
Oleksandr
13.08.2018
09:34:35
Ну в джаву тоже нио завезли
но старый код не поменяли)

Quantum Harmonizer
13.08.2018
09:35:04
Чёт я не въезжаю в аргумент "что там под капотом", в котлин капот не сложнее карандаша, если не брать корутины
ну у тех, кто плохо понимает JVM, принцип работы SAM-конверсий в котлине становялся большим сюрпризом

Ivan
13.08.2018
09:35:57
но старый код не поменяли)
Так никто не пишет через сокеты, или вы предлагаете на котлин поддерживать корбу?

Или другое легаси говно?

Anton
13.08.2018
09:36:29
А можно немного истории про удобство горутин? Просто когда я смотрел, в го гринтреды ещё как-то шедулятся самостоятельно, как по мне та система которая в котлине - оптимальна, переключение треда только при асинхронном вызове. Что не так? Можно ссылками
там таже суть, что и с нодой. у тебя вся экосистема по умолчанию готова к асинку и везеде стандартные механизмы работы с ним. тебе не нужно как-то запариваться с блокирующим кодом, обмазывать его итд. всё готово из коробки. в жвм, у тебя куча блокирующего легаси и кчка не особо совместимых между собой либ для работы с конкаренси и асинком

Ivan
13.08.2018
09:36:42
но старый код не поменяли)
Или давайте так: в джаве нет асинхронного io?

Vladimir
13.08.2018
09:37:04
А можно немного истории про удобство горутин? Просто когда я смотрел, в го гринтреды ещё как-то шедулятся самостоятельно, как по мне та система которая в котлине - оптимальна, переключение треда только при асинхронном вызове. Что не так? Можно ссылками
Про удобство не скажу, но то, что внутри нормальные потоки с нормальным стеком (а не коллбеки в хипе, связанные в цепочку) - это определённо плюс. Ну и на этом вся экосистема построена, а не как в JVM всякие JDBC и т.д.

Oleksandr
13.08.2018
09:37:39
Так никто не пишет через сокеты, или вы предлагаете на котлин поддерживать корбу?
не, я в контексте того, что в го можно вкинуть любую сетевой-ио-тяжелую задачу и не думать дальше о ней

Oleksandr
13.08.2018
09:38:43
А в котлин нельзя?
надо шаманить с пулами, его корутины являются "протекающей абстракцией"

Ivan
13.08.2018
09:39:08
надо шаманить с пулами, его корутины являются "протекающей абстракцией"
Зачем?делаешь корутину и вызываешь асинхронно тяжёлую-ио-задачу, твой челенж только в том чтобы выбрать нормальный апи для вызова

Vladimir
13.08.2018
09:41:42
Ну мне как-раз видится что связанные в цепочку методы лучше, потому что я больше этим управляю, так что тут мне видится это фломастерами
Не знаю, как там с кастомизацией шедулера в го, но в котлине этим действительно можно вертеть как хочешь. И даже выглядит неплохо)

Ivan
13.08.2018
09:42:32
а это всегда возможно?
Ну я сходу не могу придумать почему нет. Есть билдер корутин, вызвал асинк таску и забыл

Oleksandr
13.08.2018
09:43:39
Ну я сходу не могу придумать почему нет. Есть билдер корутин, вызвал асинк таску и забыл
"выбрать нормальный апи для вызова" имеется в виду неблокирующий? те же бд (через jdbc) такого не умеют

Ivan
13.08.2018
09:44:24
Oleksandr
13.08.2018
09:44:56
Да, он. Про jdbc - это камень в огород jdbc, каким боком тут корутины?
ну вот тебе надо выгребать данные из бд, и хочется это сделать корутинами что дальше?

Google
Oleksandr
13.08.2018
09:45:43
Quantum Harmonizer
13.08.2018
09:45:59
это если он есть
ну или написать, очевидно же

ARDEV
13.08.2018
09:46:02
А чем JDBC плох?

Oleksandr
13.08.2018
09:46:12
ну или написать, очевидно же
отличный план, тоже можно

Vladimir
13.08.2018
09:46:13
Давайте лучше про нормальные минусы котлина поговорим. Вот зачем выкидывать package-private visibility, рассказывая про совместимость? И public по дефолту тоже как-то не очень - поощряет делать так, чтобы всё торчало наружу. И вообще public стал бесполезным модификатором.

Ivan
13.08.2018
09:46:20
это если он есть
Я так понял есть у всех популярных баз, хотя у меня тут мало экспертизы, я по лоу лейтенси, мы базы не юзаем )

Quantum Harmonizer
13.08.2018
09:46:32
Ivan
13.08.2018
09:47:04
Vladimir
13.08.2018
09:47:56
А чем JDBC плох?
Вызовы блокирующие, а значит, пока идёт IO, поток простаивает. Объяснять, почему это плохо?)

Alexandr
13.08.2018
09:49:28
Vitalii
13.08.2018
09:50:28
асинковый jdbc существует?

Митко Соловец?
13.08.2018
09:50:32
Да

Vitalii
13.08.2018
09:50:36
Вау

Митко Соловец?
13.08.2018
09:50:39
Но пока в песочнице

Ivan
13.08.2018
09:50:49
companion object, либо file lavel val
Ну дааа, но выглятит-то громозко,если нет компанион объекта - это получается 3 строчки на логгер, учитывая что в джаве я ломбок для этого юзаю - это вообще удар для моего чувства прекрасного

Google
Митко Соловец?
13.08.2018
09:50:54
А из неофициальных-драйвер вертикса

Sergey
13.08.2018
09:51:11
конкретно тут -- как продолжение мысли "котлиновские либы плохо совместимы с джавой", так-то против корутин ничего не имею дальше, корутины -- одна из двух (угадайте вторую) не-сахарных фич котлина и они _специально_ были созданы в языке, а не в либе это даёт больше возможностей, но и накладывает больше обязанностей котлину никогда (в текущем состоянии экосистемы и джвм) не достичь того уровня удобства корутин, которое в го поэтому, с моей точки зрения, решение интегрировать корутины в язык (повторюсь, не имея критично важных аргументов для этого, которые не может дать либа) выглядит исключительно как популистское и маркетологическое, чтобы больше народу юзало котлин что, с моей точки зрения, довольно мудацкая позиция они могли бы сделать отдельную либу (что бы сразу дало свой отпечаток в виде требуемого юзер-апи, и проблемы совместимости корутин с джавой бы не было в принципе), но победили маркетологи
>котлину никогда (в текущем состоянии экосистемы и джвм) не достичь того уровня удобства корутин, которое в го серьезно? в чем их удобство то?

Vladimir
13.08.2018
09:52:08
Ну да, так чем хороши горутины в сравнении с корутинами от котлин?
Производительность не изучал, но мне кажется, там шедулер должен быть быстрее. А вообще когда выкатят свой специализированный CoroutineDispatcher, может, он будет не хуже. Получается, что ничем ?‍♂️

Vladimir
13.08.2018
09:53:03
асинковый jdbc пока только у постгреса?
JDBC не может быть асинхронным) Но да, я слышал про асинхронный драйвер постгреса

Admin
ERROR: S client not available

Ivan
13.08.2018
09:53:13
companion object: KLogging() - одна строчка
@Slf4j - одна анноташка, но спасибо за ссылку

Митко Соловец?
13.08.2018
09:53:38
Interoperability: Kotlin is fully compatible with all Java-based frameworks, which lets you stay on your familiar technology stack while reaping the benefits of a more modern language.

Alexandr
13.08.2018
09:53:45
@Slf4j - одна анноташка, но спасибо за ссылку
я в курсе, сам ломбок юзаю и искал ему альтернативу под котлин

Mikhail
13.08.2018
09:54:43
Но пока в песочнице
Че, уже драйвера кто-то написал?

Vladimir
13.08.2018
09:55:13
В смысле быстрее? Наоботор же , чем больше переключеной контекстов - тем хуже
Я точно не знаю, но не может же он переключать контекст без повода и при этом так хорошо себя зарекомендовать? ?

Vitalii
13.08.2018
09:55:42
Ivan
13.08.2018
09:55:53
Производительность не изучал, но мне кажется, там шедулер должен быть быстрее. А вообще когда выкатят свой специализированный CoroutineDispatcher, может, он будет не хуже. Получается, что ничем ?‍♂️
Диспатчер нужен в плане когда у тебя один поток и он выполняет бизи цикл, а у тебя пришёл ответ от ио и нужно тормознуть этот поток и получить ответ, но как-то мутная штука получается как по мне

Митко Соловец?
13.08.2018
09:57:03
https://github.com/pgjdbc/pgsql2

Google
Ivan
13.08.2018
09:58:20
Я точно не знаю, но не может же он переключать контекст без повода и при этом так хорошо себя зарекомендовать? ?
Ну вот как Олег писал - закинул задачу и забыл, для таких кейсов, наверное, тут тебе нужно ещё подумать как твой поток не занять, чтобы он мог ответ проч!тать

Vladimir
13.08.2018
09:58:27
http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/ поставь kotlin вместо C#
Ну нет, в котлине нет такой проблемы, что "забыл вызвать await"

Mikhail
13.08.2018
09:58:48
https://github.com/pgjdbc/pgsql2
не густо там пока что

Oleksandr
13.08.2018
09:59:44
это не ответ на вопрос
окай, удобство в том, что меньше думать надо (над описанным в статье)

Митко Соловец?
13.08.2018
10:00:20
но в песочнице JDK 10 можно оценить апи

там комплитабл фьючи

Sergey
13.08.2018
10:01:06
окай, удобство в том, что меньше думать надо (над описанным в статье)
sync.WaitGroup, отсутствие какого-либо проявления deferred, явный контекст везде передавать, работа с таймаутами и отменами это вообще что-то с чем-то. да, куда уж там котлину до таких божественных горутин

у го только плюсы в том что экосистема изначально заточена под них и на системные потоки блокирующие операции не юзеру нужно заниматься шедулингом

ну и дело вкуса, отсутствие suspend кейворда

Mikhail
13.08.2018
10:02:41
но в песочнице JDK 10 можно оценить апи
Ну апи уже довольно давно появилось. И с тех пор мало движения

Alexander
13.08.2018
10:03:24
может потому что не каждая бд умеет в асинхронно по сети

Митко Соловец?
13.08.2018
10:03:53
Ну постгрес и оракл должны осилить

Роман
13.08.2018
10:03:55
у меня тут дикий вопрос назрел, в jdk же нет hot reload? Ну т.е перекомпилить класс и в печь(jvm) сразу чтобы не рестартовать сервер из-за изменения одного двух классов?

Роман
13.08.2018
10:05:02
как юзать в идее? Томкат подцепит?

Vladimir
13.08.2018
10:05:23
может потому что не каждая бд умеет в асинхронно по сети
Этот как? Клиенту без разницы, что она там умеет, если он работает с ней через сокет.

Quantum Harmonizer
13.08.2018
10:05:25
как юзать в идее? Томкат подцепит?
мне вообще само предлагает иногда

Роман
13.08.2018
10:05:31
воу

Anton
13.08.2018
10:05:59
у го только плюсы в том что экосистема изначально заточена под них и на системные потоки блокирующие операции не юзеру нужно заниматься шедулингом
в этом вся и соль и это просто гигансткий плюс, который ничем не перекрыть. механизм асинка един, ты подключаешь к проекту либу, и она использует те же самые горутины и каналы. ты пишешь на котлин корутинс и это не стандарт языка, это либа. ты подключаешь зависомость, а там вертекс/квазар, теперь у тебя вертится несколько шедулеров которые оперируют своим тредпулами, и где-то сбоку у тебя еще живет блокирующее легаси... проще всё это выкинуть и уйти на тот же го, если нет жесткой привязки в платформе(жвм)

Страница 2722 из 2890