Dědičnost dnes

SB

Re:Dědičnost dnes
« Odpověď #465 kdy: 27. 01. 2017, 13:39:52 »
Myslim, ze by ti asi prospelo se to FP trochu naucit (treba Haskell), pak by jsi asi pochopil, odkud pan Armstrong prichazi (ja s nim celkem souhlasim). A take asi zjistil, jak jsou tve rychle usudky naivni. ;-)
...

Haskell, v pořádku. Každopádně já argumenty přiložil, pan Armstrong spíš spekulace a dojmy. Ale nakonec proč ne, jako já nerozumím FP, on nerozumí OOP.


SB

Re:Dědičnost dnes
« Odpověď #466 kdy: 27. 01. 2017, 13:42:04 »
...A take asi zjistil, jak jsou tve rychle usudky naivni. ;-) ...

Jo, a na ty rychlé úsudky pozor, čistému OP se věnuju mnoho let.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #467 kdy: 27. 01. 2017, 13:51:17 »
...A take asi zjistil, jak jsou tve rychle usudky naivni. ;-) ...

Jo, a na ty rychlé úsudky pozor, čistému OP se věnuju mnoho let.
"Čisté" OOP je tak trochu iluze, ne? Aspoň v praxi...

balki

Re:Dědičnost dnes
« Odpověď #468 kdy: 27. 01. 2017, 14:12:06 »
...A take asi zjistil, jak jsou tve rychle usudky naivni. ;-) ...

Jo, a na ty rychlé úsudky pozor, čistému OP se věnuju mnoho let.
"Čisté" OOP je tak trochu iluze, ne? Aspoň v praxi...

OOP je multiparadigmove zo svojej podstaty.

ava

Re:Dědičnost dnes
« Odpověď #469 kdy: 27. 01. 2017, 14:13:40 »
...A take asi zjistil, jak jsou tve rychle usudky naivni. ;-) ...

Jo, a na ty rychlé úsudky pozor, čistému OP se věnuju mnoho let.
"Čisté" OOP je tak trochu iluze, ne? Aspoň v praxi...

Podle mě je Smalltalk čistý OOP jazyk, a v praxi se používá velice příjemně.


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #470 kdy: 27. 01. 2017, 14:18:37 »
...A take asi zjistil, jak jsou tve rychle usudky naivni. ;-) ...

Jo, a na ty rychlé úsudky pozor, čistému OP se věnuju mnoho let.
"Čisté" OOP je tak trochu iluze, ne? Aspoň v praxi...

Podle mě je Smalltalk čistý OOP jazyk, a v praxi se používá velice příjemně.
Souhlas, ale není to mainstream. Moje chyba, napsal jsem to blbě, měl jsem na mysli, že se v "čisté" podobě nevyskytuje v mainstreamu. V ObjC je hezké předávání zpráv, ale zase má primitivní typy (protože to je trošku rozšířené C), Swift není dynamický a vlastně mě z těch "velkých" jazyků nenapadá žádný, co by byl (ve smyslu OOP).

gll

Re:Dědičnost dnes
« Odpověď #471 kdy: 27. 01. 2017, 14:22:08 »
Souhlas, ale není to mainstream. Moje chyba, napsal jsem to blbě, měl jsem na mysli, že se v "čisté" podobě nevyskytuje v mainstreamu. V ObjC je hezké předávání zpráv, ale zase má primitivní typy (protože to je trošku rozšířené C), Swift není dynamický a vlastně mě z těch "velkých" jazyků nenapadá žádný, co by byl (ve smyslu OOP).

v pythonu, javascriptu a ruby je vše objekt. Znamená to, že tam nejsou primitivní typy?

balki

Re:Dědičnost dnes
« Odpověď #472 kdy: 27. 01. 2017, 14:27:28 »
...A take asi zjistil, jak jsou tve rychle usudky naivni. ;-) ...

Jo, a na ty rychlé úsudky pozor, čistému OP se věnuju mnoho let.
"Čisté" OOP je tak trochu iluze, ne? Aspoň v praxi...

Podle mě je Smalltalk čistý OOP jazyk, a v praxi se používá velice příjemně.
Souhlas, ale není to mainstream. Moje chyba, napsal jsem to blbě, měl jsem na mysli, že se v "čisté" podobě nevyskytuje v mainstreamu. V ObjC je hezké předávání zpráv, ale zase má primitivní typy (protože to je trošku rozšířené C), Swift není dynamický a vlastně mě z těch "velkých" jazyků nenapadá žádný, co by byl (ve smyslu OOP).

Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

ava

Re:Dědičnost dnes
« Odpověď #473 kdy: 27. 01. 2017, 14:41:54 »
Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

Ty to schytáš :) Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #474 kdy: 27. 01. 2017, 14:44:43 »
...
v pythonu, javascriptu a ruby je vše objekt. Znamená to, že tam nejsou primitivní typy?

V JavaScriptu vse objekt neni, ma primitivni typy (akorat se s nim programator skoro nesetkava, protoze probiha "auto-boxing").

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #475 kdy: 27. 01. 2017, 14:53:32 »
Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

Ty to schytáš :) Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)
Čekal jsem, kdo na tu krávovinu zareaguje :)

balki

Re:Dědičnost dnes
« Odpověď #476 kdy: 27. 01. 2017, 15:04:29 »
Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

Ty to schytáš :) Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)
Čekal jsem, kdo na tu krávovinu zareaguje :)

Ok, berem spat, v smalltalku sa selectory, ekvivalenty metod nepouzivaju. Ani objekty sa nepredavaju cez selectory ako "spravy".  Ono v tom smalltalku proste je to cele magicke a objekty sa rozpravaju recou starych kuzelnikov.

ava

Re:Dědičnost dnes
« Odpověď #477 kdy: 27. 01. 2017, 15:37:33 »
Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

Ty to schytáš :) Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)
Čekal jsem, kdo na tu krávovinu zareaguje :)

Ok, berem spat, v smalltalku sa selectory, ekvivalenty metod nepouzivaju. Ani objekty sa nepredavaju cez selectory ako "spravy".  Ono v tom smalltalku proste je to cele magicke a objekty sa rozpravaju recou starych kuzelnikov.

Ty si nedáš říci .. no tak mi naprogramuj následující tři prográmky (ve smalltalku téměř one-linery) v C++:

1) Zeptej se uživatele na string, a pošli objektu Foo zprávu (nebo v C++ terminologii zavolej na objektu Foo metodu), která se jmenuje stejně jako zadaný String. Vypiš uživateli výsledek volání, pokud Foo danou metodu nemá, vypiš uživateli, že to neumí..

2) Za běhu zjisti, jaké zprávy Foo umí přijímat

3) Stejně jako 1, ale pokud Foo zprávu neumí, za běhu přidej implementaci, která vrátí String "Jsem tu nová", a opakuj volání zprávy na Foo

4) (to už se netýká zpráv, ale jen tak pro zajímavost): Za běhu zjisti, jaké třídy je Foo instance, a jaké další podtřídy tato třída má.

Pod řešení mi můžeš napsat, že zprávy v C++ a ve Smalltalku jsou to same.

balki

Re:Dědičnost dnes
« Odpověď #478 kdy: 27. 01. 2017, 15:54:24 »
Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

Ty to schytáš :) Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)
Čekal jsem, kdo na tu krávovinu zareaguje :)

Ok, berem spat, v smalltalku sa selectory, ekvivalenty metod nepouzivaju. Ani objekty sa nepredavaju cez selectory ako "spravy".  Ono v tom smalltalku proste je to cele magicke a objekty sa rozpravaju recou starych kuzelnikov.

Ty si nedáš říci .. no tak mi naprogramuj následující tři prográmky (ve smalltalku téměř one-linery) v C++:

1) Zeptej se uživatele na string, a pošli objektu Foo zprávu (nebo v C++ terminologii zavolej na objektu Foo metodu), která se jmenuje stejně jako zadaný String. Vypiš uživateli výsledek volání, pokud Foo danou metodu nemá, vypiš uživateli, že to neumí..

2) Za běhu zjisti, jaké zprávy Foo umí přijímat

3) Stejně jako 1, ale pokud Foo zprávu neumí, za běhu přidej implementaci, která vrátí String "Jsem tu nová", a opakuj volání zprávy na Foo

4) (to už se netýká zpráv, ale jen tak pro zajímavost): Za běhu zjisti, jaké třídy je Foo instance, a jaké další podtřídy tato třída má.

Pod řešení mi můžeš napsat, že zprávy v C++ a ve Smalltalku jsou to same.

To je uz ina vec, ze c++ nema tolke moznosti reflexie a nie je dynamicky typovany. Skratka stale zahmlievate fakt, ze posielanie messagov je analogia k volaniu metod. Pokial si spominam, neexistujuci selector je tiez len dalsi pripad selectoru.  Takze nie je potrebne to ponimat ako magiu.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #479 kdy: 27. 01. 2017, 16:00:27 »
Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory.  Inac povedane volanie metod s parametrami.  Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .

Ty to schytáš :) Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)
Čekal jsem, kdo na tu krávovinu zareaguje :)

Ok, berem spat, v smalltalku sa selectory, ekvivalenty metod nepouzivaju. Ani objekty sa nepredavaju cez selectory ako "spravy".  Ono v tom smalltalku proste je to cele magicke a objekty sa rozpravaju recou starych kuzelnikov.

Ty si nedáš říci .. no tak mi naprogramuj následující tři prográmky (ve smalltalku téměř one-linery) v C++:

1) Zeptej se uživatele na string, a pošli objektu Foo zprávu (nebo v C++ terminologii zavolej na objektu Foo metodu), která se jmenuje stejně jako zadaný String. Vypiš uživateli výsledek volání, pokud Foo danou metodu nemá, vypiš uživateli, že to neumí..

2) Za běhu zjisti, jaké zprávy Foo umí přijímat

3) Stejně jako 1, ale pokud Foo zprávu neumí, za běhu přidej implementaci, která vrátí String "Jsem tu nová", a opakuj volání zprávy na Foo

4) (to už se netýká zpráv, ale jen tak pro zajímavost): Za běhu zjisti, jaké třídy je Foo instance, a jaké další podtřídy tato třída má.

Pod řešení mi můžeš napsat, že zprávy v C++ a ve Smalltalku jsou to same.
Jde o jednoho z místních trolů, takže bych radil nereagovat.