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 - Mirek Prýmek

Stran: 1 ... 165 166 [167] 168 169 ... 618
2491
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 09:21:38 »
obecné generátory se bez yield píší špatně, ale to lze považovat také za syntaktický cukr.
Píší se bez yield naprosto v pohodě, pokud mám k dispozici channely, které fungují prakticky stejně jako yield. Navíc oproti yield se práce s channelem dá snadněji paralelizovat. Pokud bych si měl vybrat mezi yield a channelem, určitě bych volil channel.




2492
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 09:20:51 »
V JS je ten operátor trošku něco jiného, než v jiných jazycích, takže opět mimo mísu.
Jistě. A úplně stejně "legitimně" by "něco jiného" mohl být operátor +. Proč ne?

Tak ještě jednou. 1+1 je operace nad stejným datovým typem a to, co kritizujete, je chování při porovnávání různých datových typů.
To je naprosto irelevantní. V rozumných jazycích je ekvivalence ekvivalence, tj. je tranzitivní na celé množině, na které je definovaná. Nechápu, proč se tak zarputile snažíte obhájit neobhajitelné. Nestačilo by místo těch urážek a vymýšlení nesmyslných rádobyobhajob říct prostě "jo, tohle je sprasený, ale dá se s tím žít"?

Vy si stěžujete, že 1+"1" není 2, ale absolutně popíráte fakt, že jestli děláte takový prasárny, tak byste se neměl snažit programovat.
Porovnání dvou hodnot různého typu není žádná prasárna. Zvlášt v dynamickém jazyce. Když funkce dostane dva parametry (neví jaké), tak je prasárna je porovnat?!

To je ale vaše ignoranství a ne problém těch jazyků.
Ignorantství je, když něco nevím. Ne když něco vím a kritizuju to.

Ne, snažím se vám vysvětlit, že plácáte páté přes deváté. Neúspěšně.
Nesnažíte se nic vysvětlit. Snažíte se obhájit neobhajitelné pomocí matení pojmů (v lepším případě) nebo neznalosti pojmu "relace" (v horším případě). Relace je definovaná na nějaké množině. Pro operátor == je tou množinou množina všech hodnot daného jazyka. Neexistuje žádný speciální operátor pro porovnání stringů a speciální pro porovnání čísel.

A pokud má být == použitelný, musí být tranzitivní na celé této množině. Tranzitivita na podmnožině je k ničemu a vůbec nemá smysl o ní mluvit.

Tak si trpělivě přečtěte specifikaci jazyka, než začnete nadávat na něco, co neznáte.
To jsem právě udělal už udělal a pocítil silnou nevolnost.

Každý může posoudit sám, jaký matroš musí člověk brát aby s vážnou tváří napsal tohle: http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3

Ekvivalence je ekvivalence a značí se takto ===. Pokud nechcete používat JS, protože to jedno = je pro vás moc komplikovaný myšlenkový pochod, tak prosím. Ale není to chyba jazyka, ale spíš vaše neschopnost.

== ekvivalencí není a nikde není řečeno, že by měla. Nebo v céčku si taky stěžujete, že řetězce nemůžete porovnávat pomocí ==?? (Perl to má taky jinak, Pascal taky, ....).
Plus je plus a značí se takto *+*. Pokud nechcete používat JS, protože ty dvě * je pro vás moc komplikovaný myšlenkový pochod, tak prosím. Ale není to chyba jazyka, ale spíš vaše neschopnost.

+ plusem není a nikde není řečeno, že by mělo. Nebo v céčku si taky stěžujete, že řetězce nemůžete porovnávat pomocí ==??

2493
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 08:37:23 »
co podle vás není syntaktický cukr?
Třeba žirafa.

2494
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 08:18:03 »
aby tam člověk mohl dát aspoň if ;)
Jo, pardon, na if vlastně taky existuje speciální syntaktický cukr.

2495
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 08:03:32 »
Kód: [Vybrat]
g = (i*i for i in range(100))
No, to je jeden konkrétní případ syntaktického cukru, omezený jenom na výrazy, což je v Pythonu relativně málo co. Myslel jsem, že se bavíme o obecném generátoru, tak sofistikovaném, aby tam člověk mohl dát aspoň if ;)

Takže abysme se vrátili ke kořenům,
Já zde netvrdím, že je JS dokonalý jazyk, ale vám na jednu stranu vadí maličkosti v JS a na druhou stranu obhajujete Go, kde vám různé speciální případy a nedokonalosti jazyka skutečně komplikují život.
- fakt, že v Go se takhle jednoduchý generátor nedá (?) napsat stručně, má být příklad "speciálního případu", nebo nedokonalosti jazyka, která "skutečně komplikuje život"? :)

2496
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 00:32:59 »
Kritizujete, že == není tranzitivní. Překvapivé to je, pokud JS neznáte.
Překvapivé je to proto, že 1) v každém rozumném jazyku tento operátor tranzitivní je 2) není žádný rozumný důvod, aby tranzitivní nebyl (tímto způsobem).

Ale nikde není řečeno, že == tranzitivní být má.
Tak jistě. Není ani nikde řečeno, že 1+1 má být 2. A pokud je někdo překvapený, že v JS je to 3, tak je to proto, že JS nezná. Protože + přece není sčítání. To se označuje *+*.

Čili, abychom to shrnuli, jestli má někdo problém s tím, že 1+1=3, je pitomec, nedouk a hipster.

A váš pseudo argument s ekvivalencí je sice pěkný, ale == ekvivalencí být nemá.
Na tom se zjevně neshodneme. Takže já si myslím, že == ekvivalencí být má a jazyky, kde jí není, s dovolením budu širokým obloukem obcházet stejně jako otevřený septik. Není radno do toho spadnout.

Ne, jako třeba string, number, array... Teď už byste to chápat mohl.
Ne, nemohl. Opravdu se mi snažíte říct, že pro stringy má být definován operátor (relace) ==s a pro number ==n ?

Tak teď ještě aby se to nějak projevilo. :)
Jo, projevilo - naučil jsem se nekonečné trpělivosti. I když vlastně teď nevím, jestli to nebylo díky manželství.

Celý váš problém je, že kritizujete JS za to, že používáte špatné operátory, protože jinde se to značí jinak. Tedy klidně nadávejte na to, že je to značeno jinak, než byste si přál nebo čekal. Ale kritizovat, že A nedělá C a vy chcete, aby A dělalo C místo toho, abyste použil přímo C, je úchylné.
S dovolením, jak říká klasik: budu si remcat, jak budu chtít.

A nechci, aby A bylo B. Chci aby ekvivalence byla ekvivalence. A popravdě řečeno, sledovat, jak javascriptař vysvětluje, že ekvivalence nemá být ekvivalence, je velmi zábavné, pojďme v tom pokračovat! :))

2497
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 00:00:20 »
Odkaz jste dostal
V tom postu jsem kritizoval právě to, co jsem si vyzkoušel, čili to znám. Kdybych to neznal, tak bych to nekritizoval.

Řekl jsem, že ekvivalence nemá být tranzitivní?! Možná se naučte číst, tím by bylo nejlepší začít.
Já kritizuju, že == v JS tranzitivní není (a to ještě strašně překombinovaným způsobem), což je překvapivé/matoucí. A jelikož (příliš) překvapující jazyky se mi nelíbí, nelíbí se mi ani JS.

Pokud chcete s něčím z toho polemizovat, řekněte, s čím polemizujete, a předlože argumenty. O tahání se za nohu s dovolením nemám zájem :)

Relace je relací ekvivalence právě když je reflexivní, symetrická a tranzitivní.
Tak jest. A podle této definice operátor ekvivalence v JS není ekvivalence. Což je překvapující, jak již řečeno.

Jenže zároveň je to binární relace na stejné množině.
Jako třeba na množině "libovolná hodnota v JS"? (nicméně pořád nechápu, kam tím míříte)

Pokud to stále nechápete, tak doporučuju navštívit 1. ročník každé slušné VŠ.
Děkuji za doporučení, to jsem už učinil před mnoha lety :)

2498
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 23:22:32 »
Očividně neznáte ani JavaScript, takže mě překvapuje, že o něm něco tvrdíte. ;)
Tak porad jeste cekam na konkretni zminku o tom, co udajne nemam znat :)

Tak možná by bylo dobré si uvědomit, že relace ekvivalence se provádí pro prvky ve stejné množině.
Znovu: COZE?!

To se vazne budeme na IT serveru dohadovat o tom, co je to relace? A o tom, ze relace ekvivalence ma byt tranzitivni? WTF?!

2499
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 23:19:18 »
JS runtime musi predavane objekty serializovat a deserializovat. Je s tym spojeny overhead a nedokaze passnut referenciu na priamo.
Aha, takze uplne stejna zoufalost jako v R :)

2500
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 23:17:20 »
Kód: [Vybrat]
from multiprocessing import Process, Queue
from random import random


def rand(q):
    while True:
        q.put(random())


def main():
    q = Queue(0)
    p = Process(target=rand, args=(q,))
    p.start()
    for i in range(10):
        print(q.get())
    p.terminate()
A timhle kodem jsi chtel demonstrovat co? Chtel jsem videt ten kod generatoru, co jde v Pythonu napsat lip nez v Go.

2501
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 22:58:33 »
Se z tech monad neposer.


:))))

2502
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 22:42:56 »
Pres jakou sit ty vole.
Workery bezej pekne na stroji, maj oddeleny namespace a posilaj si mezi sebou async zpravy.
Ahhhh, moje chyba, myslel jsem, ze komunikuji pres sockety.

"posilaj si mezi sebou async zpravy" samo o sobe nerika nic. Muze to byt paradni vec jako v Erlangu a muze to byt zoufalost jako radobyparalelismus v Rku nebo v pythonnim multiprocessing, ktery jenom zoufale obchazi GIL.

2503
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 22:38:56 »
Jasně, takže Perl je podle vás taky *****, protože má "==" a "eq"?
Nevim, Perl neznam, takze o nem nic netvrdim. Ale neprekvapilo by me, kdyby tam taky nejaka ta zhovadilost byla.

Tuto konkrétně neznalost - https://developer.mozilla.org/cs/docs/Web/JavaScript/Reference/Statements/import
Čekal bych, že Google dneska umí používat každý.
A co konkretne z toho bych nemel znat? Porad nejak nechapu pointu.

S tím rozdílem, že váš příklad provádí operaci nad stejným datovým typem. Neznalost je (a to ještě velmi slušně řečeno), pokud čekáte, že takové dělení pole stringem je v pořádku.
COZE?! Neocekavam zadne deleni stringem. Ocekavam, ze == je relace ekvivalence, tj. mj. je tranzitivni. A pokud neni obecne, tak vyjimka je maximalne jedna dve a to z VELMI dobreho duvodu (napr NaN != NaN bych jeste byl schopnej pochopit).

2504
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 22:21:19 »
Takže kritika Go je honění ega a kritika JS je šíření osvěty?
Ne. Ale neco jineho je kritika psychedelickych haluzi zavedeneho do jazyka bez zjevneho duvodu a kritika toho, ze neco, co neni vubec nutno pouzivat, se nenapise na dva radky, ale na tri. Mimochodem, kdyz jsme ui toho, porad jeste bych rad videl konkretni kod, ktery by implementoval to same pouziti generatoru v Pythonu a v Go. Srovnavat jednovlaknovou verzi v (cem vlastne?) s konkurentni verzi v Go je dost mimo misu.

nevím co jsou kontinuace
To je skoda. Kdybyste to vedel, mohl byste dospet k nazoru, ze (bezne) generatory jsou trochu zbytecna, polovicata vec.

2505
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 21:52:19 »
A co jsou workery omg
Workery? To jakoze si muzu pustit v jinem vlakne nejaky kod s uplne jinym kontextem a komunikovat s nim pres sit? A to jsi chtel zminit jako dobry priklad, jak umoznit konkurentnost?!

Nebo myslis nejaky jiny workery?

Stran: 1 ... 165 166 [167] 168 169 ... 618