Co si myslíte o OOP?

Re:Co si myslíte o OOP?
« Odpověď #315 kdy: 31. 12. 2018, 18:06:02 »
Já nevím, tohle se mi nezdá. Když mám data z externího zdroje, stále to můžu otypovat. [...] typem určím, že buď zadá číslo, a pak ho zpracuju, nebo zadá nečíslo, a pak mu hodím chybovku. Tohle jde udělat compile-time.
To rozlišení mezi číslem a (čímkoli jiným) není nic jinýho, než dynamický typování :) Vstup od uživatele není moc dobrej příklad, protože to je vždycky string. Zajímavější je třeba deserializace z disku nebo sítě.

Jde vlastně o featuru, moct ty typy vypnout. Protože třeba ten Haskell to vždycky kompiluje jako na produkci.
Přesně tak. Chceš jenom něco narychlo prubnout a přitom jsi nucenej psát stejně kvalitní kód jako pro produkci. A to je opruz.


v

Re:Co si myslíte o OOP?
« Odpověď #316 kdy: 31. 12. 2018, 18:07:46 »
Přesně tak. Chceš jenom něco narychlo prubnout a přitom jsi nucenej psát stejně kvalitní kód jako pro produkci. A to je opruz.
https://ghc.haskell.org/trac/ghc/wiki/DeferErrorsToRuntime

Re:Co si myslíte o OOP?
« Odpověď #317 kdy: 31. 12. 2018, 18:08:19 »
Je tu nejakej pythonak, kterej by rekl, jestli je to pouzitelne?
Existující kód prostě běží dál, změny se projeví jenom v nově nataženém.
Ty ne. Ty mas omluvenku ;-).

Ale tak dobre... jestli moc chces muzes mi to vysvetlit. Ja budu poslouchat.

Re:Co si myslíte o OOP?
« Odpověď #318 kdy: 31. 12. 2018, 18:09:25 »

Re:Co si myslíte o OOP?
« Odpověď #319 kdy: 31. 12. 2018, 19:09:36 »
Ale tak dobre... jestli moc chces muzes mi to vysvetlit. Ja budu poslouchat.
https://stackoverflow.com/questions/3862871/hot-reloading-swapping-with-python
Ok. Procetl jsem. I nektere ty odkazovane veci. A nejsem si jisty, co mas na mysli.
Vsude se pise jak se to da udelat... A na co si dat pozor.

To, ze stare objekty (vytvorene podle predchozi verze kodu) zustanou nezmenene je snad v poradku ne?


BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Co si myslíte o OOP?
« Odpověď #320 kdy: 31. 12. 2018, 19:11:26 »
Zajímavější je třeba deserializace z disku nebo sítě.
V čem je to jiné? Taky dostanu proud dat, defakto string, defakto zase musím použít Maybe.

Re:Co si myslíte o OOP?
« Odpověď #321 kdy: 31. 12. 2018, 19:11:49 »
To, ze stare objekty (vytvorene podle predchozi verze kodu) zustanou nezmenene je snad v poradku ne?
Ne. To je to, co ti porad nedochazi. Podstata je ve vymene stareho za nove ne ve vytvoreni noveho. To druhé Python umí (a umí to jakýkoliv jazyk s REPL), to první ne.

Re:Co si myslíte o OOP?
« Odpověď #322 kdy: 31. 12. 2018, 19:13:20 »
V čem je to jiné? Taky dostanu proud dat, defakto string, defakto zase musím použít Maybe.
Jiné je to v tom, že serializovaná data můžou obsahovat serializované typy. Tj. dostaneš se přesně do situace dynamicky typovaného jazyka - typy znáš (pozitivně, jistě) v době běhu, ale ne v době překladu.

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Co si myslíte o OOP?
« Odpověď #323 kdy: 31. 12. 2018, 19:14:14 »
Uvazujes tak, ze uz vis presne, co s temi prichozimi daty chces udelat. Tj. ziskat jmeno, cislo, pripadne hodit error, kdyz se to nepovede.

Ale aby sis moh s temi prichozimi daty hrat a prozkoumavat je, musis je bud plne otypovat nebo pouzit dynamicky typovani. Zjistili jsme ze plne typovat ty jsony nechces, dynamicky typovat je taky nechces, tak mi z toho vyplyva opet, ze potrebujes presny zadani, jinak odmitas pracovat.

To reprezentuje tu sortu programatoru, ktery se nehnou z mista, dokud nemaji precizne zpracovany zadani. S preciznim zadanim je pak suna fuk jestli pouzijes python nebo haskell, protoze jsi dostal definici vstupu a vystupu, tak z toho akorat napises funkci.

Programivani je ale casto o prozkoumavani moznych reseni. A proto v nejistych podminkach dynamicky jazyky vzdy zvitezily.
Supr. Tak jsme se s velkou parádou dostaly k bodu dva, o tom, že bez typů se lépe prototypuje. To je všechno?

Re:Co si myslíte o OOP?
« Odpověď #324 kdy: 31. 12. 2018, 19:21:08 »
To, ze stare objekty (vytvorene podle predchozi verze kodu) zustanou nezmenene je snad v poradku ne?
Ne. To je to, co ti porad nedochazi. Podstata je ve vymene stareho za nove ne ve vytvoreni noveho. To druhé Python umí (a umí to jakýkoliv jazyk s REPL), to první ne.

Tak to ale erlang taky neumi.

Re:Co si myslíte o OOP?
« Odpověď #325 kdy: 31. 12. 2018, 19:21:50 »
Tak to ale erlang taky neumi.
Jak jsi na to prisel?

Re:Co si myslíte o OOP?
« Odpověď #326 kdy: 31. 12. 2018, 19:47:30 »
Chlopé, běžte ven (mezi lidi)!
 :)  ;)  :D  ;D

Re:Co si myslíte o OOP?
« Odpověď #327 kdy: 31. 12. 2018, 19:48:35 »
Chlopé, běžte ven (mezi lidi)!
 :)  ;)  :D  ;D
Já náhodou běhám celej den.




[ve Factoriu ;) ]

Re:Co si myslíte o OOP?
« Odpověď #328 kdy: 31. 12. 2018, 19:50:15 »
Tak to ale erlang taky neumi.
Jak jsi na to prisel?
Kdyz hotswapnu nejaky modul ktery ma funkci akceptujici tuple tak mi otp samo zmigruje vsechny existujici relevantni tuply ktere do ni muzou prijit?

Re:Co si myslíte o OOP?
« Odpověď #329 kdy: 31. 12. 2018, 19:54:41 »
Kdyz hotswapnu nejaky modul ktery ma funkci akceptujici tuple tak mi otp samo zmigruje vsechny existujici relevantni tuply ktere do ni muzou prijit?
Úplně neumím rozšifrovat, na co se vlastně ptáš. Každopádně se nic samo nemigruje. Ale v OTP existují postupy, jak stavy zmigrovat. I způsoby, jak udělat rollback. Je to dost komplexní věc, nedá se to vysvětlit pár větama. Ale můžeš si něco o tom vygooglit, po netu je toho spousta.