Въпрос към Найден. Каза, че не искаш да има async/await в Java. Защо?
P.S. Stilgar направи епизод обяснявайки async/await в .Net. Ще е интересно ако направиш епизод за подобните възможности в Java (ForkJoin framework etc.)
Малко е старичък 🙂 Има доста по-добри материали по темата и по-подробни, тогава не беше много популярно.
А иначе в Java гласят green threads подобни на тези в Go, което е по-добро решение за проблема от страна на потребителя, но безкрайно по-трудно за имплементиране в runtime-а и освен това всеки runtime (примерно ако има Java еквивалент на Xamarin или на Blazor) ще трябва да си го имплементира отново и не може да разчита че компилаторът ще оправи нещата както става с async/await. Когато го пуснат това чудо в Java гарантирано ще направим епизод по темата, но доколкото разбирам има минимум 1 година преди да го пуснат за стандартна употреба. В момента дори не е зад флаг.
Аз попринцип да си кажа избягвам да пиша тук под коментари. Най вече щото иска няква измислена кирилица.. пък аз може пък да не искам кирилица дейба :Д ся сериозно
асънк/авейт не харесвам защото за малко писах на дотнот и на JavaScript понякога ми се налага да пиша. Масово виждам да пишат неща като
var whatever = await something();
var whatever2 = await something2(); //забележи не ползва whatever
var whateve3 = await something3();
something(whatever);
somethingTOtallyDifferent(whatever2);
somethingTOtallyTotallyDifferent(whatever3);
Интересно това никога не съм го виждал с 2 await-a винаги са с по 3 :Д:Д и какво се случва… чака се първия.. после 2рия после 3тия… обаче как се пише с promises ? ще си имаш 3 call-a с 3 callback-a в крайна сметка ще е по грозно ама ще се изпълни по бързо.
Просто проблема според мен е че при await е толкова лесно.. че хората прекаляват и го ползват навсякъде.. ДОРИ И КОГАТО НЕ ИМ ТРЯБВА да await-ват щото е разбираш ли красиво и кратко.. как ще ползвам промиси … и в крайна сметка пишат нещо, което работи по зле… това е.
Ще се намери :Д:Д:Д ти работиш в някви проекти дето е 1 проект.. аз обикновенно работя в проект дето има поне 20 под проекта, комуникиращи един с друг по абсолютно рандом начини и при дебъгване трябва да конектвам поне по 5 виртуални машини 🙂 не се намира лесно 🙂
септември 22nd, 2020 at 12:50
Тази част беше много интересна.
Въпрос към Найден. Каза, че не искаш да има async/await в Java. Защо?
P.S. Stilgar направи епизод обяснявайки async/await в .Net. Ще е интересно ако направиш епизод за подобните възможности в Java (ForkJoin framework etc.)
септември 22nd, 2020 at 20:08
@Vladislav Naydenov готов си – https://www.nerds2nerds.com/?p=85
Малко е старичък 🙂 Има доста по-добри материали по темата и по-подробни, тогава не беше много популярно.
А иначе в Java гласят green threads подобни на тези в Go, което е по-добро решение за проблема от страна на потребителя, но безкрайно по-трудно за имплементиране в runtime-а и освен това всеки runtime (примерно ако има Java еквивалент на Xamarin или на Blazor) ще трябва да си го имплементира отново и не може да разчита че компилаторът ще оправи нещата както става с async/await. Когато го пуснат това чудо в Java гарантирано ще направим епизод по темата, но доколкото разбирам има минимум 1 година преди да го пуснат за стандартна употреба. В момента дори не е зад флаг.
септември 23rd, 2020 at 10:55
@Stilgar, не ме разбра :). P.S. беше насочен към Найден. Иначе еписода за async/await съм го слушал.
септември 23rd, 2020 at 22:32
Аз попринцип да си кажа избягвам да пиша тук под коментари. Най вече щото иска няква измислена кирилица.. пък аз може пък да не искам кирилица дейба :Д ся сериозно
асънк/авейт не харесвам защото за малко писах на дотнот и на JavaScript понякога ми се налага да пиша. Масово виждам да пишат неща като
var whatever = await something();
var whatever2 = await something2(); //забележи не ползва whatever
var whateve3 = await something3();
something(whatever);
somethingTOtallyDifferent(whatever2);
somethingTOtallyTotallyDifferent(whatever3);
Интересно това никога не съм го виждал с 2 await-a винаги са с по 3 :Д:Д и какво се случва… чака се първия.. после 2рия после 3тия… обаче как се пише с promises ? ще си имаш 3 call-a с 3 callback-a в крайна сметка ще е по грозно ама ще се изпълни по бързо.
Просто проблема според мен е че при await е толкова лесно.. че хората прекаляват и го ползват навсякъде.. ДОРИ И КОГАТО НЕ ИМ ТРЯБВА да await-ват щото е разбираш ли красиво и кратко.. как ще ползвам промиси … и в крайна сметка пишат нещо, което работи по зле… това е.
септември 23rd, 2020 at 22:32
И смея да отбележа писах от Windows… 😀 заради Bethesda e !
септември 25th, 2020 at 12:48
Това с поредните awaits не е никакъв проблем на практика. Ако се реши, че производителността не е достатъчно добра ще се намери и ще се оптимизира.
септември 29th, 2020 at 13:44
Ще се намери :Д:Д:Д ти работиш в някви проекти дето е 1 проект.. аз обикновенно работя в проект дето има поне 20 под проекта, комуникиращи един с друг по абсолютно рандом начини и при дебъгване трябва да конектвам поне по 5 виртуални машини 🙂 не се намира лесно 🙂
октомври 2nd, 2020 at 10:38
Еми ще видиш къде ти се бави. Иначе не, не ми е така проекта има си отделни парчета дето си подават неща през queue-та
януари 8th, 2021 at 21:28
Е какво ви пречи да await-нете няколко промиса.
let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
Второ chrome е идиот и ще ги изпълне така или иначе последователно.
януари 8th, 2021 at 21:30
Май тезата е, че може ама хората не ебават да го правят дали щото не знаят, че може или щото ги мързи