Kniha Objektové programování od Čady

SB

Re:Kniha Objektové programování od Čady
« Odpověď #60 kdy: 30. 05. 2017, 10:01:33 »
Otázkou je, jestli se OOP vůbec učit. On je to trochu zvrácený způsob myšlení a ne zrovna dobrý. Myslím si, že funkcionální programávání je mnohem lepší, ikdyž všichni propagují OOP.

Prosímvás, to neřešte, to už se tu řešilo a přišlo se na to, že 1. každý si pod OOP představuje něco jiného, 2. jej skoro nikdo nechápe.

Tazatel se ptal na knihu o OOP, ne na to, co zrovna letí.


SB

Re:Kniha Objektové programování od Čady
« Odpověď #61 kdy: 30. 05. 2017, 10:02:47 »
OOP není vůbec zvrácené. Pro ty, kteří ho zcela nepochopili, bývá často výhodnější FP, neboť v něm nemohou dělat chyby, kterých se dopouštěli v OOP.

Nevím, každopádně by to mnohé vysvětlovalo.

SB

Re:Kniha Objektové programování od Čady
« Odpověď #62 kdy: 30. 05. 2017, 10:09:36 »
Začínat s OOP bez znalosti základních konstrukcí v konkrétním jazyce mi přijde jako kdybyste v matematické analýze přeskočil reálná čísla a začal rovnou metrickými prostory. Když mají "znalci OOP" natvrdo vyřešit nějakou úlohu. Například na hackerrank. Většinou těžce pohoří.

Se studiem jazyků bez studia gramatiky také úplně nesouhlasím. Pouhým používáním se sice naučíte komunikovat, ale nikdy se nezbavíte gramatických chyb. Gramatiku musí studovat i rodilí mluvčí.

Fígl je v tom, že podstata OOP (i jiná paradigmata) jsou soběstačná a nezávislá na jazycích (implementacích). Naopak začít konkrétním jazykem může bých chybou vnucující zkriplení paradigmatu (velmi častý jev).

Naopak přirozený jazyk je implementací myšlenkového či dorozumívacího paradigmatu a bez mluvnice se neobejde.

SB

Re:Kniha Objektové programování od Čady
« Odpověď #63 kdy: 30. 05. 2017, 10:15:05 »
Můžu se jen zeptat, co je na Pecinovského knihách o Javě špatného? Chtěl jsem si ty 2 díly pořídit, ale teď si nejsem jist, zda by to byla dobrá volba.

Mám zkušenost jen s Návrhovými vzory od něj. Kniha je úzce zaměřená na Javu a snaha vyhnout se (jak říká) AHA-příkladům vede na šílené, dlouhé příklady, ve kterých se nějaká myšlenka vzoru ztratí a vy se v nich utopíte. Jak může mít kniha vzorů, což jsou podstatou jednoduché myšlenky, 527 stran?! http://www.databazeknih.cz/knihy/navrhove-vzory-10930?show=binfo

P. S.: Prodám knihu Návrhové vzory od Pecinovského.

JS

Re:Kniha Objektové programování od Čady
« Odpověď #64 kdy: 30. 05. 2017, 10:29:03 »
Prosímvás, to neřešte, to už se tu řešilo a přišlo se na to, že 1. každý si pod OOP představuje něco jiného, 2. jej skoro nikdo nechápe.

Tazatel se ptal na knihu o OOP, ne na to, co zrovna letí.

Souhlasim s tebou, otazka ovsem je, jak pak vubec nekomu doporucit/ohodnotit nejakou knihu o OOP, kdyz plati ty dve tvrzeni.


Re:Kniha Objektové programování od Čady
« Odpověď #65 kdy: 30. 05. 2017, 10:31:50 »
OOP není vůbec zvrácené. Pro ty, kteří ho zcela nepochopili, bývá často výhodnější FP, neboť v něm nemohou dělat chyby, kterých se dopouštěli v OOP.

Nevím, každopádně by to mnohé vysvětlovalo.
Problém je v tom, že OOP programátoři se ani mezi sebou neshodnou, co je chyba a co ne. A to nemluvím o nějakých hlupáčcích, ani špičky v oboru se neshodnou (viz třeba ten zmíněný Virius vs. Čada).

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #66 kdy: 30. 05. 2017, 10:33:37 »
OOP není vůbec zvrácené. Pro ty, kteří ho zcela nepochopili, bývá často výhodnější FP, neboť v něm nemohou dělat chyby, kterých se dopouštěli v OOP.

Nevím, každopádně by to mnohé vysvětlovalo.
Problém je v tom, že OOP programátoři se ani mezi sebou neshodnou, co je chyba a co ne. A to nemluvím o nějakých hlupáčcích, ani špičky v oboru se neshodnou (viz třeba ten zmíněný Virius vs. Čada).
  Čada není špička, ale major.

atarist

Re:Kniha Objektové programování od Čady
« Odpověď #67 kdy: 30. 05. 2017, 10:42:46 »
OOP není vůbec zvrácené. Pro ty, kteří ho zcela nepochopili, bývá často výhodnější FP, neboť v něm nemohou dělat chyby, kterých se dopouštěli v OOP.

Nevím, každopádně by to mnohé vysvětlovalo.
Problém je v tom, že OOP programátoři se ani mezi sebou neshodnou, co je chyba a co ne. A to nemluvím o nějakých hlupáčcích, ani špičky v oboru se neshodnou (viz třeba ten zmíněný Virius vs. Čada).

Jestli máš na mysli tu slavnou debatu o objektové hierarchii čísel (tam to klasicky dospělo, samotného by mě zajímalo, jak to dnes učí), tak tam bylo dost vidět, jak má Virius dost omezený pohled tím, jak je OOP implementováno v C++. On je na C++ hodně dobrej, ale chyběl mu rozhled.

gll

Re:Kniha Objektové programování od Čady
« Odpověď #68 kdy: 30. 05. 2017, 11:17:14 »
Fígl je v tom, že podstata OOP (i jiná paradigmata) jsou soběstačná a nezávislá na jazycích (implementacích). Naopak začít konkrétním jazykem může bých chybou vnucující zkriplení paradigmatu (velmi častý jev).

Naopak přirozený jazyk je implementací myšlenkového či dorozumívacího paradigmatu a bez mluvnice se neobejde.

V každém jazyce se používají jiná paradigmata a jiné best practices. Zobecňovat to podle mě moc nejde. Správné je se přizpůsobit konvencím jazyka. Ne naopak. Učit se zobecnění bez znalosti jednotlivých případů, které zobecňuje, je k ničemu.

Diskuzi o objektovém myšlení celkově moc nechápu. Mě stačí vědět, že fun(obj) je to stejné co obj.fun().

gll

Re:Kniha Objektové programování od Čady
« Odpověď #69 kdy: 30. 05. 2017, 11:21:44 »
Fígl je v tom, že podstata OOP (i jiná paradigmata) jsou soběstačná a nezávislá na jazycích (implementacích). Naopak začít konkrétním jazykem může bých chybou vnucující zkriplení paradigmatu (velmi častý jev).

Naopak přirozený jazyk je implementací myšlenkového či dorozumívacího paradigmatu a bez mluvnice se neobejde.

V každém jazyce se používají jiná paradigmata a jiné best practices. Zobecňovat to podle mě moc nejde. Správné je se přizpůsobit konvencím jazyka. Ne naopak. Učit se zobecnění bez znalosti jednotlivých případů, které zobecňuje, je k ničemu.

Diskuzi o objektovém myšlení celkově moc nechápu. Mě stačí vědět, že fun(obj) je to stejné co obj.fun().

*Mně

Kit

Re:Kniha Objektové programování od Čady
« Odpověď #70 kdy: 30. 05. 2017, 11:34:54 »
Diskuzi o objektovém myšlení celkově moc nechápu. Mě stačí vědět, že fun(obj) je to stejné co obj.fun().

Není to stejné. Funkce fun(obj) se ve většině jazyků přetížit ani překrýt nedá.

SB

Re:Kniha Objektové programování od Čady
« Odpověď #71 kdy: 30. 05. 2017, 11:45:59 »
Koupil jsem si kdysi jeho Návrhové vzory a odložil po dvou stránkách. Styl je infantilní, čekal jsem, kdy si tam udělají kafe.

...a to je další věc, co mi vadila - prostý popis vzorů bych upřednostnil před rozvláčnou formou rozhovorů typu základní škola.

SB

Re:Kniha Objektové programování od Čady
« Odpověď #72 kdy: 30. 05. 2017, 11:50:52 »
...Normálně se k OOP dostaneš asi po 1500-1700 hodinách výuky programování sám od sebe. To znamená cca po 12-18 měsících práce...

Objektáři doporučují začít s OOP místo strukturovaného, imperativního programování, protože je pro začátečníka pochopitelnější (samozřejmě ne v Javě).

... k Template a Generikám v OOP...

Co mají šablony a generické programování společné s OOP?

Kit

Re:Kniha Objektové programování od Čady
« Odpověď #73 kdy: 30. 05. 2017, 12:00:51 »
... k Template a Generikám v OOP...

Co mají šablony a generické programování společné s OOP?

Budu hádat: C++

Kiwi

Re:Kniha Objektové programování od Čady
« Odpověď #74 kdy: 30. 05. 2017, 12:10:15 »
Jestli máš na mysli tu slavnou debatu o objektové hierarchii čísel (tam to klasicky dospělo, samotného by mě zajímalo, jak to dnes učí), tak tam bylo dost vidět, jak má Virius dost omezený pohled tím, jak je OOP implementováno v C++. On je na C++ hodně dobrej, ale chyběl mu rozhled.

Souhlasím. Mimochodem, když si někde obstaráte postupně starší skripta od Viriuse, tak zjistíte, že ještě tak v polovině 90. let v tom OOP velmi solidně plaval.

A ty debaty o hierarchii vejce-slepice nebo u čísel jsou docela úsměvné. Problém OOP je, že v životě se dají tytéž věci klasifikovat různě, záleží na úhlu pohledu a na tom, k čemu to má celé sloužit. Auta můžu hierarchizovat podle barvy, podle velikosti, podle účelu, podle počtu náprav, podle počtu míst, podle užitného nákladu, podle výrobce, podle druhu pohonu... Žádná z nich není ta jediná správná, každá se hodí k něčemu jinému. Ale při návrhu objektového modelu je třeba zvolit takovou, která usnadní implementaci. A která nemusí mít s reálným životem dokonce nic společného - ale za to může odrážet nějaké implementační souvislosti, jako třeba reprezentaci v paměti apod. A to je ten kámen úrazu, protože to je ve skutečnosti poměrně náročný úkol, který když uděláte špatně, tak už se to potáhne navždy celým projektem a nejde s tím nic udělat. U jiných paradigmat, např. strukturovaného, je samozřejmě také nezbytné navrhnout datový model a strukturu procedur, ale řekl bych, že tam to není tak fatální jako u OOP.

Problém je v tom, že OOP programátoři se ani mezi sebou neshodnou, co je chyba a co ne. A to nemluvím o nějakých hlupáčcích, ani špičky v oboru se neshodnou (viz třeba ten zmíněný Virius vs. Čada).
  Čada není špička, ale major.

Možná je magor, ale špička (alespoň v rámci našeho rybníčka) IMHO taky.