Co si myslíte o OOP?

BaldSlattery

Re:Co si myslíte o OOP?
« Odpověď #1020 kdy: 17. 01. 2019, 14:10:30 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.


BaldSlattery

Re:Co si myslíte o OOP?
« Odpověď #1021 kdy: 17. 01. 2019, 14:11:32 »
nemá smysl si stěžovat, že výpočetní model OOP je jiný než funkcionální, a tvrdit, že jeden je lepší než druhý.
To ne.

Kadet

Re:Co si myslíte o OOP?
« Odpověď #1022 kdy: 17. 01. 2019, 14:25:45 »
V pripade event sourcingu, kdy je historie vsech zmen uchovana jako linearni log zprav, je suffix takovyho logu skutecne kontinuace.

V jazycich, kde neni cas explicitni, ale implicitne schovanej ve vnitrnostech runtimu v zasobniku, je kontinuace rovna tomu zasobniku. Tj. na zasobnik ulozim to, co chci vypocitat potom az dokoncim neco ted. Mnozina vsech operaci odlozena do budoucna = kontinuace = runtime stack.

Inkvizitor

Re:Co si myslíte o OOP?
« Odpověď #1023 kdy: 17. 01. 2019, 14:34:57 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

Pokud si to dobre vybavuju, tak v Pascalu byl akorat tak fixni limit na delku (klasicky string do 255 znaku, ANSI string mel max. delku omezenou maximalni hodnotou integeru). Fixni delka patri spis k poli (pripade n-tici) a ne seznamu, tam pro to nevidim moc smysl.

v

Re:Co si myslíte o OOP?
« Odpověď #1024 kdy: 17. 01. 2019, 15:51:33 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

Pokud si to dobre vybavuju, tak v Pascalu byl akorat tak fixni limit na delku (klasicky string do 255 znaku, ANSI string mel max. delku omezenou maximalni hodnotou integeru). Fixni delka patri spis k poli (pripade n-tici) a ne seznamu, tam pro to nevidim moc smysl.
dá se třeba zabezpečit funkce head
Kód: [Vybrat]
head :: Vec (1 + more) a -> aVec je seznam s počtem prvků v typu, ale záleží co přesně znamená "fixní"


Inkvizitor

Re:Co si myslíte o OOP?
« Odpověď #1025 kdy: 17. 01. 2019, 17:16:13 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

Pokud si to dobre vybavuju, tak v Pascalu byl akorat tak fixni limit na delku (klasicky string do 255 znaku, ANSI string mel max. delku omezenou maximalni hodnotou integeru). Fixni delka patri spis k poli (pripade n-tici) a ne seznamu, tam pro to nevidim moc smysl.
dá se třeba zabezpečit funkce head
Kód: [Vybrat]
head :: Vec (1 + more) a -> aVec je seznam s počtem prvků v typu, ale záleží co přesně znamená "fixní"

Pokud ma byt hlavicka fixni, rozhodne bych to nedelal pres vektor, ale pres strukturu/record/tuple.

Kit

Re:Co si myslíte o OOP?
« Odpověď #1026 kdy: 17. 01. 2019, 17:24:16 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

K čemu může být užitečná fixní délka typu v seznamu? Seznam by tuto vlastnost nijak nevyužil.

Re:Co si myslíte o OOP?
« Odpověď #1027 kdy: 17. 01. 2019, 17:33:37 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

K čemu může být užitečná fixní délka typu v seznamu? Seznam by tuto vlastnost nijak nevyužil.

Seznam vs. Spojovy seznam...

BaldSlattery

Re:Co si myslíte o OOP?
« Odpověď #1028 kdy: 17. 01. 2019, 17:36:31 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

K čemu může být užitečná fixní délka typu v seznamu? Seznam by tuto vlastnost nijak nevyužil.
Pro typovou kontrolu operací pracujících s délkou, třeba append. Je to prostě silnější typová kontrola při překladu.

v

Re:Co si myslíte o OOP?
« Odpověď #1029 kdy: 17. 01. 2019, 18:10:36 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.

Pokud si to dobre vybavuju, tak v Pascalu byl akorat tak fixni limit na delku (klasicky string do 255 znaku, ANSI string mel max. delku omezenou maximalni hodnotou integeru). Fixni delka patri spis k poli (pripade n-tici) a ne seznamu, tam pro to nevidim moc smysl.
dá se třeba zabezpečit funkce head
Kód: [Vybrat]
head :: Vec (1 + more) a -> aVec je seznam s počtem prvků v typu, ale záleží co přesně znamená "fixní"

Pokud ma byt hlavicka fixni, rozhodne bych to nedelal pres vektor, ale pres strukturu/record/tuple.
"fixní" jsem spíš interpretoval jako "počet prvků seznamu je pevně daný typem, ale ne neměnný"

Kit

Re:Co si myslíte o OOP?
« Odpověď #1030 kdy: 17. 01. 2019, 18:33:19 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.
K čemu může být užitečná fixní délka typu v seznamu? Seznam by tuto vlastnost nijak nevyužil.
Pro typovou kontrolu operací pracujících s délkou, třeba append. Je to prostě silnější typová kontrola při překladu.

Co když potřebuji mít v seznamu položky různého typu a s rozdílnou délkou?

BaldSlattery

Re:Co si myslíte o OOP?
« Odpověď #1031 kdy: 17. 01. 2019, 18:52:14 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.
K čemu může být užitečná fixní délka typu v seznamu? Seznam by tuto vlastnost nijak nevyužil.
Pro typovou kontrolu operací pracujících s délkou, třeba append. Je to prostě silnější typová kontrola při překladu.

Co když potřebuji mít v seznamu položky různého typu a s rozdílnou délkou?
Pak to chce typovou třídu. Nijak to ale nesouvisí se zahrnutím velikosti kolekce přímo do typu.

Kit

Re:Co si myslíte o OOP?
« Odpověď #1032 kdy: 17. 01. 2019, 18:58:34 »
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ž.
Fixní délka v typu může být užitečná. I když asi spíše u seznamu než řetězce.
K čemu může být užitečná fixní délka typu v seznamu? Seznam by tuto vlastnost nijak nevyužil.
Pro typovou kontrolu operací pracujících s délkou, třeba append. Je to prostě silnější typová kontrola při překladu.
Co když potřebuji mít v seznamu položky různého typu a s rozdílnou délkou?
Pak to chce typovou třídu. Nijak to ale nesouvisí se zahrnutím velikosti kolekce přímo do typu.

K čemu by mi byla typová třída, když mi plně vyhovuje rozhraní? A tu kolekci chci mít nafukovací, takže její fixní velikost by mi byla také k ničemu.

Re:Co si myslíte o OOP?
« Odpověď #1033 kdy: 17. 01. 2019, 19:11:27 »
Jo, kontinuace je monáda  :D
To sice jo, ale asi to nikomu úplně neobjasní, co to kontinuace je, páč monáda je beztak při troše vůle skoro všechno ;)

BTW, Balde*, recence na tu The Little Typer mě oslovily, tak jsem neodolal a koupil si to. Formát je teda silně neortodoxní, snad se to bude dobře číst :) Dík za tip!

* a vůbec, neměň si furt ty nicky - a navíc tak blbě, kdo má pořád přemýšlet, jak od těch tvých úletů vytvořit vokativ!

[...] je suffix takovyho logu skutecne kontinuace. [...] je kontinuace rovna tomu zasobniku.
Sorry, ale obraty "log je kontinuace" a "kontinuace je rovna zásobníku" jsou mi teda úplně nesrozumitelný :)

(Ne že bys to musel vysvětlovat ausgerechnet mně, ale docela pochybuju, žes tím příspěvkem někomu něco srozumitelnýho sdělil :) To jenom tak zpětná vazba pro tebe )

JS

Re:Co si myslíte o OOP?
« Odpověď #1034 kdy: 17. 01. 2019, 19:16:06 »
Pak to chce typovou třídu. Nijak to ale nesouvisí se zahrnutím velikosti kolekce přímo do typu.

K čemu by mi byla typová třída, když mi plně vyhovuje rozhraní? A tu kolekci chci mít nafukovací, takže její fixní velikost by mi byla také k ničemu.

::) Typova trida je v podstate rozhrani, akorat o neco lepsi.

Jinak BaldSlatterovi - premyslel jsem nad tim a uznavam, ze mas pravdu o tom simply-typed lambda kalkulu. Asi to brzo vyzkousim v praxi, protoze se chystam napsat si prekladac totalniho funkcionalniho jazyka, ktery bude mit STLC jako typovy system.