Zrovna jsem psal takovou jednu servisu v Jave ve Springu a rozhodoval jsem se jestli nektere casti kodu neudelt asynchronne pres Futures a nove thready. Ta resena uloha na to byla jako delana. Uz jsem to tak mel napsane a zjistil jsem, ze mi to prinese vice problemu nez uzitku. Nakonec jsem nasel zpusov jak to udelat normalnim sekvencnim kodem s fixne definovanymi worker thready a je to lepsi. A tak je to dycky. Nejhorsi je, kdyz nejaky jazyk, jako je C#, obsahuje 100 ruznych pitchovin featur. Pak vznikne problem typu "Kdyz mas kladivko, tak se vsechno jevi jako hrebik", a mas chut to vsechno pouzivat, ackoliv to akorat zvysuje komplikovanost kodu.
Ja se treba priznam, ze casto i dost vaham nad uzitecnosti Streamu (monady). Mnohokrat mi prijde pouziti Foreahe mnohem praktictejsi a prehlednejsi. Dodnes z pameti nevim, jak ve Streamu napr. udelat Group By nad Mapou a musim cumet do Googlu.
Po tisicateprve, ti lidi co to takhle ten synchronni design v historii pocitacu vymysleli, nebyli debilove nebo idioti.