Zdroje k rozvoji OOP myšlení

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Zdroje k rozvoji OOP myšlení
« Odpověď #165 kdy: 01. 04. 2017, 07:06:57 »
Chapu, ze ten Kay muze byt pro nekoho pomalejsi, ale veci, o kterych mluvi jsou rozhodne zajimave. Mel i nejakou prednasku pro netrpelive studenty, tak mozna ta se vam bude libit vice - byla o neco kratsi a hral si tam s auticky ;).

Treba toto:


Cervene kolecko je Java, C#, PHP (ok, to je mozna trochu vyse) atd. Znazornuje to, jak "zaostale" se vyviji bezne komercni projekty. Firmy nejsou schopny dat par susnu (pro ne, realne tisice/miliony $) a radeji zustavaji u toho "co je zajete a nejak funguje" nez by se zkusili pousnout vice dal.

Nyni se posouvaji velice pomalu, napr. pronikani FP do mainstream jazyku. On mluvi o trochu agresivnejsim pohybu kupredu, ktery ale korporaty slysici pouze na "penize co nejdriv" maji problem videt (za par let, co tyto projekty casto zaberou, tam ani to vedeni, co by je zadalo, uz ani nebylo, takze proc je zadavat?).

Kdyz se podivam na Akka, prestoze to neni uplne to, co si on predstavuje (je to napul cesty), tak i presto dosahuje skvelych vysledku - kdyz se jednou clovek v tom nauci myslet a vyvijet, tak skalovani a odolnost je "zadarmo", je proste soucasti toho, jak se ma v Akka vyvijet a jak je Akka postavena. Zadne problemy a horory se zamky, vlakny, rucnim resenim toho, co delat kdyz padne par nodu atp.


Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #166 kdy: 01. 04. 2017, 07:28:37 »
A já to říkám pořád... OOP je především dobré pro práci s daty, v některých případech to dává smysl i jinde, ale pokud chce mít někdo jako objekt úplně všechno a tvoří v tom i lineární aplikace, nedává to smysl. Je to neefektivní a kód to zesložiťuje.

Mám opačnou zkušenost: OOP mi aplikace zkracuje a zefektivňuje. Hlavně mi zlepšuje přehled o tom, kde mám kterou část kódu. Když se mi změní zadání, tak většinou stačí vyměnit nějakou třídu za novou a jede se dál.

javaman ()

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #167 kdy: 01. 04. 2017, 08:49:03 »
Cervene kolecko je Java, C#, PHP (ok, to je mozna trochu vyse) atd. Znazornuje to, jak "zaostale" se vyviji bezne komercni projekty. Firmy nejsou schopny dat par susnu (pro ne, realne tisice/miliony $) a radeji zustavaji u toho "co je zajete a nejak funguje" nez by se zkusili pousnout vice dal.

Dík za info.

OK, vyvíjejí zaostale podle něj. A co je řešením? Podle mě Java zaostalá vůbec není a nevím, co jiného bych doporučil. Takže jak se chceš posunout? Co mně a těm firmám uniká a máme začít hned používat?

A já to říkám pořád... OOP je především dobré pro práci s daty, v některých případech to dává smysl i jinde, ale pokud chce mít někdo jako objekt úplně všechno a tvoří v tom i lineární aplikace, nedává to smysl. Je to neefektivní a kód to zesložiťuje.

Mám opačnou zkušenost: OOP mi aplikace zkracuje a zefektivňuje. Hlavně mi zlepšuje přehled o tom, kde mám kterou část kódu. Když se mi změní zadání, tak většinou stačí vyměnit nějakou třídu za novou a jede se dál.

Přesně tak, od toho OOP také je.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Zdroje k rozvoji OOP myšlení
« Odpověď #168 kdy: 01. 04. 2017, 09:34:56 »
OK, vyvíjejí zaostale podle něj. A co je řešením? Podle mě Java zaostalá vůbec není a nevím, co jiného bych doporučil. Takže jak se chceš posunout? Co mně a těm firmám uniká a máme začít hned používat?

Jsem to psal v tom prispevku:

... Firmy nejsou schopny dat par susnu (pro ne, realne tisice/miliony $) a radeji zustavaji u toho "co je zajete a nejak funguje" nez by se zkusili pousnout vice dal.

Nyni se posouvaji velice pomalu, napr. pronikani FP do mainstream jazyku. On mluvi o trochu agresivnejsim pohybu kupredu, ktery ale korporaty slysici pouze na "penize co nejdriv" maji problem videt (za par let, co tyto projekty casto zaberou, tam ani to vedeni, co by je zadalo, uz ani nebylo, takze proc je zadavat?).

Zadny vselek, do ktereho korporaty nezainvestuji neni. Zadne instantni reseni pripravene na komercni vyvoj neni (ve Smalltalku se myslim obcas komercne vyviji, ale je to dost okrajove).

Java, prestoze ji take obcas pouzivam a JVM se mi libi, bohuzel zaostala ve srovnani s ostanimi jazyky zcela jiste je. Treba Scala je mnohem dale (ne, ani Java 8 s tezkopadnymi konstrukcemi se Scale neblizi). Podobne Haskell, ve kterem casto postaci par radek na vyjadreni ekvivaletniho algoritmu jako v Jave na desitky ci stovky. Ale ten zase nemuze Jave konkurovat toolingem, knihovnami atd., takze na obecne enterprise veci IMO neni vhodny. Nic z toho neni "prave OOP", jen je blize spodku grafu, tj. vyzaduje mene radek na vyreseni stejnych problemu (pomijim neexistujici/slabe knihovny). Jednoduse to ma lepsi abstrakce, nez treba ta Java, takze vyjadreni reseni je podstatne kratsi. On samozrejmne chce jako ten dalsi krok "prave OOP", ktere spravne pouzite muze podstatne zjednodusit reseni problemu a na extremni paralelismus, ktery je nyni aktualnim smerem v hw, je jako stvorene.

javaman ()

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #169 kdy: 01. 04. 2017, 14:17:47 »
Tak existuje něco? Pokud ne, tak nevím, co řešíme. Máš hromadu OSS, takže není třeba investovat. Nebo jak je to myšleno?

Jak je zaostalá? Jak může být Scala mnohem dále a v čem?

Haskell musí být vtip. To je sranda jazyk na hraní, ale Javě se to nemůže rovnat vůbec v ničem. Píšeš, že nástroje nejsou moc dobré. To i neschopný Python má lepší nástroje. Takže z hlediska nástrojů je to jazyk tak na domácí hraní. Z hlediska jazyka není zase dost dobře otestovaný v praxi a může mít hromadu problémů.

Spodek grafu evidentně nikoho nezajímá, protože síla Javy je v tom, že i bez komentářů se skvěle čte. Asi bych nerad měl cool konstrukce na dva řádky, které bych luštil půl hodiny.

Lepší abstrakce je cool na honění trika, ale evidentně to nikdo nechce.

On chce jeho OOP, které nechce nikdo jiný. Takže je otázkou, jestli má smysl řešit jeho názory, které jsou možná mimo a nebo brát reálná fakta.

Extrémní paralelismus možná sedí HW, ale tebe nikdy nezajímá HW, ale požadavky. Takže pokud pro to nemáš využití, stejně máš smůlu.


Polymath

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #170 kdy: 01. 04. 2017, 14:31:15 »
OK, vyvíjejí zaostale podle něj. A co je řešením? Podle mě Java zaostalá vůbec není a nevím, co jiného bych doporučil. Takže jak se chceš posunout? Co mně a těm firmám uniká a máme začít hned používat?

Jsem to psal v tom prispevku:

... Firmy nejsou schopny dat par susnu (pro ne, realne tisice/miliony $) a radeji zustavaji u toho "co je zajete a nejak funguje" nez by se zkusili pousnout vice dal.

Nyni se posouvaji velice pomalu, napr. pronikani FP do mainstream jazyku. On mluvi o trochu agresivnejsim pohybu kupredu, ktery ale korporaty slysici pouze na "penize co nejdriv" maji problem videt (za par let, co tyto projekty casto zaberou, tam ani to vedeni, co by je zadalo, uz ani nebylo, takze proc je zadavat?).

Zadny vselek, do ktereho korporaty nezainvestuji neni. Zadne instantni reseni pripravene na komercni vyvoj neni (ve Smalltalku se myslim obcas komercne vyviji, ale je to dost okrajove).

Java, prestoze ji take obcas pouzivam a JVM se mi libi, bohuzel zaostala ve srovnani s ostanimi jazyky zcela jiste je. Treba Scala je mnohem dale (ne, ani Java 8 s tezkopadnymi konstrukcemi se Scale neblizi). Podobne Haskell, ve kterem casto postaci par radek na vyjadreni ekvivaletniho algoritmu jako v Jave na desitky ci stovky. Ale ten zase nemuze Jave konkurovat toolingem, knihovnami atd., takze na obecne enterprise veci IMO neni vhodny. Nic z toho neni "prave OOP", jen je blize spodku grafu, tj. vyzaduje mene radek na vyreseni stejnych problemu (pomijim neexistujici/slabe knihovny). Jednoduse to ma lepsi abstrakce, nez treba ta Java, takze vyjadreni reseni je podstatne kratsi. On samozrejmne chce jako ten dalsi krok "prave OOP", ktere spravne pouzite muze podstatne zjednodusit reseni problemu a na extremni paralelismus, ktery je nyni aktualnim smerem v hw, je jako stvorene.
Jenže pravé OOP tu už bylo. Trend je teď osekané OOP ve stylu Go (které je úspěšné ale spíše díky kvalitní implementaci, ne paradigmatu). Javu by zachránilo, kdyby z ní udělali něco jako C++/CLI v pure režimu, jinak zůstane stejně zaostalá jako dnes. Nicméně trend je takový, že na Javu Oracle s**e.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Zdroje k rozvoji OOP myšlení
« Odpověď #171 kdy: 01. 04. 2017, 14:40:07 »
Pokud by Java nemela za sebou prachy, tak je taky na urovni toolingu ala Haskell. Java na me pusobi, jak ten jazyk pro lopaty, protoze i triviality se rozepisuji na nekolik radek jako pohadka, spoustu veci musi programator vysvetlovat na nekolikrat. Ani Scala v tomto ohledu neni dokonala, ale je na tom o dost lepe a taky se v ni daji delat a delaji komercni veci. Pokud chcete priklad, kam se ubirat, tak se podivejte na type inferenci v Haskellu, to je trosku jina liga - tam se totiz pisi typy pro programatora, prekladac je nema problem odvodit sam ;D.

Mam pocit, ze v tom videu rikal, co vsechno s trochou penez udelali - treba GUI a OOP. Ale v ramci OSS, kde na tom dela po vecerech par nadsencu nemuzes prijit treba s dobrym IDE pro Haskell na urovni IntelliJ pro Javu. Proste je to ted na mrtvem bode, jak pises sam: neni nic "lepsiho" (= stabilniho s dobrym toolingem, spoustou odladenych knihoven, komunitou atd) -> nebudeme nic lepsiho zkouset udelat (byt by to stalo pro korporaty drobaky) -> nic nedelame, tak nic "lepsiho" nemame.

javaman ()

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #172 kdy: 01. 04. 2017, 15:29:25 »
Trend OOP je pořád Java, jen zboj má vlastní svět ;D

Prachy se najdou, pokud je něco dobré. Spíše to otáčíš. Pokud by Haskell nebyla jen hračka, tak už v ní někdo vyvíjí a nástroje podpoří.

Pro lopaty to asi jazyk nebude, když se v tom dělají nejnáročnější věci, které bys neměl šanci s ničím jiným dělat.

Typy jsou vždy hlavně pro programátora a překladač mě nezajímá. Takže žádná výhoda Haskellu.

OSS není o nadšencích. Nebo je třeba Redhat pár nadšenců? Zajímavý, že oni mají docela zajímavé věci. Asi mají po večerech dost času :D

Není co lepšího zkusit, protože je Java králem. Takže co doporučuješ na náročný vývoj?

Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #173 kdy: 01. 04. 2017, 15:41:11 »
Java na me pusobi, jak ten jazyk pro lopaty, protoze i triviality se rozepisuji na nekolik radek jako pohadka, spoustu veci musi programator vysvetlovat na nekolikrat.

Tak tohle by mě zajímalo:
- Jaké triviality se musí v Javě rozepisovat na několik řádek?
- Které věci musí programátor vysvětlovat Javě několikrát?

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #174 kdy: 01. 04. 2017, 15:48:48 »
Java na me pusobi, jak ten jazyk pro lopaty, protoze i triviality se rozepisuji na nekolik radek jako pohadka, spoustu veci musi programator vysvetlovat na nekolikrat.

Tak tohle by mě zajímalo:
- Jaké triviality se musí v Javě rozepisovat na několik řádek?
- Které věci musí programátor vysvětlovat Javě několikrát?

Trebas typy. I s <> mas porad veci, kde by ti typova inference omezila duplicity.

Na nekolik radek mas trebas klasickou javabeanu. Ve Scale (Haskellu...) mas podobne konstrukce vicemene zadarmo.

JS

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #175 kdy: 01. 04. 2017, 16:46:28 »
Na nekolik radek mas trebas klasickou javabeanu. Ve Scale (Haskellu...) mas podobne konstrukce vicemene zadarmo.

A to jsi ani nemusel zminovat deriving..

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #176 kdy: 01. 04. 2017, 16:49:43 »
Na nekolik radek mas trebas klasickou javabeanu. Ve Scale (Haskellu...) mas podobne konstrukce vicemene zadarmo.

A to jsi ani nemusel zminovat deriving..

Hledal jsem nejake intelektualne minimalni protipriklady ;)

fedorac

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #177 kdy: 01. 04. 2017, 17:06:25 »
Blog napsany v r.2001 (pred 16 lety) o vyvoji z r.1995 (pred 22 lety) mnohe napovi.

http://www.paulgraham.com/avg.html


javaman ()

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #178 kdy: 01. 04. 2017, 17:17:40 »
To platilo možná tenkrát, ale tenkrát byl vývoj dost o ničem. Dnes je vše jinak. Takže z toho všeho plyne, že jen většina lidí neumí vyvíjet a věří něčemu, co neexistuje. Ale určitě je to super, jen se to nikde nepoužívá ;D Vás všechny bych chtěl v týmu...

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #179 kdy: 01. 04. 2017, 17:21:21 »
To platilo možná tenkrát, ale tenkrát byl vývoj dost o ničem. Dnes je vše jinak. Takže z toho všeho plyne, že jen většina lidí neumí vyvíjet a věří něčemu, co neexistuje. Ale určitě je to super, jen se to nikde nepoužívá ;D Vás všechny bych chtěl v týmu...

No my tebe ne...