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 - zboj

Stran: 1 ... 20 21 [22] 23 24 ... 101
316
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 20:07:50 »
ostatně je zde asi tak jediný, co v teorii kategorií neplave.
Já bych spíš řekl, že jsem k ní jenom tak velmi zlehounka, z velké dálky a s velkou opatrností, abych se moc nezakuckal, přičichl ;)
Evidentně to stačí k tomu, abys tu nepsal totální bláboly jako mnozí tady.

317
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 20:03:04 »
No za prvé, pokud programátorovi v C++ řekneš, že funkce je kontejner, tak ho akorát tak zmateš.
Řekl bych, že ho zmatu mnohem míň, než, když napíšu:
Citace
... functor je především (jak psal zboj) homomorfismus mezi kategoriemi ...

Ono normálnímu C++ programátorovi vysvětlovat, že "funkce je funktor" by znamenalo nejdřív mu vysvětlit, co to je "funkce"... Takže bych řekl, že normální programátor se v klidu může spokojit s tím, že funktor je kontejner. A že funkce je funktor už je pak na další vysvětlování....
Funkce není funktor ve smyslu otázky ani s nimi nemá nic společného. Co píšeš nemá hlavu ani patu. Buď napiš něco smysluplného, nebo přiznej, že tomu ani za mák nerozumíš. MP ti to jistě rád vysvětlí, ostatně je zde asi tak jediný, co v teorii kategorií neplave.

318
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 18:08:59 »
V knize o metaprogramování v C++ píšou, že něco jako "template<typename T> class C" je "funktor", ovšem bez nějakého bližšího kontextu. Může mi někdo polopatisticky vysvětlit, co to je funktor a jak to je relevantní pro C++?

https://en.wikipedia.org/wiki/Function_object
Chyba, to je něco úplně jiného. Je propastný rozdíl mezi volatelným objektem (std::function) a funktorem v kategorii typů nějakého jazyka (zdejší případ v kontextu generického programování).

std::function není "volatelný objekt" [...] Může uchovávat member funkci - čili metodu, standardní funkci, lambda funkci a nebo funktor (v kontextu funkčního objektu, čili přetíženého operátoru ()).
Právě proto to je vždy volatelný objekt.

319
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 16:45:52 »
A jak to, že funkce není kontejner? Je to normální kontejner indexovatelný parametrem!

Jakým parametrem je indexovatelná třeba funkce std::getline?

Funkce není kontejner. Funktor může a nemusí být kontejner a stejně tak kontejner může a nemusí být funktor, jsou to ortogonální charakteristiky.
On to dodrbal, oponoval jsem tvrzení, že FUNKTOR je kontejner, o funkci nebyla řeč. Navíc je otázka, co myslel "kontejnerem", protože kolekce v této souvislosti taky nedávají smysl. Funktor je prostě dvojice funkcí nad typy a morfismy, jedna část je typový konsturktor a druhá fmap.

320
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 14:18:44 »
Tak jsem myslel, že na to někdo odpoví "po lopatě" (to je totiž hezky česky)....

Po lopatě, funktor je kontejner, který má operaci pro práci s prvky, co jsou uvnitř, která splňuje nějaké základní náležitosti (aby se to dalo považovat za kontejner).

"template<typename T> class C" je schopné být funktor, protože ta funkce, která dělá něco s tím, co je uvnitř, může taky měnit ten typ.

Ta operace se jmenuje "fmap", vypadá jako "C<T2> fmap(f, C<T1>)" a "f" je "T2 f(T1)". Typická implementace je, že to pro každý prvek toho kontejneru zavolá tu funkci "f", prvek vymění za nový a vrátí výsledek (může se změnit typ). A aby to splňovalo tu představu "kontejneru", tak to musí splňovat, že
Kód: [Vybrat]
id(x) { return x; }
fmap(id, container) == container

sloz(x) { return p(q(x)) }
fmap(sloz, container) == fmap(p, fmap(q))
(C++ syntaxi pořádně neumim, tak je to trochu pseudo)

Třeba takový generický "seznam" je funktor - operace fmap se zavolá pro každý prvek a vrátí se výsledek. Optional je funktor - když v něm nic není, vrátí nic, jinak zavolá tu funkci a vrátí nový optional s jiným výsledkem. Hashmapa je funktor - fmap se volá na hodnoty. Funkce je funktor; fmap se zavolá na výsledek funkce (vlastně složení funkcí).

Jinak tady to je i s tou teorií i C++ příklady:
https://bartoszmilewski.com/2015/01/20/functors/
Akorát to nemusí být kontejner.

321
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 13:22:15 »
V knize o metaprogramování v C++ píšou, že něco jako "template<typename T> class C" je "funktor", ovšem bez nějakého bližšího kontextu. Může mi někdo polopatisticky vysvětlit, co to je funktor a jak to je relevantní pro C++?
Tyto "funktory" jsou v každém jazyce s generickými typy, až na to, že to nejsou funktory (podle definice), protože nefungují na morfismech, takže čistě formálně je to funkční restrikce funktoru pomíjející morfismy. A polopatě: "a functor is a function taking objects of a category to objects of another category". V jazycích jako C++, Java, Swift, Go apod. jde o kategorii typů. Čili třeba z int udělám C<int>, kde C je ten "funktor" přiřazující typu int onen složitější typ. Toť vše. S operátorem () to nijak nesouvisí, v Javě to je úplně stejné.

323
Vývoj / Re:Funktory v C++
« kdy: 09. 05. 2017, 12:47:33 »
V knize o metaprogramování v C++ píšou, že něco jako "template<typename T> class C" je "funktor", ovšem bez nějakého bližšího kontextu. Může mi někdo polopatisticky vysvětlit, co to je funktor a jak to je relevantní pro C++?

https://en.wikipedia.org/wiki/Function_object
Chyba, to je něco úplně jiného. Je propastný rozdíl mezi volatelným objektem (std::function) a funktorem v kategorii typů nějakého jazyka (zdejší případ v kontextu generického programování).

324
Studium a uplatnění / Re:Socialisticke tituly
« kdy: 08. 05. 2017, 23:41:58 »
Dnesja som sa na chvilu zamyslel, preco vlastne mame tituly ake mame? Mam tym namysli tituly druheho studpna -> Mgr. a Ing., zatial co ine krajiny pouzivaju Master. Vie niekto preco musime byt my vynimky a ci je sanca ze sa niekedy zavedie master aj u nas?
To je starý rakouský systém, jde jen o tradici.

325
Studium a uplatnění / Re:Je už neskoro na programovanie?
« kdy: 08. 05. 2017, 11:48:40 »
@zboj
Kdyby se prosadil Prolog, určitě by někoho napadlo do něj zakomponovat javascript :-)))
Určitě někoho inteligentního  :-\

A zde je http://www.swi-prolog.org/pldoc/man?section=jswrite :-)))
OMG

326
Studium a uplatnění / Re:Je už neskoro na programovanie?
« kdy: 08. 05. 2017, 10:32:08 »
@zboj
Kdyby se prosadil Prolog, určitě by někoho napadlo do něj zakomponovat javascript :-)))
Určitě někoho inteligentního  :-\

327
Studium a uplatnění / Re:Je už neskoro na programovanie?
« kdy: 08. 05. 2017, 09:40:28 »
Už dlho som sa tak nezasmial. Chlapec tu chce robiť obyčajného programátora a hádžete mu tu géniov fyziky a matematiky na porovnanie. Trošku zostúpiť na zem by neuškodilo, programátor nie je nič extra, len je ich nedostatok a tak ich firmy preplácajú. Inak je to mentálnou náročnosťou na úrovni sústružníka alebo stolára. Veď to (bez urážky) robí kadejaký Ind z chatrče.

No ono je to především dřina, kterou podstupují jen ti, co je to baví. O penězích to nikdy nebylo.
Mně to teda nikdy jako dřina nepřišlo, zkoušky z IT patřily vždy k těm jednodušším a v praxi to jde taky hladce. Možná záleží na tom, jestli hranice něčí intelektuální kapacity je u trojčlenky nebo u komonád či třeba forsingu. Jestli to někoho baví se taky pozná, třeba u zmíněných Indů bych o tom dost pochyboval.

Dřina ve smyslu mechanické a málo intelektuálně náročné práce například při údržbě systému a testování. FP je sice elegantní, ale v praxi málo používané, protože 90% úkolů je triviálních a často má povahu jen deklarativní činnosti a pořizování dat. S rozvojem DP se to bude prohlubovat, během chvilky navrhnete strukturu sítě a pak ji dlouhý čas budete trénovat, což samozřejmě moc zábavné a intelektuálně náročné není. Nebudete už pánem situace jako dnes, kdy tvoříte vlastní struktury s víceméně očekávaným výsledkem.
To asi platí ve většině oborů, že většina dělá rutinu a jen hrstka se dostane k (a je schopna dělat) intelektuálně náročnější práci. Škoda, že deklarativní programování se nerozšířilo víc, v takovém Prologu se nedá prasit.

328
Studium a uplatnění / Re:Je už neskoro na programovanie?
« kdy: 08. 05. 2017, 01:58:21 »
Už dlho som sa tak nezasmial. Chlapec tu chce robiť obyčajného programátora a hádžete mu tu géniov fyziky a matematiky na porovnanie. Trošku zostúpiť na zem by neuškodilo, programátor nie je nič extra, len je ich nedostatok a tak ich firmy preplácajú. Inak je to mentálnou náročnosťou na úrovni sústružníka alebo stolára. Veď to (bez urážky) robí kadejaký Ind z chatrče.

No ono je to především dřina, kterou podstupují jen ti, co je to baví. O penězích to nikdy nebylo.
Mně to teda nikdy jako dřina nepřišlo, zkoušky z IT patřily vždy k těm jednodušším a v praxi to jde taky hladce. Možná záleží na tom, jestli hranice něčí intelektuální kapacity je u trojčlenky nebo u komonád či třeba forsingu. Jestli to někoho baví se taky pozná, třeba u zmíněných Indů bych o tom dost pochyboval.

329
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 07. 05. 2017, 23:38:38 »
Hodim sem takovou otázku ohledně Node.JS. Pokud vim, zpracovávaj se všechny požadavky v jednom vlákně. Co se tedy stane, když najednou server dostane obrovský množství požadavků. Moje představa je taková, že u prvního požadavku zpracuje např. jeden příkaz, pak jde k druhýmu.. a postupně je všechny obejde a jde zpracovávat druhej příkaz u všech. když bude takhle obsluhovat třeba X požadavků - OK, ale až jich bude 100× víc, v tu chvíli se to musí všechny požadavky zpracovávat pomalejš, ne? Nebo se to prostě řeší limitem, kolik se jich může zpracovávat současně?
Ne, vždy se jede až k dalšímu callbacku. Typicky jsou u spojení timeouty, když se server přetíží, nevyřídí všechny požadavky. Většina zde moc nechápe, jak node.js funguje. Muliplexování na jedno vlákno je hovadina, správně by se mělo použít něco jako GCD ve spojení s NIO.

330
Vývoj / Re:Jak efektivně setřást lopaty?
« kdy: 07. 05. 2017, 22:20:13 »
Zkus vyžadovat PhD, nejlépe z jaderné fyziky, tam lopaty nepotkáš a pokecáš si na úrovni.

Na úrovni? Spousta z nich není schopna dát dohromady smysluplnou větu. Legendární jsou jejich vtipy. I když máte patřičně vzdělání a chápete pointu, nejste dostatečně geek na to, aby vám to přišlo vtipné. To si raději pokecám se Frantou ve šroubárně :-D
Já to myslel jako nadsázku, ale asi se shodneme, že je rozdíl bavit se s člověkem s IQ okolo 70 (jako mnozí tady) nebo 130. Na druhou stranu někdy je lepší bavit se s někým bez styčných bodů o něčem úplně mimo běžný záběr, třeba s rybářem v Puerto Belén.

Stran: 1 ... 20 21 [22] 23 24 ... 101