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 ... 99 100 [101] 102 103 ... 618
1501
Vývoj / Re:Co si myslíte o OOP?
« kdy: 09. 01. 2019, 20:41:22 »
pro srovnání idris:
Kód: [Vybrat]
inc : (n : Nat) -> (m : Nat ** m = n + 1)
inc n = (n + 1 ** Refl)
přírůstek můžete přepsat podle potřeby, pokud se liší v typu a těle, neprojde typecheckerem
Pripomnel jsi mi, ze jsem se chtel - az budu mit nekdy trochu vic casu na ptakoviny* - na nejaky jazyk s dependent types podivat. Idris je horky kandidat. Pouzival jsi ho nekdy trochu vic? Doporucil bys ho na hrani nebo radsi neco jinyho?

* takze nejspis nejdriv tak v duchodu

1502
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 21:29:57 »
Zen of Python: Explicit is better than implicit.
Třeba explicit types?

Zen of the World: všechna všeobecná tvrzení jsou nepravdivá.

1503
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 21:15:49 »
přijde Karel a bezelstně začne ten interface s tím typem používat, jenže ono to dělá trochu něco jiného
K tomu ale může dojít i bez interfejsů. Pokud si jenom podle názvu metody myslím, že něco dělá, tak se můžu splést :)
Celkem ale souhlasím, asi to docela nebezpečné je.

(Takže ve finále jsem došel k tomu, že vlastně ty implicitní interfejsy vůbec nejsou dobrej nápad :)) )

1504
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 20:34:21 »
zkusil jsem to obvyklým způsobem - nainstaloval go, vyzkoušel si to a zřejmě jsem to chápal blbě, představoval jsem si něco jako conditional conformance ze swiftu
Rule of thumb: neočekávat od Go nic, co by mohlo budit dojem pokročilosti ;)

P.S. conditional conformance jsem neznal, je to zajímavý, dík za zmínku

1505
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 17:58:29 »
děkuji, ale asi jsem se zeptal blbě
Nebo jsem blbec já, to je v poho, zkus to třeba jinak :)

1506
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 17:27:49 »
mi nějak nedochází jak to funguje, např. mám strukturu x = (y, z), tak pro (f x) se provede (f y) a (f z) a hodnota (f x) se určí jak?
https://tour.golang.org/methods/10

1507
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 17:23:37 »
Podle mě to jsou ale debaty na úrovni andělů na špičce jehly.
Tak to ani náhodou. Debata o andělech byla daleko smysluplnější. To jenom dneska si ve své samolibé pýše myslime, že když je někde slovo "anděl", musí to být už z principu zhovadilost, i když o tom vůbec nic nevíme :)

1508
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 17:15:05 »
Chapu, ze pristup Go ma svoje vyhody a muze byt prijemny, na druhou stranu zase nevidim zadnou zvlastni komplikaci v tom, ze implementaci interface/traitu musi autor explicitne deklarovat. Typovy system to pozna, prekladac to validuje, prace s tim prakticky zadna neni
No kdyz muze prekladac najit definici traitu kdekoli ve zdrojacich, tak uplne stejne muze najit i ten konflikt, takze to mi uplne jako argument neprijde.

Ale pripomnel jsi mi, ze jednu fakt blbou vlastnost to ma: kdyz interfejs implementuju explicitne, muze mi prekladac ohlasit, ze mi neco chybi, primo na tom miste, kde to chybi. Kdyz je to implicitni, tak mi (v lepsim pripade) oznami na uplne jinem miste, ze pro tuhle strukturu interfejs definovany neni (clovek se drbe na hlave jakto, kdyz pred chvili byl - a pricinu musi hledat uplne jinde nez kde je chyba, prekladac mu s tim nepomuze). Anebo (v horsim pripade) mu to prestane fungovat az v testech (nedej matko prirodo na produkci), protoze se mu ve switchi nenamatchoval interface, pac ho kvuli nejake trivialni chybe najednou neimplementuje :)

Jednou se mi tohle stalo a pekne jsem si trhal vlasy, takze nakonec mas vlastne asi pravdu, zas tak dobra featura to neni. Ten spatnej zazitek muj mozek asi sebezachovne vytesnil ;)

1509
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 14:52:16 »
Autoři by museli lépe argumentovat
Anebo by placali uplne stejne neplodne, neposlouchali se, vedli svuj monolog, akorat na desetkrat vetsi plose :)

1510
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 14:01:19 »
BTW tohle by měly mít všechny jazyky, je to praktické.
Souhlas, tohle je rozhodne jedna z tech svetlejsich stranek Gocka :)

1511
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 11:03:10 »
To přece sám znáš, v Go se neuvádí u struktur implementovaná rozhraní, překladač si je odvodí sám podle implementovaných metod. Příklad: Když nedefinuju pro nějakou svou struct metodu String(), automaticky ji překladač považuje za Stringer, což je rozhraní ze standardní knihovny. To řeší tu zmiňovanou chybu kodéra, co zapomene uvést rozhraní jako podporované.
Jasny, ja jsem jenom blbe pochopil kontext. Ok, dik.

1512
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 10:31:49 »
Tohle je zřejmě důvod, proč je v Go konformance automatická.
Co tím myslíš? Můžeš to rozvést nebo ilustrovat kódem?

1513
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 10:03:06 »

1514
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 09:55:57 »
Mate problem uvest ekvivalent primitivni demonstracni ukazky, jejiz podstata vam unika a chytate se marginalii. Po vas se chce, abysye odpovedeli stejne jednoduchou principialni (princip introspekce) ukazkou jak tehoz dosahnout v bezne pouzivanem jazyce se statickymi typy. Popripade pripustili, ze to jednoduse udelat nejde a pochopili s tim, kde jsou vyhody dynamickych jazyku.
Dobyvas se do otevrenych dveri. Nikdo tady netvrdi, ze ve statickych jazycich existuji ekvivalenty ke vsem konstrukcim dynamickych jazyku.

Mohl bys pouzit daleko jednodussi argument:

Naimplementujte tohle, volové!
Kód: [Vybrat]
x = pickle.load(...)

To ve statickém jazyce nejde. Minimálně ne tak snadno. A nikdo to nerozporuje.

--
Jinak, celá tahle žabomyší válka je fakt tragikomicky dětinská.

1515
Vývoj / Re:Co si myslíte o OOP?
« kdy: 08. 01. 2019, 09:18:03 »
Ne me to pusobi opacnym dojmem. Naslo se neco, na co jsou bezne jazyky se statickym typovanim kratke a nez to priznat, tak radsi sami sebe presvedcime, ze je to na nic.
Hele, předvedl jsi způsob, jak implementovat nějakou featuru (undo). A implementoval jsi ji prasáckým způsobem, který ve statických jazycích nemá moc ekvivalent. To ale neznamená, že stejná funkcionalita ve statických jazycích nejde implementovat jinak - a daleko čistěji.

Pokud bys chtěl undo implementovat čistě, použiješ explicitní stav a nějaký state store. Podívej se, jak to má udělané třeba Vue.js. JS sice není statický jazyk, ale ani tak tam nepoužili žádnou takovou prasárnu jako ty :)

Obavam se, ze kdyby debugger byl domenou jen dynamickych jazyku jako introspekce, tak byste tu houfne tvrdili, ze debugger je na nic, vsak zjistit obsah promenne lze take pomoci logu. Introspekce je velmi uzitecna vlastnost jazyka, ale proc by se mel nekdo zamyslet nad jejimim moznostmi a vyuzitim, kdyzi ji nema k dispozici, ze. Je to neco neznameho, ciziho, fuj, prasacky hack a kdesi cosi - nazval bych to programatorskou xenofobii :-).
Tvoje obava je zcela lichá.

Stran: 1 ... 99 100 [101] 102 103 ... 618