Zdroje k rozvoji OOP myšlení

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Zdroje k rozvoji OOP myšlení
« Odpověď #240 kdy: 03. 04. 2017, 22:26:48 »
No a?

tím side-efektem jsi myslel změnu $_, nebo print? Print je tam nepodstatný, šlo ukázku použití $_ k ukládání mezivýsledků.

Tím side-efektem jsem myslel print. Zbytku nerozumím. Ve skutečnosti tam $_ ani nikde nevidím. Ale to je otázky mé neznalosti konkrétního jazyka. Takže asi nějaký lepší příklad.


Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #241 kdy: 03. 04. 2017, 22:30:11 »
... Mnohem důležitější je efektivita a výkon, což je k výše uvedenému ortogonální.

Tohle je dnes oblíbený FUD. Pravé OOP je efektivní a výkonné, jen si toho někteří vývojáři nestačili všimnout.

Polymath

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #242 kdy: 03. 04. 2017, 22:42:02 »
... Mnohem důležitější je efektivita a výkon, což je k výše uvedenému ortogonální.

Tohle je dnes oblíbený FUD. Pravé OOP je efektivní a výkonné, jen si toho někteří vývojáři nestačili všimnout.
Pravé OOP používá na dispatch selektory, což extra výkon vylučuje. Stačí se podívat na algoritmy cachování dispatche.

Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #243 kdy: 03. 04. 2017, 22:58:41 »
... Mnohem důležitější je efektivita a výkon, což je k výše uvedenému ortogonální.

Tohle je dnes oblíbený FUD. Pravé OOP je efektivní a výkonné, jen si toho někteří vývojáři nestačili všimnout.
Pravé OOP používá na dispatch selektory, což extra výkon vylučuje. Stačí se podívat na algoritmy cachování dispatche.

Stačí nepoužívat veřejné *ettery a ztráta výkonu se stane nepodstanou. Také privátní atributy mají menší režii, než protected a public. Lokální proměnné mají nižší režii, než zmíněné privátní atributy. Když se to dá dokupy, vznikne z toho hezký a efektivní kód.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Zdroje k rozvoji OOP myšlení
« Odpověď #244 kdy: 03. 04. 2017, 23:02:56 »
Stačí nepoužívat veřejné *ettery a ztráta výkonu se stane nepodstanou. Také privátní atributy mají menší režii, než protected a public. Lokální proměnné mají nižší režii, než zmíněné privátní atributy. Když se to dá dokupy, vznikne z toho hezký a efektivní kód.
Uff!


Polymath

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #245 kdy: 03. 04. 2017, 23:06:38 »
... Mnohem důležitější je efektivita a výkon, což je k výše uvedenému ortogonální.

Tohle je dnes oblíbený FUD. Pravé OOP je efektivní a výkonné, jen si toho někteří vývojáři nestačili všimnout.
Pravé OOP používá na dispatch selektory, což extra výkon vylučuje. Stačí se podívat na algoritmy cachování dispatche.

Stačí nepoužívat veřejné *ettery a ztráta výkonu se stane nepodstanou. Také privátní atributy mají menší režii, než protected a public. Lokální proměnné mají nižší režii, než zmíněné privátní atributy. Když se to dá dokupy, vznikne z toho hezký a efektivní kód.
Když se to dá dohromady, vznikne buď špagetoid nebo FP, což je buď moc špatně nebo moc dobře, ale už to nebude moc OOP. Příkladem budiž ObJC 2.0 nebo JavaScript, kde se dá pomocí bloků buď funkcionálně vylepšit kód, nebo vytvořit pejskokočičí monstrum.

No name

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #246 kdy: 03. 04. 2017, 23:07:29 »
http://lucacardelli.name/TheoryOfObjects.html

Vždyť je tam jen obsah a rejstřík. Navíc je to podle obsahu spíš zaměřeno na C#, který mě vůbec nezajímá. Tady se snažíme dopátrat "toho pravého OOP".

Pravé OOP je dynamický shit, který se nepoužívá, protože je to shit. Používá se luxusní Java OOP, které se hodí na většinu běžných věcí. Nechápu, co za architekturu by člověk musel vymyslet, aby to s Javou nezvládl a hodilo se mu něco jiného.

Vy dva tu reprezentujete nějaký syndikát idiotů?

 ;D  ;D ;D
Asi tak...  ;) Přesněji řečeno, u javamana je to nějaká psychická diagnóza, nejspíš kompenzace vlastního komplexu méněcennosti. Je tu celkem známým kašpárkem a nejlepší je mu neodporovat, jak se to doporučuje u všech psychicky labilních jedinců. Prakticky všechno co tu plácá můžeš bez jakýchkoli obav přesměrovat do /dev/null .

Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #247 kdy: 03. 04. 2017, 23:28:14 »
Stačí nepoužívat veřejné *ettery a ztráta výkonu se stane nepodstanou. Také privátní atributy mají menší režii, než protected a public. Lokální proměnné mají nižší režii, než zmíněné privátní atributy. Když se to dá dokupy, vznikne z toho hezký a efektivní kód.
Když se to dá dohromady, vznikne buď špagetoid nebo FP, což je buď moc špatně nebo moc dobře, ale už to nebude moc OOP. Příkladem budiž ObJC 2.0 nebo JavaScript, kde se dá pomocí bloků buď funkcionálně vylepšit kód, nebo vytvořit pejskokočičí monstrum.

Zajímavá dedukce. Špagety mám rád jen na talíři a do FP to má daleko. Takže ani jedno, ani druhé, ale OOP.

Polymath

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #248 kdy: 03. 04. 2017, 23:34:10 »
Stačí nepoužívat veřejné *ettery a ztráta výkonu se stane nepodstanou. Také privátní atributy mají menší režii, než protected a public. Lokální proměnné mají nižší režii, než zmíněné privátní atributy. Když se to dá dokupy, vznikne z toho hezký a efektivní kód.
Když se to dá dohromady, vznikne buď špagetoid nebo FP, což je buď moc špatně nebo moc dobře, ale už to nebude moc OOP. Příkladem budiž ObJC 2.0 nebo JavaScript, kde se dá pomocí bloků buď funkcionálně vylepšit kód, nebo vytvořit pejskokočičí monstrum.

Zajímavá dedukce. Špagety mám rád jen na talíři a do FP to má daleko. Takže ani jedno, ani druhé, ale OOP.
Beru, že máš svou definici OOP. No problem

javaman ()

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #249 kdy: 03. 04. 2017, 23:41:07 »
Jestli si myslíš, že si po přečtení toho nevalného obsahu půjdu tu mizernou knihu koupit, tak jsi na omylu. To si raději znovu přečtu knihu od Bruce Eckela: Thinking in Java, která je skvělá hlavně díky kvalitnímu OOP.

Stačí nepoužívat veřejné *ettery a ztráta výkonu se stane nepodstanou. Také privátní atributy mají menší režii, než protected a public. Lokální proměnné mají nižší režii, než zmíněné privátní atributy. Když se to dá dokupy, vznikne z toho hezký a efektivní kód.
Když se to dá dohromady, vznikne buď špagetoid nebo FP, což je buď moc špatně nebo moc dobře, ale už to nebude moc OOP. Příkladem budiž ObJC 2.0 nebo JavaScript, kde se dá pomocí bloků buď funkcionálně vylepšit kód, nebo vytvořit pejskokočičí monstrum.

Zajímavá dedukce. Špagety mám rád jen na talíři a do FP to má daleko. Takže ani jedno, ani druhé, ale OOP.

+1

Zboj zase perlí. Tady má ale volné pole působnosti, protože většina lidí tu neumí vůbec nic. Jeden by dělníky a vývojáře hodil do stejného pytle, další by používal skriptovací jazyk na vše a podobně. Ale zase je to dobré vidět, co dělá konkurence a jestli je třeba se bát.

gll

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #250 kdy: 03. 04. 2017, 23:55:23 »
No a?

tím side-efektem jsi myslel změnu $_, nebo print? Print je tam nepodstatný, šlo ukázku použití $_ k ukládání mezivýsledků.

Tím side-efektem jsem myslel print. Zbytku nerozumím. Ve skutečnosti tam $_ ani nikde nevidím. Ale to je otázky mé neznalosti konkrétního jazyka. Takže asi nějaký lepší příklad.

některé standartní funkce a operace defaultně mění proměnou $_.

Kód: [Vybrat]
while($_ = <STDIN>) {
    chomp $_;
    $_ =~ tr/ /_/;
    $_ =~ s/.*\.txt$/$&.old\n/;
    print $_;
}

je ekvivalentní tomu původnímu.


Polymath

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #251 kdy: 04. 04. 2017, 00:21:21 »
http://lucacardelli.name/TheoryOfObjects.html

Vždyť je tam jen obsah a rejstřík. Navíc je to podle obsahu spíš zaměřeno na C#, který mě vůbec nezajímá. Tady se snažíme dopátrat "toho pravého OOP".

Pravé OOP je dynamický shit, který se nepoužívá, protože je to shit. Používá se luxusní Java OOP, které se hodí na většinu běžných věcí. Nechápu, co za architekturu by člověk musel vymyslet, aby to s Javou nezvládl a hodilo se mu něco jiného.

Vy dva tu reprezentujete nějaký syndikát idiotů?

 ;D  ;D ;D
Asi tak...  ;) Přesněji řečeno, u javamana je to nějaká psychická diagnóza, nejspíš kompenzace vlastního komplexu méněcennosti. Je tu celkem známým kašpárkem a nejlepší je mu neodporovat, jak se to doporučuje u všech psychicky labilních jedinců. Prakticky všechno co tu plácá můžeš bez jakýchkoli obav přesměrovat do /dev/null .
A Kit je javabumboy bez ega :)

Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #252 kdy: 04. 04. 2017, 09:35:34 »
A Kit je javabumboy bez ega :)

A Polymath je imperativec a funkcionalista bez argumentů :)

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #253 kdy: 04. 04. 2017, 09:45:30 »
No a?

tím side-efektem jsi myslel změnu $_, nebo print? Print je tam nepodstatný, šlo ukázku použití $_ k ukládání mezivýsledků.

Tím side-efektem jsem myslel print. Zbytku nerozumím. Ve skutečnosti tam $_ ani nikde nevidím. Ale to je otázky mé neznalosti konkrétního jazyka. Takže asi nějaký lepší příklad.

některé standartní funkce a operace defaultně mění proměnou $_.

Kód: [Vybrat]
while($_ = <STDIN>) {
    chomp $_;
    $_ =~ tr/ /_/;
    $_ =~ s/.*\.txt$/$&.old\n/;
    print $_;
}

je ekvivalentní tomu původnímu.

A k cemu ze to potrebujes ty sideefekty? Vzdyt by v principu to same slo bez pomocnych promenych a bez vedlejsich efektu prostym zretezenim volani nebo nejakou variaci na unixovou rouru...

gll

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #254 kdy: 04. 04. 2017, 10:53:22 »
A k cemu ze to potrebujes ty sideefekty? Vzdyt by v principu to same slo bez pomocnych promenych a bez vedlejsich efektu prostym zretezenim volani nebo nejakou variaci na unixovou rouru...

je to sekvenční kód. Mohu ho krokovat v debuggeru.