Co si myslíte o OOP?

Re:Co si myslíte o OOP?
« Odpověď #1005 kdy: 16. 01. 2019, 22:07:17 »
ve dvojce jsem používal gevent a radost to byla.
Radost je slabý slovo. Když si člověk vzpomene na ten debugging! Saturnálie!


operator

Re:Co si myslíte o OOP?
« Odpověď #1006 kdy: 17. 01. 2019, 05:46:41 »
Se svym statickm stylem mysleni nedokazi  vyuzivat jejich vyhodnych vlastnosti
Měl jsi možnost tyto výhodné vlastnosti rozvést. Proč jsi to neudělal?
A proc bych to mel jeste vic rozvadet? Rozvedeno je to vic nez dost. Pro ty, kterym je shury dano programovat v dynamickem prostredi to rozvadet nepotrebuji a pro ty ostatni je to zbytecne. Staticky jazyk, to je neco jako vezeni. Tvrda omezeni, pevny rad, vse mas nalajnovano, zadna svoboda/flexibilita. Je to efektivni a prinasi to pocit bezpeci, protoze je o tebe postarano a neses minimalni zodpovednost. Kdyz jsi v tom moc dlouho, tak se pak na svobode citis ztraceny a chtel bys zpet do toho vytyceneho radu, kde se o tebe postaraji. Vysvetluj nekomu takovemu hodnotu svobody. Ja ti pochopeni neprinesu a uz vubec nevnutim, to je tvuj boj, me to nevycitej a na me to neprenasej.

operator

Re:Co si myslíte o OOP?
« Odpověď #1007 kdy: 17. 01. 2019, 05:51:23 »
ve dvojce jsem používal gevent a radost to byla.
Radost je slabý slovo. Když si člověk vzpomene na ten debugging! Saturnálie!
Zadny tvuj sarkasmus nic nezmeni na faktu, ze programovat v Pythonu mi z uvedenych duvodu prinasi nejvetsi poteseni. A vzhledem k jeho oblibe a rozsireni, navzdory tomu, ze za nim nestoji zadny ekonomicky gigant, nebudu evidentne jediny. A zvazuji, co za tim asi je, ze tebe to tak zere :-).

Re:Co si myslíte o OOP?
« Odpověď #1008 kdy: 17. 01. 2019, 07:33:34 »
A zvazuji, co za tim asi je, ze tebe to tak zere :-).
Mě to vůbec nežere, já v Pythonu dělám taky. Je to fajn jazyk, některé momenty má slabší a nesmí se to s ním moc přehánět, ale dělá se mi v něm dobře.

Kit

Re:Co si myslíte o OOP?
« Odpověď #1009 kdy: 17. 01. 2019, 07:39:54 »
Se svym statickm stylem mysleni nedokazi  vyuzivat jejich vyhodnych vlastnosti
Měl jsi možnost tyto výhodné vlastnosti rozvést. Proč jsi to neudělal?
A proc bych to mel jeste vic rozvadet? Rozvedeno je to vic nez dost. Pro ty, kterym je shury dano programovat v dynamickem prostredi to rozvadet nepotrebuji a pro ty ostatni je to zbytecne. Staticky jazyk, to je neco jako vezeni. Tvrda omezeni, pevny rad, vse mas nalajnovano, zadna svoboda/flexibilita. Je to efektivni a prinasi to pocit bezpeci, protoze je o tebe postarano a neses minimalni zodpovednost. Kdyz jsi v tom moc dlouho, tak se pak na svobode citis ztraceny a chtel bys zpet do toho vytyceneho radu, kde se o tebe postaraji. Vysvetluj nekomu takovemu hodnotu svobody. Ja ti pochopeni neprinesu a uz vubec nevnutim, to je tvuj boj, me to nevycitej a na me to neprenasej.

Připomněl jsi mi peklo fixní délky stringů v Pascalu. S tím se fakt nedalo rozumně pracovat. Staticky typovaného jazyka jsem si užil až až.


PetrM

Re:Co si myslíte o OOP?
« Odpověď #1010 kdy: 17. 01. 2019, 08:37:04 »
Pro ty, kterym je shury dano programovat v dynamickem prostredi to rozvadet nepotrebuji a pro ty ostatni je to zbytecne.

Co mi to jenom připomíná? Aha, https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/ Kterou část mozku nemáš, že nepojme i informaci o typu?

Staticky jazyk, to je neco jako vezeni. Tvrda omezeni, pevny rad, vse mas nalajnovano, zadna svoboda/flexibilita. Je to efektivni a prinasi to pocit bezpeci, protoze je o tebe postarano a neses minimalni zodpovednost. Kdyz jsi v tom moc dlouho, tak se pak na svobode citis ztraceny a chtel bys zpet do toho vytyceneho radu, kde se o tebe postaraji. Vysvetluj nekomu takovemu hodnotu svobody. Ja ti pochopeni neprinesu a uz vubec nevnutim, to je tvuj boj, me to nevycitej a na me to neprenasej.

Někdy je to dobře. Říká se tomu "defenzivní programování". Víš, že 123+456 = 579 a nemusíš počítat s tím, že to bude 123456, pokud to interpreter vyhodnotí jako string.

Ostatně i v Basicu byly typy "číslo" (např "a") a "string" (např. "a$") právě z tohoto důvodu. Když jsem přecházel z Basicu na Pascal, tak jsem se typům taky divil, ale zjistil jsem, že to má logiku a řada dřívějších chyb záhadně vymizela.

A rozhodování o typu? Sám říkáš "no tak inkluduju knihnovnu, která to řeší".  Není rozhodnutí "inkluduju knihovnu, která tohle pole vezme jako float" právě volba typu? Zatímco jinde napíšu prostě float x[500], tam musím něco inkludvat, něco vytvořit, nějak tam ty data přechroupat dovnitř, musím vědět něco o rozhraní toho něčeho,...

Se svym statickm stylem mysleni nedokazi  vyuzivat jejich vyhodnych vlastnosti

Například?

Zatím jsi jenom dokázal, že se problém odsouvá z deklarace proměnné na deklaraci knihovny, která to zpracuje, ale řešíš to stejně. A navíc tam máš režie s rozhodováním o aktuálním typu za běhu a kontrolou validity kdekoliv, což u typovanýho systému můžeš udělat na vstupu a víš, že pak se ti typ dat bez tvýho vědomí nezmění. A že máš víc pohodlí při psaní, míň pohodlí při ladění.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Co si myslíte o OOP?
« Odpověď #1011 kdy: 17. 01. 2019, 09:11:32 »
.....

ten článek The Perils of JavaSchools mimo jiné pojednává i o neschopnosti uvažovat na vyšší úrovni abstrakce.

SB

Re:Co si myslíte o OOP?
« Odpověď #1012 kdy: 17. 01. 2019, 09:47:59 »
Nekdo tomu rika event sourcing, nekdo funkcionalni programovani, nekdo programovani s explicitnim casem.

Nejmenuje se to continuation? https://en.wikipedia.org/wiki/Continuation

SB

Re:Co si myslíte o OOP?
« Odpověď #1013 kdy: 17. 01. 2019, 09:55:08 »
Blahopřeju k (zatím) nejdebilnějšímu příspěvku tohoto vlákna.

Nejdebilnějšímu ne, ale nemá smysl si stěžovat, že výpočetní model OOP je jiný než funkcionální, a tvrdit, že jeden je lepší než druhý.

JS

Re:Co si myslíte o OOP?
« Odpověď #1014 kdy: 17. 01. 2019, 11:08:17 »
A zvazuji, co za tim asi je, ze tebe to tak zere :-).
Mě to vůbec nežere, já v Pythonu dělám taky. Je to fajn jazyk, některé momenty má slabší a nesmí se to s ním moc přehánět, ale dělá se mi v něm dobře.

Tohle je presne duvod, proc se v teto diskusi s uzivatelem operator vubec nema smysl bavit. Jak uz bylo zrejme z prvnich jeho prispevku, vubec nebere na vedomi, co sem ostatni lide napsali (konkretne Inkvizitor, BoneFlute a ja).

Re:Co si myslíte o OOP?
« Odpověď #1015 kdy: 17. 01. 2019, 11:19:40 »
Nekdo tomu rika event sourcing, nekdo funkcionalni programovani, nekdo programovani s explicitnim casem.

Nejmenuje se to continuation? https://en.wikipedia.org/wiki/Continuation
Ne,  kontinuace je neco hodne jinyho.

operator

Re:Co si myslíte o OOP?
« Odpověď #1016 kdy: 17. 01. 2019, 13:47:55 »
Pro ty, kterym je shury dano programovat v dynamickem prostredi to rozvadet nepotrebuji a pro ty ostatni je to zbytecne.
Co mi to jenom připomíná? Aha, https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/ Kterou část mozku nemáš, že nepojme i informaci o typu?
Ja s typy nemam sebemensi problem. Ktera cast mozku chybi tobe, ze se nesrovna s dynamickymi typy?
Citace

Staticky jazyk, to je neco jako vezeni. Tvrda omezeni, pevny rad, vse mas nalajnovano, zadna svoboda/flexibilita. Je to efektivni a prinasi to pocit bezpeci, protoze je o tebe postarano a neses minimalni zodpovednost. Kdyz jsi v tom moc dlouho, tak se pak na svobode citis ztraceny a chtel bys zpet do toho vytyceneho radu, kde se o tebe postaraji. Vysvetluj nekomu takovemu hodnotu svobody. Ja ti pochopeni neprinesu a uz vubec nevnutim, to je tvuj boj, me to nevycitej a na me to neprenasej.

Někdy je to dobře. Říká se tomu "defenzivní programování". Víš, že 123+456 = 579 a nemusíš počítat s tím, že to bude 123456, pokud to interpreter vyhodnotí jako string.
Tvuj mozek mozna pojme informaci o typech, ale uz ne to, ze se deli na staticke/dynamicke a vedle toho na slabe/silne. Python ma silne typy, takze ti nikdy cislo implicitne nevyhodnoti jako string a naopak.
Citace

Ostatně i v Basicu byly typy "číslo" (např "a") a "string" (např. "a$") právě z tohoto důvodu. Když jsem přecházel z Basicu na Pascal, tak jsem se typům taky divil, ale zjistil jsem, že to má logiku a řada dřívějších chyb záhadně vymizela.
Tady se ale prece nevede debata jestli typy ano nebo ne, ale v jake podobe. Na to jake mas silne reci o mozku ti unika i zakladni podstata diskuse. Dynamicky jazyk neznamena beztypovy jazyk.
Citace

A rozhodování o typu? Sám říkáš "no tak inkluduju knihnovnu, která to řeší".  Není rozhodnutí "inkluduju knihovnu, která tohle pole vezme jako float" právě volba typu? Zatímco jinde napíšu prostě float x[500], tam musím něco inkludvat, něco vytvořit, nějak tam ty data přechroupat dovnitř, musím vědět něco o rozhraní toho něčeho,...

Se svym statickm stylem mysleni nedokazi  vyuzivat jejich vyhodnych vlastnosti

Například?

Zatím jsi jenom dokázal, že se problém odsouvá z deklarace proměnné na deklaraci knihovny, která to zpracuje, ale řešíš to stejně. A navíc tam máš režie s rozhodováním o aktuálním typu za běhu a kontrolou validity kdekoliv, což u typovanýho systému můžeš udělat na vstupu a víš, že pak se ti typ dat bez tvýho vědomí nezmění. A že máš víc pohodlí při psaní, míň pohodlí při ladění.
Ne, nic takoveho jsem a) nedokazal protoze rozdil mezi statickymi a dynamickymi typy lezi jinde a b) neresim to stejne. Zakladni rozdil č v tom, ze vykonovou optimalizaci resim jen tam, kde je nutna a jinde se tim nemusim a naopak mam vyhodu flexibility dynamickych typu a to v naproste vetsine kodu, vetsinou celem. Python mi treba umoznuje zpracovavat vzajemnou realtime midi komunikaci nekolika nastroju pres na raspbery pi zero s velkou vykonovou rezervou, cpu je zatizeno asi na cca 10 %, nepozorovatelnou latenci a to bez jakychkoliv optimalizaci. Me ten vykon proste nezajima. Pohodli pri ladeni je hodne relativni. A) nemusim ladit spoustu problemu, ktere u me jednoduse vubec nevznikaji, b) mam jednodussi a prehlednejsi kod a tedy mensi mnozstvi chyb c) mam introspekci a snazsi odhalovani chyb, d) mam radu vybornych nastroju na testovani. 

Nevim jak to maji ostatni, ale ja pri vytvareni programu mam minimum chyb, casto mi bezi na prvni dobrou. To je vyhoda jednoducheho prehledneho kodu, ktery primocare popisuje problem a asi i jistych zkusenosti, ktere uz mam, a samozrejme pylintu beziciho na pozadi, ktery me na chyby z nepozornosti upozornuje uz behem psani, nemusim cekat na kompilaci. A kdyz nad tim tak premyslim, tak i toho, ze ten kod spoustim mnohem casteji, nez kdyz programuji v kompilovanem jazyce.

Ja si chyby do programu zanasim vetsinou az pri vetsich zpetnych upravach programu, kdy treba nepodchytim vsechny souvislosti a na neco zapomenu. A tady ohromne pomahaji unit testy, ktere prave testuji ruzne okrajove podminky. Takze cim lepsi testy, tim snazsi ladeni. Pokud to porovnam s Javou nebo C#, neni to celkově o nic náročnější. Spíše naopak díky mému propracovanému systému zachycování výjimek, které jsou velmi informativní a produkují výpis na několik stránek, díky kterému vím přesně kdy kde co a jak probíhalo, znám stavy lokálních proměnných, historii stavů proměnných předávaných z funkcí do funkcí, zobrazuje se mi v tom i zdrojový kód z míst volání funkcí a výskytu chyby. V drtivé většině případů mi to samo o sobě stačí k odhalení příčiny chyby aniž bych musel koukat do zdrojáků nebo dokonce používal debuger. A tohle zapisuji i do logu, takže ani u zákazníka se nijak nemusím zabývat simulací a jdu na jisto i u problémů, které se objevují ojediněle a nejde je vyvolat na požádání. Takhle si zase pohodlí představuji já. Že si k tomu musím víc pohlídat i typy se v tom ztratí. Nepředstavuje to žádný problém, který by mě přiměl třeba používat type hinty, natož statický jazyk.

operator

Re:Co si myslíte o OOP?
« Odpověď #1017 kdy: 17. 01. 2019, 13:55:53 »
A zvazuji, co za tim asi je, ze tebe to tak zere :-).
Mě to vůbec nežere, já v Pythonu dělám taky. Je to fajn jazyk, některé momenty má slabší a nesmí se to s ním moc přehánět, ale dělá se mi v něm dobře.
Tohle je presne duvod, proc se v teto diskusi s uzivatelem operator vubec nema smysl bavit. Jak uz bylo zrejme z prvnich jeho prispevku, vubec nebere na vedomi, co sem ostatni lide napsali (konkretne Inkvizitor, BoneFlute a ja).
Na vedomi to beru, ale velmi casto to jsou falesne predstavy a myty o statickych/dynamickych typech, o tom, co jde nebo nejde, co je nutne nebo nezbytne.

operator

Re:Co si myslíte o OOP?
« Odpověď #1018 kdy: 17. 01. 2019, 14:01:11 »
A zvazuji, co za tim asi je, ze tebe to tak zere :-).
Mě to vůbec nežere, já v Pythonu dělám taky. Je to fajn jazyk, některé momenty má slabší a nesmí se to s ním moc přehánět, ale dělá se mi v něm dobře.
Tve vyjadrovani pusobi jinym dojmem.

BaldSlattery

Re:Co si myslíte o OOP?
« Odpověď #1019 kdy: 17. 01. 2019, 14:08:17 »
Nekdo tomu rika event sourcing, nekdo funkcionalni programovani, nekdo programovani s explicitnim casem.

Nejmenuje se to continuation? https://en.wikipedia.org/wiki/Continuation
Ne,  kontinuace je neco hodne jinyho.
Jo, kontinuace je monáda  :D