Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Idris

Stran: 1 ... 122 123 [124] 125 126 ... 153
1846
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 19:22:33 »
už několikátá diskuze, ve které kritizuješ async/await. Zkus to nějaký čas používat a až potom hodnotit. Zrovna v Javascriptu to podle mě funguje docela dobře.
1. To neni odpoved na zadnou z polozenych otazek. Ok, beru to tak, ze nemas zajem reagovat na to, co pisu. Cili nemas zajem o diskusi. Beru na vedomi.

2. Kritizuju ten koncept jako takovy, zadna implementace na tom nemuze nic zmenit. To, ze "funguje dobre" snad znamena, ze A) kod neni rozpolcen na "modrou" a "cervenou" cast? B) Ze async se viralne nesiri kodem a ze starsiho kodu se neda pouzit? Ne, neznamena, ze. Protoze to je fundamentalni vlastnost toho konceptu. S JS, Pythonem ani jakymkoli jinym jazykem to nesouvisi.

Kdybys byval byl cetl, co pisu, a reagoval na to, co jsem napsal a ne na to, co jsem nenapsal, melo by ti to byt jasny, protoze jsem to zopakoval nekolikrat, zcela explicitne.

3. Jenom tak z pleziru, vis, co mam ted na druhym monitoru?

Kód: [Vybrat]
@pytest.mark.asyncio
async def test_multiple_gateways(service_config, multiple_gateways_sim,
                                 eso5_test1_mqtt, eos6_os_test1_mqtt,
                                 etm3_test1_mqtt):
     [...]

Cili, abych byl opet zcela explicitni: jo, zkusil jsem to. A prave proto me to tak sere.

-----

To je z me strany k tobe vse. Respektuju, ze o diskusi se mnou nemas zajem a taky se o ni nebudu dal pokouset.
P.S. Ono by to tedy byla spíše “programmable” aplikace funkce, tedy generické apply, to už je asi snazší si představit.

1847
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 19:20:34 »
už několikátá diskuze, ve které kritizuješ async/await. Zkus to nějaký čas používat a až potom hodnotit. Zrovna v Javascriptu to podle mě funguje docela dobře.
1. To neni odpoved na zadnou z polozenych otazek. Ok, beru to tak, ze nemas zajem reagovat na to, co pisu. Cili nemas zajem o diskusi. Beru na vedomi.

2. Kritizuju ten koncept jako takovy, zadna implementace na tom nemuze nic zmenit. To, ze "funguje dobre" snad znamena, ze A) kod neni rozpolcen na "modrou" a "cervenou" cast? B) Ze async se viralne nesiri kodem a ze starsiho kodu se neda pouzit? Ne, neznamena, ze. Protoze to je fundamentalni vlastnost toho konceptu. S JS, Pythonem ani jakymkoli jinym jazykem to nesouvisi.

Kdybys byval byl cetl, co pisu, a reagoval na to, co jsem napsal a ne na to, co jsem nenapsal, melo by ti to byt jasny, protoze jsem to zopakoval nekolikrat, zcela explicitne.

3. Jenom tak z pleziru, vis, co mam ted na druhym monitoru?

Kód: [Vybrat]
@pytest.mark.asyncio
async def test_multiple_gateways(service_config, multiple_gateways_sim,
                                 eso5_test1_mqtt, eos6_os_test1_mqtt,
                                 etm3_test1_mqtt):
     [...]

Cili, abych byl opet zcela explicitni: jo, zkusil jsem to. A prave proto me to tak sere.

-----

To je z me strany k tobe vse. Respektuju, ze o diskusi se mnou nemas zajem a taky se o ni nebudu dal pokouset.
Tvé oblíbené slovo je teď “virální”?

Když už jsme u té vitality, všimnul sis, že async/await je jen type lifting? Konkrétně T->Future<T>? A že to zobrazení je funktoriální? Nepřipomíná ti to něco?

Proč to píšu - zamýšlím se nad tím, zda lze skládání funkcí a vázání typeliftovaných funkcí udělat nějak transparentně, tj. mít něco jako nadoperátor s instancemi . a >=> (kdyby to bylo v Haskellu). Nevíš o nějakém jazyce/formalismu, kde by toto bylo ošetřené? Něco jako programmable . (místo ; - to už je provařené).

1848
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 17:21:39 »
Vážně, říkat korutinám vlákno (nebo špagát a jiná téměř synonyma) není dobrý nápad, kdo to nezná, představí si multithreading, přitom korutiny klidně můžou běžet v jednom vlákně (a taky často běží, na nějakém mini CPU pro IoT apod.). Odtud přesně plyne to zmatení okolo async/await, pak se div, že to BFL nechápe nebo chápe blbě.
u dobrého systému je
JS :D

1849
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 17:10:14 »
Tak tomu ale neříkej "vlákno", tím to zmateš ;)
Dobře, říkejme tomu "motouz" :)
Vážně, říkat korutinám vlákno (nebo špagát a jiná téměř synonyma) není dobrý nápad, kdo to nezná, představí si multithreading, přitom korutiny klidně můžou běžet v jednom vlákně (a taky často běží, na nějakém mini CPU pro IoT apod.). Odtud přesně plyne to zmatení okolo async/await, pak se div, že to BFL nechápe nebo chápe blbě.

1850
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 17:02:35 »
protože je virální, jeden await vyžaduje async až do kořene stromu volání
Pro BoneFlute: K tomuhle fakt doporučuju ten článek https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
- je trochu zbytečně dlouhej a jako haskellista poznáš, že vlastně jenom zbytečně zdlouhavě popisuje monády, ale problém vystihuje dobře. Await je prostě virální úplně stejně jako GPL nebo IO ;)

Polopaticky řečeno, když se vrátím k tomu odkazu z redditu výš, pokud chceš použít async, potřebuješ nutně jakýsi "jiný" sleep, "před který se dá napsat await" - funkci, která pod kapotou vrací promise. U řešení s oddělenými stacky (tady o tom píšu jako o "CSP") tenhle problém neexistuje. Prostě ve vlastním "vlákně" (greenthreadu, procesu, ...) spustíš úplně normální "synchronní" sleep, jako bys to udělal u starýho dobrýho multithreadingu.
Tak tomu ale neříkej "vlákno", tím to zmateš ;)

1851
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 16:08:05 »
konkrétně u téhle věci prostě nechápu, proč šli touhle cestou.

Bylo by možné, mě by to moc zajímalo, nějak pěkně rozvést výhody a nevýhody await/async?

(Jako Haskellista nemám problém s Promise. Ale jako začínající C#pista, jsem se této syntax zatím úspěšně vyhejbal - ačkoliv věřím, že to nebude nic složitého.)
Nevýhoda: je to zbytečné, kooperativní scheduler se dá udělat i bez přidané nesmyslné syntaxe (nesmyslné, protože je virální, jeden await vyžaduje async až do kořene stromu volání).

1852
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 13:40:35 »
Koukám právě narvali async/await do Rustu. To je fakt mor.
To je smutný. Zrovna od Rustu bych čekal, že se omezí na CSP. Třeba vtáhne Actix do standardní knihovny nebo tak něco.

Rust pořádně neznám, takže neumím posoudit implementaci, ale pokud by to ve finále vedlo ke stejnýmu zmatku jako kdysi v Pythonu - pro každou knihovnu bude x verzí, jedna sync, jedna nad Actix, jedna nad Tokio a pak ještě jedna s async/await, přičemž každá jinak zabugovaná, tak by to byl teda fakt smutný příběh jinak moc pěkného jazyka...
Shit happens. Taky bych býval čekal, že to nezasviní blbostma.

To si fakt, projednou, nedokážete připustit, že třeba někdo ví víc než Vy a má dobrý důvod do Rustu ten async/await přidat?

Opravdu jste studovali, co všechno s tím vyřeší, co se tím zjednoduší, jestli se opravdu budou muset dělat (v Rustu, neřeším jiné jazyky) všechny knihovny dvakrát, jestli to opravdu musí přidávat bugy, nebo jenom tak bručíte, protože jste něco holt nečekali a nejde Vám to pod fousy?
Viz Prýmek a CSP.

1853
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 13:11:51 »
Koukám právě narvali async/await do Rustu. To je fakt mor.
To je smutný. Zrovna od Rustu bych čekal, že se omezí na CSP. Třeba vtáhne Actix do standardní knihovny nebo tak něco.

Rust pořádně neznám, takže neumím posoudit implementaci, ale pokud by to ve finále vedlo ke stejnýmu zmatku jako kdysi v Pythonu - pro každou knihovnu bude x verzí, jedna sync, jedna nad Actix, jedna nad Tokio a pak ještě jedna s async/await, přičemž každá jinak zabugovaná, tak by to byl teda fakt smutný příběh jinak moc pěkného jazyka...
Shit happens. Taky bych býval čekal, že to nezasviní blbostma.

1854
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 11:24:04 »
Asi máš sníženou schopnost chápat psaný text, takže to pro tebe rozeberu: V tvé větě je "můžeš se HO zkusit zeptat" a to "ho" odkazuje na citovanou větu z předchozího příspěvku, kde se píše "Zkus se třeba náhodně vybraného webaře zeptat". Tedy kontext tvé věty je jasný: Web. Tam existuje jen jedno rozumně rozšířené běhové prostředí - Javascript - které je z definice jednovláknové, tedy tvoje otázka tam nedává smysl a na to jsem reagoval.

Už je to jasnější, nebo mám být ještě podrobnější?
Je mi to jasný celou dobu. Akorát jsi to pochopil jinak, než jsem to myslel. Myslel jsem tohle: chceš-li zjistit, jestli průměrný webař opravdu rozumí mechanismu async/await, zkus mu položit obecnou otázku [...]
To ale musíš mít žaludek na ty odpovědi, co z něj vylezou.

1855
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 11:20:49 »
o async/await jsi zatím nic nenapsal, jen otázku
Aha, já jsem se spíš bál, že mi zas někdo vynadá, že vlákno o OOP plevelím debatou o await :) Tak jo, fajn :)

Citace
...anebo pokud bys měl o něm vysoké mínění, můžeš se ho zkusit zeptat, za jakých podmínek je podle něj bezpečné používat await v multivláknovém prostředí :)
na kterou jsi odpověděl
Citace
To je přece triviální: jakýkoliv kód, který by byl chybný i bez async.
To není odpověď na tuhle otázku. To je odpověď na tvoji otázku:

mohl bys ukázat příklad v tom jiném jazyku, kde je podle tebe await nebezpečné ve vícevláknovém prostředí? Bavili jsme se o await v JS.

...protože, jak víme, jestliže z podmínek A plyne ^B, tak pořád ještě nevíme, z čeho vyplývá B :)

---

Nicméně mám nepříjemný pocit, že ti nejde o diskusi ale jenom o tahání se za nohu. Nemám úplně zájem se na tom podílet...
Nech ho už chudáčka, vždyť jen mele ;)

1856
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 11:19:42 »
...protože, jak víme, jestliže z podmínek A plyne ^B, tak pořád ještě nevíme, z čeho vyplývá B :)
To platí jen pro dedukci, v jiném typu vyplývání (inference) to je jinak, například v případě abdukce ;)

To jen tak, aby se nepatřičně nezobecňovalo :) Možná jsi implicitně předpokládal jen modus ponens, inferencí je spousta typů.

1857
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 00:32:40 »
Používat a dobře rozumět jsou dvě odlišné věci. Zkus se třeba náhodně vybraného webaře zeptat, jak souvisí await s promisy a uvidíš, jak se v tom začne zamotávat :)
...anebo pokud bys měl o něm vysoké mínění, můžeš se ho zkusit zeptat, za jakých podmínek je podle něj bezpečné používat await v multivláknovém prostředí :)
Koukám právě narvali async/await do Rustu. To je fakt mor.

1858
/dev/null / Re:Těžké OOP problémy
« kdy: 08. 11. 2019, 16:55:01 »
To ale nic nedokazuje - není to reprezenattivní skupina.
Však já jsem netvrdil, že to něco dokazuje. Řekl jsem jasně "kdyby si někdo dal práci...".

Začátečníci se budou přirozeně ptát víc a na triviálnější otázky, protože neznají ekosystém a tápou i v tom, odkud brát informace. Pokročilejší si častěji poradí sám a ptá se, až když je nutno.
Senioři zase obvykle neřeší triviality, takže by se se stejnou logikou měli ptát na těžší problémy. A pokud by poměr seniorů a juniorů byl vyvážený, neměly by pak ty triviální otázky drtivě převládat.

Ale to už vařím z vody, to je jasný. Nic než svůj dojem v ruce nemám a ani nemám moc motivaci se snažit něco lepšího získat :) (EDIT: docela totiž věřím tomu, že tohle si ten Pike a spol. zjistili docela dobře :) )
Jo, ten Pike není blbec.

1859
/dev/null / Re:Těžké OOP problémy
« kdy: 08. 11. 2019, 15:03:39 »
ti co to používají tomu rozumí minimálně stejně jako vy dva s Idrisem. Řekl bych, že lépe. Souvislost s Promisy je zřejmá, každému, kdo to viděl v praxi nebo si přečetl prvních pár řádků dokumentace. Vy dva Javascript znáte jen na úrovni pseudo-intelektuálního humoru o chování operátoru ==.
Abysme si rozuměli:

1. Já se ani náhodou nepovažuju za nějak dobrého programátora. Naopak vždycky zdůrazňuju, že jsem full time programování nikdy nedělal, nedělám a udělám všechno proto, abych ani nedělal. Je mi naprosto jasný, že si mě v pohodě namaže na chleba z jedné strany člověk, který celý život valí produkční kód, a z druhé strany teoretik, který má zase nimrání se v teoriích programovacích jazyků jako koníček.

2. Snažím se ale na věci dívat realisticky. Vím, s čím zápolí kolegové v práci, vím, na co se ptají lidi tady nebo na SO. Realita je taková, že programuje čím dál víc lidí, někteří i čistě jenom kvůli penězům, bez hlubšího zájmu o věc. Průměrné IQ programátora imho nebude moc nad stovkou.

Dobrá lekce je v tomhle právě Go. Autoři otevřeně říkají, že je jednoduché proto, aby ho zvládli junioři v Googlu. A to prosím tady máme mnohdy představu, že když se někdo dostane do Googlu, musí to být programátorský superhero...

3. Kdyby si někdo dal trochu práce, určitě by se výš napsané dalo ověřit relativně tvrdými daty.

Např.:
https://towardsdatascience.com/finding-the-real-top-stack-overflow-questions-aebf35b095f1
- seznamu vévodí triviální otázky jako "How to get the number of elements in a list in Python?"

https://stackoverflow.com/questions?sort=votes
- první striktně programátorská "jazyková" otázka je "What does the “yield” keyword do?"

https://www.quora.com/Im-having-difficulty-in-understanding-asynchronous-JavaScript-topics-like-callback-promise-and-async-await-is-there-any-easy-way-to-understand-these-topics
To s tím Go je zajímavé, Google nabírá jen špičku, ale přesto se snaží Go maximálně držet při zemi.

1860
/dev/null / Re:Těžké OOP problémy
« kdy: 08. 11. 2019, 15:02:15 »
ti co to používají tomu rozumí minimálně stejně jako vy dva s Idrisem. Řekl bych, že lépe. Souvislost s Promisy je zřejmá, každému, kdo to viděl v praxi nebo si přečetl prvních pár řádků dokumentace. Vy dva Javascript znáte jen na úrovni pseudo-intelektuálního humoru o chování operátoru ==.
Průměrné IQ programátora imho nebude moc nad stovkou.
Pak se divíte, že kdokoliv s VŠ, i kdyby to bylo třeba Mennonite studies, píše o řád lepší kód než kdejaký jirsák z fóra.

Abychom ale diskutovali vážně, prvotní otázka je, kdo je vlastně programátor. Je překvapivě těžká, protože nemáme amatérské chirurgy nebo stíhače, ale PC má dnes každý a copy paste z SO zvládne i giloidní puberťák s půlkou mozku. Kdybychom definici zúžili na aspoň někdo s Bc., hned by bylo veseleji.

Stran: 1 ... 122 123 [124] 125 126 ... 153