Programovanie a modne trendy?

v

Re:Programovanie a modne trendy?
« Odpověď #120 kdy: 31. 08. 2017, 12:31:03 »
Jde-li například o masivní paralelismus s komplikovanými daty, je FP spásou z nebes.
vlastní zkušenost? podělte se


lopata

Re:Programovanie a modne trendy?
« Odpověď #121 kdy: 31. 08. 2017, 12:41:31 »
Výkon je záležitost implementace, ne paradigmatu. V FP už vývoj dost pokročil a efektivitou se blíží běžným OO jazykům.

Ehm to tedy težko: https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=gpp&lang2=ghc

Tak možná za 10 let...

Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #122 kdy: 31. 08. 2017, 13:02:53 »
Jde-li například o masivní paralelismus s komplikovanými daty, je FP spásou z nebes.
vlastní zkušenost? podělte se
Ano, vlastní, zpracování dat z vesmírných dalekohledů, konkrétně systém přenášející (pokud možno, tj. soft) real-time záznamy na koncové terminály. Docel peklo...

v

Re:Programovanie a modne trendy?
« Odpověď #123 kdy: 31. 08. 2017, 13:13:57 »
Jde-li například o masivní paralelismus s komplikovanými daty, je FP spásou z nebes.
vlastní zkušenost? podělte se
Ano, vlastní, zpracování dat z vesmírných dalekohledů, konkrétně systém přenášející (pokud možno, tj. soft) real-time záznamy na koncové terminály. Docel peklo...
super :)
tak místo nějakých analogií o gravitaci rozepište tohle, opravdu rád si to přečtu (už jen z toho důvodu, že mě živí komunikační protokoly)

kemik

Re:Programovanie a modne trendy?
« Odpověď #124 kdy: 31. 08. 2017, 13:58:37 »
Budoucnost je v jazyku C. Vsechny jadra operacnich systemu jsou napsane v cecku, souborove systemy > cecko, drivery > cecko, databaze (oracle) v cecku, ta slavna java virtual machine je napsana v cecku. Vsechny dulezite veci u kterych zalezi na maximalni rychlosti a maximalni stabilite jsou napsane v cecku. Nejpouzivanejsi webovy server na svete (Apache) je napsany v cecku. Takhle bysme mohli pokracovat jeste hodne dlouho.

Nevidim tady zadny modni trend uz 45 let a v pristich 10 letech se to urcite nezmeni. Toto je pohled programatora, samozrejme studentik patlajici webiky a klikaci picovinky muze mit pohled jiny.


Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #125 kdy: 31. 08. 2017, 14:08:06 »
Jde-li například o masivní paralelismus s komplikovanými daty, je FP spásou z nebes.
vlastní zkušenost? podělte se
Ano, vlastní, zpracování dat z vesmírných dalekohledů, konkrétně systém přenášející (pokud možno, tj. soft) real-time záznamy na koncové terminály. Docel peklo...
super :)
tak místo nějakých analogií o gravitaci rozepište tohle, opravdu rád si to přečtu (už jen z toho důvodu, že mě živí komunikační protokoly)
Tak ono to je v podstatě jednoduché, celé to stojí na CSP, funkce jsou bezestavové (něco jako amazoní lambdy) a jede to na jednom jediném serveru (se 64 jádry a 256 GB RAM). Většinu času se server fláká :) Nejsem astrofyzik, tak k vědeckým aspektům se moc vyjadřovat nemůžu :(

Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #126 kdy: 31. 08. 2017, 14:10:29 »
Budoucnost je v jazyku C. Vsechny jadra operacnich systemu jsou napsane v cecku, souborove systemy > cecko, drivery > cecko, databaze (oracle) v cecku, ta slavna java virtual machine je napsana v cecku. Vsechny dulezite veci u kterych zalezi na maximalni rychlosti a maximalni stabilite jsou napsane v cecku. Nejpouzivanejsi webovy server na svete (Apache) je napsany v cecku. Takhle bysme mohli pokracovat jeste hodne dlouho.

Nevidim tady zadny modni trend uz 45 let a v pristich 10 letech se to urcite nezmeni. Toto je pohled programatora, samozrejme studentik patlajici webiky a klikaci picovinky muze mit pohled jiny.
Lunochody na Marsu (marsochody?  ;D) v céčku nejsou  :P

v

Re:Programovanie a modne trendy?
« Odpověď #127 kdy: 31. 08. 2017, 14:21:34 »
Budoucnost je v jazyku C. Vsechny jadra operacnich systemu jsou napsane v cecku, souborove systemy > cecko, drivery > cecko, databaze (oracle) v cecku, ta slavna java virtual machine je napsana v cecku. Vsechny dulezite veci u kterych zalezi na maximalni rychlosti a maximalni stabilite jsou napsane v cecku. Nejpouzivanejsi webovy server na svete (Apache) je napsany v cecku. Takhle bysme mohli pokracovat jeste hodne dlouho.

Nevidim tady zadny modni trend uz 45 let a v pristich 10 letech se to urcite nezmeni. Toto je pohled programatora, samozrejme studentik patlajici webiky a klikaci picovinky muze mit pohled jiny.
Lunochody na Marsu (marsochody?  ;D) v céčku nejsou  :P
asi spíš jsou (vxworks etc)

v

Re:Programovanie a modne trendy?
« Odpověď #128 kdy: 31. 08. 2017, 14:23:27 »
Nejsem astrofyzik, tak k vědeckým aspektům se moc vyjadřovat nemůžu :(
pište o technických aspektech, jazyk (haskell? erlang?), technologie (STM?), architektura (modelování dat, GADT?), organizace procesů, ...

Kit

Re:Programovanie a modne trendy?
« Odpověď #129 kdy: 31. 08. 2017, 19:06:27 »
Ano, tohle je ta obvyklá cool věta, která se říká začátečníkům, aby věděli totéž, co předtím. Nenese totiž žádnou informaci o FP.
Ne, pokud člověk není pitomec, který si potřebuje honit triko, tak začátečníkům říká, že v FP:

1. je funkce (prakticky) totéž co se tím slovem myslí v matematice - je referenčně transparentní
2. data jsou imutabilní

Tohle je mi důvěrně známo z XSLT, ale to na skutečné FP zjevně nestačí.

Na reálném FP mi vadí spíš podivně užíváné namespace, i když například Haskell ho má propracované. Pleonasmy mi prostě vadí. Ekosystém je samozřejmě součástí jazyka a pokud mi nevyhovuje, nemohu používat ve větším rozsahu ani ten jazyk. Na drobné utilitky mi to tolik nevadí, ale když je název funkce na půl řádku, tak je to prostě opruz. Kdo má takovou hatmatilku číst?

Kit

Re:Programovanie a modne trendy?
« Odpověď #130 kdy: 31. 08. 2017, 19:13:48 »
Imutabilní data jsou podle mě (a nikomu to necpu) silnější nástroj než funkce bez sideefectů. Pokud mám jazyk se striktně imutabilními daty, tak mi to přemýšlení nad kódem dramaticky zjednodušší. Pokud mám jazyk bez sideefectů, tak mi to sice pomůže taky, ale zároveň to přinese obrovské množství problémů při řešení praktických věcí, takže ve finále musím přemýšlet zase hodně :)

Imutabilní data se dají bez problémů používat i v OOP - stačí vyházet všechny settery a neměnit vnitřní stavy. Objekty se pak chovají jako virtuální procesory a nemají žádný problém s paralelizací.

Re:Programovanie a modne trendy?
« Odpověď #131 kdy: 31. 08. 2017, 19:46:32 »
to na skutečné FP zjevně nestačí.
Z čeho je to zjevné?

ale když je název funkce na půl řádku, tak je to prostě opruz. Kdo má takovou hatmatilku číst?
Vůbec nevím, co myslíš. Jaké názvy na půl řádku? Proč? Kde?

Ajo, ty myslíš org.springframework.aop.framework.AbstractSingletonProxyFactoryBean! Tak to jo, s tím se dá souhlasit, to se číst nedá ;)

JSH

Re:Programovanie a modne trendy?
« Odpověď #132 kdy: 31. 08. 2017, 19:47:15 »
Imutabilní data jsou podle mě (a nikomu to necpu) silnější nástroj než funkce bez sideefectů. Pokud mám jazyk se striktně imutabilními daty, tak mi to přemýšlení nad kódem dramaticky zjednodušší. Pokud mám jazyk bez sideefectů, tak mi to sice pomůže taky, ale zároveň to přinese obrovské množství problémů při řešení praktických věcí, takže ve finále musím přemýšlet zase hodně :)

Imutabilní data se dají bez problémů používat i v OOP - stačí vyházet všechny settery a neměnit vnitřní stavy. Objekty se pak chovají jako virtuální procesory a nemají žádný problém s paralelizací.
Tady by se myslím dalo dlouze diskutovat o tom, že když udělám z objektů jakési bezstavové kontejnery na funkce, jestli to je vůbec ještě OOP. Rozhodně si takový styl nebude moc rozumět se standardními knihovnami.

Re:Programovanie a modne trendy?
« Odpověď #133 kdy: 31. 08. 2017, 19:47:40 »
Imutabilní data se dají bez problémů používat i v OOP
Což všichni víme a nikdo netvrdil opak, takže úplně nedává smysl to konstatovat :)

Kit

Re:Programovanie a modne trendy?
« Odpověď #134 kdy: 31. 08. 2017, 21:09:07 »
Imutabilní data se dají bez problémů používat i v OOP
Což všichni víme a nikdo netvrdil opak, takže úplně nedává smysl to konstatovat :)

Jsem rád že se mnou souhlasíš, ale mnoho vývojářů se tím vůbec neřídí a naopak tvrdí, že takový objekt nedává smysl.