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 ... 141 142 [143] 144 145 ... 153
2131
Vývoj / Re:Ideálny programovací jazyk
« kdy: 18. 05. 2019, 01:40:02 »
To pak ale nic moc neřeší.
Ale jo. Resi to tu nejvetsi (z myho pohledu) bolest Go: mam neco, co chci implementovat pro ruzne typy, a nemusim mit jak dement v interfejsu bambilion uplne stejnych funkci pro jednotlive typy (treba tohle https://godoc.org/go.uber.org/zap#Field je proste k zbliti, jinak se to neda nazvat). Jenom tohle mi prijde, ze pokryva 90% "abstraktniho programovani" ve skutecne praxi.

Bohatě by stačilo, kdyby typové třídy nad HKT používala standarní knihovna (třeba Swift k tomu směřuje), běžný Jouda pak jen použije typ z knihovny, aniž by musel rozumět sofistikované vnitřní implementaci.
Jo, to by asi nebylo uplne blby. Gocko ma uzivatelske typy jenom nulteho radu a v stdlib ma par prvniho radu. Tohle posunout o uroven vys (uzivatelske prvniho radu a v stdlib HKT) by mohlo byt zajimavy. Pokud by to teda slo vymyslet tak, aby to fakt bezny franta programator pobral (tj. aby to nezkomplikovalo typovy system natolik, ze by se v nem nevyznal).
Běžný Franta vůbec nemá co psát typy, pro něj je typová inference. S těmi knihovnami to je také jednoduché, někdo na úrovni prostě napíše supersofistikovaný kód (hezký příklad: http://ericniebler.com/2013/07/16/f-algebras-and-c/) a běžný Franta ho jen přímo používá, aniž by si nad ním musel lámat hlavu. Takto jdou napsat třeba obecné monády v C++ (stejně jako v Haskellu) a pak jen implementovat konkrétní třídy, třeba seznam nebo kontinuaci, přičemž join dostanu zadarmo z bind, nebo fmap apod. Bohužel tohle mainstream moc neumí, ani Java, ani C#, ani Swift. A v tom C++ to sice jde, ale hnusně.

U toho Go - teď trochu odbočuju - vidím jednu velkou výhodu v jednotné volací konvenci. Z praxe - píšu knihovnu pro HPC využívající AVX-512. Normálně bych musel mít i pro amd64 pro různé OS různé verze funkcí v asembleru kvůli odlišným volacím konvencím. V Go rozhoduje jen CPU, pro amd64 napíšu jeden asembler pro všechny OS.

2132
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 15:03:53 »

2133
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 13:42:22 »
eBay.co.uk?
Na tom knizky jsou. Jak se ten kurz, pro kterej je tenhle material bude jmenovat? Co hledat?
http://www.open.ac.uk/courses/qualifications/details/m269?orig=q62

2134
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 13:29:49 »
eBay.co.uk?
Na tom knizky jsou. Jak se ten kurz, pro kterej je tenhle material bude jmenovat? Co hledat?
Algorithms, data structures and computability ;)

2135
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 12:28:45 »
na eBayi stačí zadat “Open University”.
Na ebayi mi nabizi jenom University Of Delaware 7” Heavy Duty Bottle Opener :))
eBay.co.uk?

2136
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 12:18:13 »
Nevím, kdo psal tu učebnici o funkcionálním programování, ale je stejně kvalitní. Budu se opakovat, ale fakt mě nadchla.
Vis neco o tom, kdy a kde bude k dispozici?
Oni to většinou dávají jen ke svým kurzům, nevím o prodávání zvlášť, ale na eBayi stačí zadat “Open University”. Někdy na podzim to asi začnou rozesílat studentům, takže po semestru se to objeví na webu k prodeji.

2137
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 12:12:15 »
Odkaz nemám, jen jsem recenzoval materiály pro jednu anglickou univerzitu. Ale úvod začíná takto: “The notion of a monad is best introduced through particular examples. A formal definition exists but is practically useless until some intuition has been developed. It is not given in this course.” To mě zaujalo.
To zni dobre :)) Ale divim se, ze zrovna ty na to spis nenadavas :)
Proč? Mám poměrně čerstvé zkušenosti s jejich materiály o fyzice a matematickém modelování (kvantová mechanika, nelineární chaos :) ) a musím nadšeně přiznat, že tým prof. Nortona napsal nejlepší učebnici, co jsem kdy viděl. They cracked it. Nevím, kdo psal tu učebnici o funkcionálním programování, ale je stejně kvalitní. Budu se opakovat, ale fakt mě nadchla.

2138
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 11:53:12 »
To pak ale nic moc neřeší.
Ale jo. Resi to tu nejvetsi (z myho pohledu) bolest Go: mam neco, co chci implementovat pro ruzne typy, a nemusim mit jak dement v interfejsu bambilion uplne stejnych funkci pro jednotlive typy (treba tohle https://godoc.org/go.uber.org/zap#Field je proste k zbliti, jinak se to neda nazvat). Jenom tohle mi prijde, ze pokryva 90% "abstraktniho programovani" ve skutecne praxi.

Bohatě by stačilo, kdyby typové třídy nad HKT používala standarní knihovna (třeba Swift k tomu směřuje), běžný Jouda pak jen použije typ z knihovny, aniž by musel rozumět sofistikované vnitřní implementaci.
Jo, to by asi nebylo uplne blby. Gocko ma uzivatelske typy jenom nulteho radu a v stdlib ma par prvniho radu. Tohle posunout o uroven vys (uzivatelske prvniho radu a v stdlib HKT) by mohlo byt zajimavy. Pokud by to teda slo vymyslet tak, aby to fakt bezny franta programator pobral (tj. aby to nezkomplikovalo typovy system natolik, ze by se v nem nevyznal).

P.S. (mírně OT) V souvislosti s tímto se mi do ruky nedávno dostal nový výukový text o monádách a myslím, že trefili funktor na hlavičku.
Horim zvedavosti :) Mas odkaz? (pripadne muzes poslat PM?)
Odkaz nemám, jen jsem recenzoval materiály pro jednu anglickou univerzitu. Ale úvod začíná takto: “The notion of a monad is best introduced through particular examples. A formal definition exists but is practically useless until some intuition has been developed. It is not given in this course.” To mě zaujalo.

2139
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 10:57:27 »
Typové třídy bohužel vyžadují higher kinded types, kteréžto má z mainstreamu (částečně) jen C++.
Ono by (aspoň teoreticky) šlo mít i typové třídy jenom prvního řádu, ne? Nešlo by pak definovat takové třídy jako Functor, ale šlo by udělat Vector[T], kde T je proper type. To by možná mohlo z praktického/pragmatického hlediska celkem i stačit, ne? Java to tak má/měla, ne?
To pak ale nic moc neřeší. Bohatě by stačilo, kdyby typové třídy nad HKT používala standarní knihovna (třeba Swift k tomu směřuje), běžný Jouda pak jen použije typ z knihovny, aniž by musel rozumět sofistikované vnitřní implementaci.

P.S. (mírně OT) V souvislosti s tímto se mi do ruky nedávno dostal nový výukový text o monádách a myslím, že trefili funktor na hlavičku.

2140
Vývoj / Re:Ideálny programovací jazyk
« kdy: 17. 05. 2019, 00:27:17 »
K tématu:

Uvažoval jsem, že některé vlastnosti OOP se moc neosvědčili. Dědičnost a abstraktní třídy, vzor template method. Místo toho mixiny, nebo traity. Tedy znovupoužitelné fragmenty kódu, bez zanášení typu. Jestli ponechat dědičnost na úrovni rozhraní, nebo ani v tomto případě ne?
Jop, type classy z Haskellu a traity z Rustu jsou asi nejlepší přístup k polymorfismu, co jsem zatím potkal. Koncepty v novém C++ se tím hodně inspirovaly, takže vypadají taky až překvapivě dobře.

Dědičnost bych nezavrhoval úplně, ale souhlasím že pro intuitivní implementaci vztahu "is-a" se moc nehodí. I když se tak často prezentuje.
Typové třídy bohužel vyžadují higher kinded types, kteréžto má z mainstreamu (částečně) jen C++.

2141
Vývoj / Re:Ideálny programovací jazyk
« kdy: 16. 05. 2019, 17:41:01 »
další je, že jsou programátoři z něčeho zmatení
Coz je presne to, o cem se tady celou dobu bavime.
Jediný zmatený tady je, kolega Jirsák odpustí, kolega Jirsák.

2142
Vývoj / Re:Ideálny programovací jazyk
« kdy: 16. 05. 2019, 16:29:47 »
Konecne jsem to pochopil, vy jste tady jediny programator a vsichni ostatni jsou...

asi lopaty, co?
Ale no tak...  ::)

2143
Vývoj / Re:Ideálny programovací jazyk
« kdy: 16. 05. 2019, 10:20:42 »
Každé jedno špatné rozhodnutí, na kterém se trvá, vede k sérii marných snah o nápravu a pak je jako "řešení" nabídnuto vysvětlení, proč to je vlastně v pořádku.

Jistě, ale vzhledem k tomu, kdy Java vznikla, je její návrh ještě poměrně snesitelný.
Spíš mi vadí ale ta zabedněnost, s jakou se u ní na některých zjevných chybách lpí.
Někteří to tak mají, něco se horkotěžko naučí a pak na tom lpí.

2144
Vývoj / Re:Ideálny programovací jazyk
« kdy: 16. 05. 2019, 09:40:39 »
Každé jedno špatné rozhodnutí, na kterém se trvá, vede k sérii marných snah o nápravu a pak je jako "řešení" nabídnuto vysvětlení, proč to je vlastně v pořádku.

Každý programátor, pokud mu někdo v rané fázi vývoje nevymyje hlavičku, očekává a chce, aby se čísla sčítala pomocí + a odčítala pomocí -. Jelikož se někdo, kdo rozhodoval o tom, co v Javě smí být a co nesmí, bál "přetěžování operátorů", má Java čísla, která se sčítají normálně přes + a pak čísla, která používají "add()", protože to "jinak nejde".

Úplně stejné to je s tím == a .equals(). Samozřejmě, že "každý" chce porovnávat dvě hodnoty a ne "identitu", když sáhne po ==. Jenže Řád zlatého šálku si na to vymyslí equals() a když děcko řekne, že císař je nahý, v poklidu děcko obviní z hlouposti nebo neznalosti a odkáže ho k četbě posvátných svitků, kde je jasně uvedeno, že císař je oděn vznešeností, což, jak jistě uznáte, není totéž co nahota.
Jistě, ale vzhledem k tomu, kdy Java vznikla, je její návrh ještě poměrně snesitelný.

2145
Studium a uplatnění / Re:Lehká IT škola v ČR/zahraničí
« kdy: 16. 05. 2019, 09:37:04 »
nie je pravda, že by sa firmy pozerali na kvalitu školy atď. Bol som vo viacerých firmách a nikde to nikoho nezaujímalo, kde študujem. Zaujímalo ich, čo viem. Ale všeobecne je to tak, že čím lepšiu školu človek študuje, tak má obvykle aj lepšie znalosti a samozrejme, asi bude taký človek aj chytrejší než priemerný absolvent informatiky na zemedelke
To je logické, ale některé firmy si podle školy uchazeče předfiltrují.

Stran: 1 ... 141 142 [143] 144 145 ... 153