Má Haskell budoucnost?

Re:Má Haskell budoucnost?
« Odpověď #465 kdy: 17. 09. 2018, 10:02:02 »
Haskell v akademické oblastí začal a nikdy se od ní moc neodloučil.
Coz nemusi byt vubec spatne, pokud to neni jeho primarni ambice. Aneb, trochu se zacyklujes :) https://forum.root.cz/index.php?topic=13225.msg166040#msg166040

Přišel s konceptem lazy evaluation všude a potom 25 let hledá k čemu je to vlastně dobré.
K cemu je to dobre, je jasny. Spis se hledaji (programmer-friendly) zpusoby, jak pri zachovani laziness a purity psat programy s efekty.

Připomíná mi to různé alternativní medicíny. Haskell má taky spoustu nadšených evangelistů tvrdících jak je to nejlepší věc na zeměkouli, ale přitom mu chybí výsledky. Mezitím polofunkcionální jazyky jako Scala dokáží generovat násobně více zájmu a projektů (a samozřejmě peněz).
Zamlceny, ne nutny predpoklad "vysledky = zajem".

Haskell je proste pro Bezneho Frantu Programatora nezvykly, neintuitivni, slozity a obtizne pochopitelny. Cili malo kdo ma nervy na to, aby vubec zjistil, jestli skutecne je nebo neni dobry - ztrati totiz zajem driv, nez se ho nauci dostatecne na to, aby to mohl posoudit. To ale nic nemeni na tom, ze koho programovaci jazyky zajimaji a intelektualne na to ma, ten se ho nauci a inspiraci z nej treba prenese do jinych jazyku. To je samo o sobe imho dobry vysledek - i kdyby mel Haskell jenom hrat roli laboratore, ze ktere se sem tam neco prenese do praktictejsich jazyku typu Elm, Scala, Elixir, Rust, F#..., proc ne?


Wichser

Re:Má Haskell budoucnost?
« Odpověď #466 kdy: 17. 09. 2018, 14:32:12 »
koho programovaci jazyky zajimaji a intelektualne na to ma,
  ::)

Re:Má Haskell budoucnost?
« Odpověď #467 kdy: 17. 09. 2018, 15:39:40 »
koho programovaci jazyky zajimaji a intelektualne na to ma,
  ::)
To je prostě konstatování faktu. Haskell je prostě náročnější než Python nebo Javascript. A je to jeho nevýhoda.

gegi

Re:Má Haskell budoucnost?
« Odpověď #468 kdy: 17. 09. 2018, 16:15:04 »
Pokud jsou ambice Haskellu aby to byl proof of concept jazyk a laboratoř nápadů pro ostatní tak je vše v pořádku. Ale z diskuzí tady na rootu a jinde mi příjde, že je to kouzelná hůlka co každý kód zelegantní a zparalerizuje a jediné co ho drží zpátky jsou cizí pikle a lopaty co tomu nerozumí.

Jinak  představa, že hlavní důvod nerozšířenosti Haskellu je, že na něj má dostatečný mozkový výkon jen malá, elitní část populace je docela úsměvná.  Nedivim se, že se tahle myšlenka, uchytila zrovna v téhle komunitě  ::)

Re:Má Haskell budoucnost?
« Odpověď #469 kdy: 17. 09. 2018, 16:34:58 »
Pokud jsou ambice Haskellu aby to byl proof of concept jazyk a laboratoř nápadů pro ostatní tak je vše v pořádku. Ale z diskuzí tady na rootu a jinde mi příjde, že je to kouzelná hůlka co každý kód zelegantní a zparalerizuje a jediné co ho drží zpátky jsou cizí pikle a lopaty co tomu nerozumí.

Ona je pravda nekde mezi. (Btw - ty "pikle" to je straw man, nebo jsi to tu _skutecne_ nekde videl?)

Jinak  představa, že hlavní důvod nerozšířenosti Haskellu je, že na něj má dostatečný mozkový výkon jen malá, elitní část populace je docela úsměvná.  Nedivim se, že se tahle myšlenka, uchytila zrovna v téhle komunitě  ::)

Je to jeden z duvodu. Ne jediny, ale jeden z podstatnych.


andy

Re:Má Haskell budoucnost?
« Odpověď #470 kdy: 17. 09. 2018, 16:42:36 »
Pokud jsou ambice Haskellu aby to byl proof of concept jazyk a laboratoř nápadů pro ostatní tak je vše v pořádku. Ale z diskuzí tady na rootu a jinde mi příjde, že je to kouzelná hůlka co každý kód zelegantní a zparalerizuje a jediné co ho drží zpátky jsou cizí pikle a lopaty co tomu nerozumí.
Tak to si nikdo, kdo to používá, nemyslí. Už třeba vzhledem k tomu, že to je jazyk s GC, tak prostě na různé úlohy prostě vhodný není čistě z performance důvodů. Spíš řekl, že to je velmi zajímavě navržený jazyk, který se prakticky supr používá a díky tomu, jak je navržený, tak je to zároveň skvělá laboratoř pro nové koncepty.

Třeba teď se docela zvažuje implementace lineárních typů a fakt nikdo netuší, jestli to bude úplně slepá cesta, nebo z toho něco vyleze. Počítá se s tím, že se udělá implementace a pak se uvidí, jestli to v praxi lidi začnou používat, jak to budou používat a na základě toho se ten koncept bude nějak dál rozvíjet.

Citace
Jinak  představa, že hlavní důvod nerozšířenosti Haskellu je, že na něj má dostatečný mozkový výkon jen malá, elitní část populace je docela úsměvná.  Nedivim se, že se tahle myšlenka, uchytila zrovna v téhle komunitě  ::)
Určitá část populace prostě není schopna pochopit pointery. Ta druhá část populace nechápe, co je na tom složitého. Další část populace není schopna pochopit rekurzi. Ti, co ji chápu nerozumí, co na tom je složitého. A další část není schopna pochopit třeba tohle: https://www.schoolofhaskell.com/user/bartosz/understanding-algebras.... a ti, co to pochopili, chápou, že to není zas až tak lehké......

Ten jazyk se docela běžně používá způsoby, které jsou v jiných jazycích strašně obtížně vyjádřitelné. Typový systém se používá způsobem, který lze horkotěžko v jiných jazycích simulovat makrama nebo introspekcí..a nebo vůbec ne.

Když se bavím s lidmi o tom, jestli je programování složité, tak všem říkám, že je to strašně lehký. Co je těžkého na pythonu? Udělej tohle, udělej tamto...je to spíš "hodně jednoduchých věcí". Ale že je haskell lehký bych se teda fakt neodvážil. Do těch textů o katamorfismu jsem čučel asi týden, než jsem pochopil, jak to vůbec použít a další týden, než jsem pochopil, jak to funguje (a teorii kolem toho radši nechám jiným...).

Wichser

Re:Má Haskell budoucnost?
« Odpověď #471 kdy: 17. 09. 2018, 17:26:03 »
Určitá část populace prostě není schopna pochopit pointery. Ta druhá část populace nechápe, co je na tom složitého. Další část populace není schopna pochopit rekurzi. Ti, co ji chápu nerozumí, co na tom je složitého. A další část není schopna pochopit třeba tohle: https://www.schoolofhaskell.com/user/bartosz/understanding-algebras.... a ti, co to pochopili, chápou, že to není zas až tak lehké......
Pointry a rekurze aspoň k něčemu jsou.

Wichser

Re:Má Haskell budoucnost?
« Odpověď #472 kdy: 17. 09. 2018, 17:27:44 »
Typový systém se používá způsobem, který lze horkotěžko v jiných jazycích simulovat makrama nebo introspekcí..a nebo vůbec ne.
V C++ se dá "simulovat" statickým polymorfismem.

JS

Re:Má Haskell budoucnost?
« Odpověď #473 kdy: 17. 09. 2018, 20:36:34 »
Určitá část populace prostě není schopna pochopit pointery. Ta druhá část populace nechápe, co je na tom složitého. Další část populace není schopna pochopit rekurzi. Ti, co ji chápu nerozumí, co na tom je složitého. A další část není schopna pochopit třeba tohle: https://www.schoolofhaskell.com/user/bartosz/understanding-algebras.... a ti, co to pochopili, chápou, že to není zas až tak lehké......
Pointry a rekurze aspoň k něčemu jsou.

Vazne? V COBOLu to nikdo nepotreboval, a co v tom napsali kodu..

Mne osobne pripada Haskell jednodussi nez mnohe prekombinovane Javove vynalezy. (Klasicky priklad je dependency injection.) Veci, ktere odpovidaji v Haskellu Jave, jsou v Haskellu mnohem primocarejsi. To, co je na Haskellu slozite jsou veci, ktere v Jave ekvivalent nemaji. A pravem - kdyby mely tak se z toho lidi zblazni. (Klasicky priklad jsou higher-kinded types.)

Jinak k te laziness - muzete rikat, ze je to spatne. Jenze prave diky tomu Haskell kladl takovy duraz na purity, o cemz se vzapeti ukazalo, ze to je uzitecna vlastnost. Myslim, ze dnes muzeme povazovat purity (nebo prinejmensim immutability) za prokazatelne pozitivni vlastnost, jenze ta by se nikdy neukazala, kdyby Haskell nemel lazy evaluation jako default.

Jinak pokud se chce nekdo dozvedet vic o tom, co a jak a proc vzniklo v Haskellu, doporucuji: https://www.youtube.com/watch?v=06x8Wf2r2Mc

Z meho pohledu je Haskell celkem fajn jazyk a budoucnost urcite ma. Ale bude trvat, nez bude zcela pochopen sirsi verejnosti (a mezitim zase uz bude patrne nekde dal).

Wichser

Re:Má Haskell budoucnost?
« Odpověď #474 kdy: 17. 09. 2018, 21:39:23 »
kdyby mely tak se z toho lidi zblazni. (Klasicky priklad jsou higher-kinded types.)
Co je na nich k zbláznění?

andy

Re:Má Haskell budoucnost?
« Odpověď #475 kdy: 18. 09. 2018, 07:41:37 »
Citace: Wichser
Citace
Určitá část populace prostě není schopna pochopit pointery. Ta druhá část populace nechápe, co je na tom složitého. Další část populace není schopna pochopit rekurzi. Ti, co ji chápu nerozumí, co na tom je složitého. A další část není schopna pochopit třeba tohle: https://www.schoolofhaskell.com/user/bartosz/understanding-algebras.... a ti, co to pochopili, chápou, že to není zas až tak lehké......
Pointry a rekurze aspoň k něčemu jsou.
Když to neumíš použít (nebo to prostě v tom jazyce není), tak to nepotřebuješ... ne že bych to používal všude, ale už se pár programů našlo, a když pak potřebuješ použít třeba paramorfismus, tak to najednou značně ulehčí život...

Typový systém se používá způsobem, který lze horkotěžko v jiných jazycích simulovat makrama nebo introspekcí..a nebo vůbec ne.
V C++ se dá "simulovat" statickým polymorfismem.
C++ umí polymorfismus podle typu návratové hodnoty? C++ umí dělat nějak (jakkoliv) introspekci?

Ono teda c++ toho poslední roky umí víc a víc, moc nesleduju....

Citace
Co je na nich k zbláznění?
Když se podívám, jak "elegantně" je třeba v C++ implementovaný operator overloading (nic jim nevyčítám, líp to asi nešlo), jak přehledně vypadá používání templates (obzvláště chybové hlášky....) tak bych neměl o používání HKT iluze... ono se to dost špatně přidává do jazyka, který s tím nebyl od začátku navrhován.

JSH

Re:Má Haskell budoucnost?
« Odpověď #476 kdy: 18. 09. 2018, 12:28:18 »
C++ umí polymorfismus podle typu návratové hodnoty? C++ umí dělat nějak (jakkoliv) introspekci?

Ono teda c++ toho poslední roky umí víc a víc, moc nesleduju....
Něco jako polymorfismus podle typu návratové hodnoty se tam udělat dá. Akorát to hodně drhne. Trik je v tom, že funkce jenom zabalí svoje parametry do pomocného objektu, který má akorát několik operátorů přetypování. A veškerá práce se pak udělá v odpovídajícím operátoru přetypování. Tu a tam se to dá i použít.

Ale s čistotou a flexibilitou Haskellovského řešení se to samozřejmě nedá srovnávat. ;)

Introspekci C++ umí. Akorát se tomu tam říká RTTI.

Wichser

Re:Má Haskell budoucnost?
« Odpověď #477 kdy: 18. 09. 2018, 12:30:29 »
Když se podívám, jak "elegantně" je třeba v C++ implementovaný operator overloading (nic jim nevyčítám, líp to asi nešlo), jak přehledně vypadá používání templates (obzvláště chybové hlášky....) tak bych neměl o používání HKT iluze... ono se to dost špatně přidává do jazyka, který s tím nebyl od začátku navrhován.
Kde se v praxi kromě typových tříd používají HKT? Zrovna v C++ jde tohle jednoduše pomocí konceptů (které mimochodem řeší i ty debilní chybové hlášky, co blije gcc - clang je měl odjakživa čitelné, jde tedy o nekompetenci konkrétní implementace, ne jazyka jako takového). On ten typový systém v Haskellu není nijak extra silný, co by se třeba skutečně hodilo jsou typy identit.

Wichser

Re:Má Haskell budoucnost?
« Odpověď #478 kdy: 18. 09. 2018, 12:34:05 »
když pak potřebuješ použít třeba paramorfismus, tak to najednou značně ulehčí život...
Pojem "paramorfismus" použije tak akorát někdo, kdo si chce honit ego (žeby nějaký komplex?). Přitom jde o prachsprosté reduce.

JSH

Re:Má Haskell budoucnost?
« Odpověď #479 kdy: 18. 09. 2018, 12:53:34 »
když pak potřebuješ použít třeba paramorfismus, tak to najednou značně ulehčí život...
Pojem "paramorfismus" použije tak akorát někdo, kdo si chce honit ego (žeby nějaký komplex?). Přitom jde o prachsprosté reduce.
Pojem "paramorfismus" použije někdo, kdo má matematický background. Pojem "reduce" je obecnější a vágnější. Spadá pod něj víc druhů morfismů, nejen ten para.