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 ... 6 7 [8] 9 10 ... 101
106
Studium a uplatnění / Re:Zkouška z FP
« kdy: 22. 06. 2017, 10:17:52 »
Jo, to sis teď našel  :P
Naopak, teprve jak jsem to napsal, tak jsem klikl na ten link výš a uzarděl se, že jdu s dřívím do lesa ;)
Každopádně jde o docel zajímavý vhled, ne? Jedním z důsledků například je, že monády ve FP nejsou monády :)

107
Studium a uplatnění / Re:Zkouška z FP
« kdy: 22. 06. 2017, 10:05:03 »
Když třeba v Haskellu budu uvažovat i funkce, co ne vždy ukončí výpočet, tak na nich nejde rozumně nadefinovat ekvivalence (viz nedávná diskuze zde o ekvivalenci v JS), takže pak nedávají smysl třeba komutativní diagramy a veškeré definice ztrácí smysl.
Dalo by se to asi říct i jednodušeji neformálně: pokud je funkce z Int do bottom, tak bys musel mít typ bottom, ale na něm nejde udělat identita.
Jo, to sis teď našel  :P Prostě to kvůli tomuto nebude kategorie. IMHO je lepší uvažovat jen funkce v matematickém smyslu, je to stejný rozdíl jako třeba svaz všech podmnožin nějakého X a svaz všech konstruovatelných podmnožin, je to nějaká slušně se chovající algebraická struktura a že má nějaké relativně hnusné množiny navíc mě zajímat moc nemusí. Ostatně třeba u modelu ZFC mi je tak fuk, jestli je spočetný...

108
Studium a uplatnění / Re:Zkouška z FP
« kdy: 22. 06. 2017, 09:57:43 »
Kdyby se braly v úvahu všechny, tak by to už nebyla kategorie

To mi nejak neni jasny, muzes to vysvetlit? Axiomy kategorie (tranzitivita a identita) to, zda se mi, splnuje.
Když třeba v Haskellu budu uvažovat i funkce, co ne vždy ukončí výpočet, tak na nich nejde rozumně nadefinovat ekvivalence (viz nedávná diskuze zde o ekvivalenci v JS), takže pak nedávají smysl třeba komutativní diagramy a veškeré definice ztrácí smysl.

109
Studium a uplatnění / Re:Zkouška z FP
« kdy: 22. 06. 2017, 09:26:28 »
nejsou všechny funkce, ale jen ty vyčíslitelné. Kdyby se braly v úvahu všechny, tak by to už nebyla kategorie (a taky to v FP nemá smysl).
Že by ho vyhodil na takovou kravinu? No, jestli je debil, nebo jestli student dělal chytrýho, tak je to možný.
Toto rozlišení je celkem podstatné a v definici Hask se běžně nějaká ekvivalentní formulace uvádí. Funkce i jen z N do N můžou být docela svině.

110
Studium a uplatnění / Re:Zkouška z FP
« kdy: 22. 06. 2017, 09:10:48 »
Je to věcně správně. Pan učitel si možná potrpí na formálnější onanii, nemá rád slovo "šipka" a vyžaduje "morfismus" ;)
I ty, Brute? Nope, je to věcně špatně a pan učitel si asi potrpí jen na přesnost (jaký to div ve světě matematiky). Morfismy (šipky se říká běžně, to problém není) nejsou všechny funkce, ale jen ty vyčíslitelné. Kdyby se braly v úvahu všechny, tak by to už nebyla kategorie (a taky to v FP nemá smysl).

Akorát teda nevím, jestli to je hned na vyhození, "kámoš" asi řekl ještě další kraviny nebo se hádal, že slůvko sem slůvko tam nehraje roli. Kolega takhle jednou vyhodil studenta, který tvrdil, že logika řádu n>=2 je neúplná, přičemž stačilo upřesnit formulaci, ale pako student se začalo hádat...  :D

111
Vývoj / Re:Přepsání serveru v Javě
« kdy: 22. 06. 2017, 01:14:02 »
A co třeba tohle?
Kód: [Vybrat]
val foo = (cond) ? new Foo() : new Bar();
foo.method();

Jak v takovém případě zafunguje inference? Bude hledat společná rozhraní obou tříd?

A co bys tak rekl? Jaky typ ma tenhle vyraz (cond) ? new Foo() : new Bar();? Nehledej slozitost, kde neni. Nebo se to alespon douc.

Tak já bych řekl, že buď vezme největší společný rozhraní, nebo spíš chcípne, protože je to otevřené. (Ale čerpám na základě zkušeností z Haskellu, Java tu interferenci nemá.)
Typicky se bere prostě supremum, pokud typový systém tvoří úplný svaz. Nebo to je prostě chyba, když se výsledný typ neuvede explicitně, záleží na jazyku. Haskell je v tomto trochu specifický, když má de facto jen rozhraní.
Stačilo říct: "jo" :-)
Nestačilo, protože to chtělo opravit a upřesnit.

112
Studium a uplatnění / Re:Trendy v CS
« kdy: 21. 06. 2017, 23:20:06 »
tak třeba "Formal methods"
Třeba, konkrétně automatické dokazování a teorie modelů, ani k tomu není nutná moc složitá matematika. Momentálně se v této oblasti "bádá" nad dokazováním v logice vyššího řádu s přesahy do commonsense reasoning a NLP. Základy se rozhodně dají získat (nebo oprášit) rychle a na Mgr. k tomu bývá dost předmětů, když člověk ví, co si vybrat a v jakém pořadí. U těch modelů to je trochu abstraktnější a "zamotanější".

113
Vývoj / Re:Přepsání serveru v Javě
« kdy: 21. 06. 2017, 23:07:58 »
A co třeba tohle?
Kód: [Vybrat]
val foo = (cond) ? new Foo() : new Bar();
foo.method();

Jak v takovém případě zafunguje inference? Bude hledat společná rozhraní obou tříd?

A co bys tak rekl? Jaky typ ma tenhle vyraz (cond) ? new Foo() : new Bar();? Nehledej slozitost, kde neni. Nebo se to alespon douc.

Tak já bych řekl, že buď vezme největší společný rozhraní, nebo spíš chcípne, protože je to otevřené. (Ale čerpám na základě zkušeností z Haskellu, Java tu interferenci nemá.)
Typicky se bere prostě supremum, pokud typový systém tvoří úplný svaz. Nebo to je prostě chyba, když se výsledný typ neuvede explicitně, záleží na jazyku. Haskell je v tomto trochu specifický, když má de facto jen rozhraní.

114
Vývoj / Re:Přepsání serveru v Javě
« kdy: 21. 06. 2017, 13:12:30 »
Rozdil je v tom, ze jsi nemusel Foo psat dvakrat, typ foo za tebe odvodil (inferoval) prekladac.

Osobně dávám přednost uvedení typu proměnné, vidím ji na první pohled, narozdíl např. při přiřazení vrácené hodnoty metody.

Proměnnou včetně typu i přiřazení vyrobí IDE jednou klávesovou zkratkou, jen následně uvedu její název, přičemž mi často rovnou nabídne ten správný. Přijde mi, že na to má Idea nějakou heuristiku učící se z mého stylu pojmenování proměnných, protože se často trefuje hned první nabídkou.

Ukecanost javy při použití slušného IDE nijak nezdržuje.
  Někdo třeba považuje za slušné IDE vi.

115
Vývoj / Re:Přepsání serveru v Javě
« kdy: 21. 06. 2017, 12:02:27 »
Typová inference pro lokální proměnné: http://openjdk.java.net/jeps/286

K čemu je dobrá typová inference? Když místo "var" použiji název rozhraní, tak mám jistotu, že mohu s objektem přes toto rozhraní pracovat. Používání rozhraní ArrayList místo List považuji za hloupost.
Deklarovat proměnnou jako rozhraní je koncepční chyba, k tomu rozhrani neslouží (a implementačně to je přímo blbost, při statickém typování to s sebou nese zbytečný overhead).

116
Vývoj / Re:Přepsání serveru v Javě
« kdy: 21. 06. 2017, 11:28:19 »
Projekt Valhalla http://www.jesperdj.com/2015/10/04/project-valhalla-value-types/ už pár let běží, snad se jej dočkáme v javě 10. Rozhodně to bude užitečné, zpřísněním typování kódu (value types) i výkonově (právě např. jejich kolekce). Už aby byly...
Ano, tím by Java vstoupila (konečně) do 21. století. Ještě teda chybí typová inference, to je taky opruz, zvlášť když všichni významní konkurenti to mají.

Java ji ma, jen ji ma malo. Pouziva se u diamondu.

A ano, je to skutecne jeden z podstatnych opruzu.
Ano, myslel jsem na úrovni konkurence. Hlavně že se shodneme. Osobně mě to teda už netrápí, protože za problém považuji hlavně molochovitost JVM, ale čistě z pohledu jazyka by stačila ta inference.

117
Vývoj / Re:Přepsání serveru v Javě
« kdy: 21. 06. 2017, 11:23:01 »
Projekt Valhalla http://www.jesperdj.com/2015/10/04/project-valhalla-value-types/ už pár let běží, snad se jej dočkáme v javě 10. Rozhodně to bude užitečné, zpřísněním typování kódu (value types) i výkonově (právě např. jejich kolekce). Už aby byly...
Ano, tím by Java vstoupila (konečně) do 21. století. Ještě teda chybí typová inference, to je taky opruz, zvlášť když všichni významní konkurenti to mají.

118
Studium a uplatnění / Re:VŠ Blava
« kdy: 21. 06. 2017, 10:15:25 »
"Vďaka" tomu je napr. Bratislava jediné európske hlavné mesto bez metra. (európske = EU)
Dublin taky nemá metro.

A pokud se nepletu, tak ani Nicosia, Valletta a Lublan...
A Praha několik měsíců po větších povodních...

119
Studium a uplatnění / Re:VŠ Blava
« kdy: 21. 06. 2017, 10:13:56 »
nemyslim si ze z dopravneho hladiska je chybajuce metro nejvacsim problemom Bratislavy

Bratislava zasa nie je taka velka aby bolo nutne, treba sa ale zamysliat nad tym ze elektrickova siet sa vobec nebuduje. s prestavbou stareho mosta sa vybudovala trat cez dunaj, co je niekolko sto metrov po x rokoch (mozno desiatkach, neviem presne)
integrovana doprava, ktora nefunguje
kvantum aut prichadazjucich do mesta bez zachytnych parkovisk
skoro ziadna podpora (aj ked je to omnoho lepsie ako par rokov dozadu) alternativ ako bicyklovej dopravy

ako bolo napisane, dublin tiez nema metro, je to vacsie mesto ako Bratislava a doprava funguje, aj ked zapchy su tiez
ale LUAS ta expresne prepravi krizom cez mesto, tak isto sa da ist aj vlakom, ktory stoji na vicaerych miestach v meste
autobusova doprava je velmi husta a centrum je posiate so stanicami bicyklov, ktore sa za rozny poplatok tusim 20E daju pouzivat denno-denne zadarmo ak jazda neprekroci 30min, pocet jazd je neobmedzeny
a samozrejme cyklotrasy, ktorych je neurekom, takze ak ma niekto vlastny bike tak pouziva ten

cize da sa to aj bez metra
Luas je zlý vtip, má dvě ubohé linky, co se ani nikde neprotínají. Linek autobusů je sice víc, ale řidiči dost často neznají trasu, někde blbě odbočí a pak už se nemají jak vrátit. O bordelu v busech a vlacích radši pomlčím. No aspoň že mají nízké daně.

120
Vývoj / Re:Přepsání serveru v Javě
« kdy: 21. 06. 2017, 10:10:02 »
Problém Javy je, že neumožňuje nějakou aspoň pseudotransparentní alokaci dat na zásobníku.
Ne, to problém Javy není.
Mělo by být pravidlem nepsat o něčem, čemu nerozumím. Courtesy of the rascal: http://www.infoworld.com/article/3202066/java/jvm-may-get-upgrade-to-support-todays-multicore-processors.html

Stran: 1 ... 6 7 [8] 9 10 ... 101