V elmu jsem kdysi napsal http://fffuuu.it/
To mě ještě bavily čistě funkcionální jazyky a reaktivní funkcionální programování.
Pavle, píšete že Evan Czaplicky předtsavil Elm v roce 2021 a zároveň, žře je projekt 7 let zamrzlý :-).
Já a další lidi jsem o Elmu psali na zdroják už kolem roku 2015 <a src=" https://zdrojak.cz/n/elm/"> https://zdrojak.cz/n/elm/..
To byla divoká doba, kdy React soupeřil s Angularem a kdy vývojáři hledali "lepší javascript".
Mě se Elm moc líbil, čistý funkcionální přístup, větší projekty, rozdělené do více části (modulů) už byly o něco méně přehledné, vše co se na webovém projektu děje prochází jedinou centrální funkcí `update`. Je to takový haskellovský přístup, samotný Elm se nejvíce podobá právě Haskellu, ale existuje i Elmem inspirovaný haskelový framework Miso.
Přínosem v té době byla typová kontrola. Dnes ji zvládá Typescript a nebo třeba menšinový, ale skvělý <a href=""https://nim-lang.org">Nim.
opraveno
(jen OT: myslim, ze Elmovsky typovy system je o dost lepsi, nez ten TypeScriptovy, ale mozna je to jen otazka citelnosti)
Taky si myslím, že je lepší. Mě Elm bavil, pak jsem objevil Nim a ten mi sedl více, kombinuje více paradigmat, nejen funkcionální, ale i procedurální a dobře se propojuje s javasciptem. A teď v něm dělám lehké wrapery nad javascripteovým API, což myslím často ušetří spoustu interpretovaného kódu - například Navigation API odbourá nutnost složitých routrů apod.
Vím, že tyto články jsou spíš "encyklopedického stylu": poctivě vyjmenovat vlastnosti jazyka apod. Ale nešlo by udělat něco jako "motivační díl"? Nebo poslat odkaz, pokud někde něco takového existuje? (Já nenašel.) Vůbec si to neumím představit.
Něco jako odpověď na otázku: "Máte příklad, jak se něco praktického naprogramuje v elmu a jaké to má výhody oproti např. tomu JS?"
zkusím něco dát dohromady. Většinou se snažím nepsat články s wow-efektem, ale nějaký motivační udělat půjde.
PS: to vlastně není nic složitého, protože alternativou bude nějaký front-end v JS psaný moderním frameworkem a to je opravdu dost hrůza (pro lidi, pro které je FE jen okrajová záležitost a nemají dostatečně zvýšený práh bolesti :-)
Já jsem si v roce 2017 myslel, že Elm je cesta, která vyřeší všechny ty nepříjemné věci na frontendu, za které může JavaScript. Že je to čisté a robustní řešení.
Tenkrát se mi podařilo dostat do Elmu JS knihovnu Leaflet. Nebylo to těžké, zatímco psát nativní mapové API v Elmu by bylo náročné. Takže typově bezpečný Elm může na pozadí použít jakoukoliv js knihovnu, její bezpečnost samozřejmě zaručit nemůže, ale tu možnost využít knihovny a ekosystém javascriptu je důležitý.
Procházím si teď svůj GitHub, mám tam forky různých Elm projektů, knihoven, UI i celých aplikací. Chtěl jsem najít jeden větší web psaný v Elmu (ne svůj). Matně si vzpomínám, na co jsem u většího projektu narážel. Jedna z věcí byla to, že vše se děje v jediné centrální funkci update, a když máš větší aplikaci, kterou chceš rozdělit na "moduly", byl s tím trochu opruz a přestávalo to být přehledné.
Mezitím typovost přinesl (nejen) TypeScript, spousta jazyků má solidní transpilery do JavaScriptu. React se stal tak trochu standardem, ale zdatně mu konkurují volnější přístupy jako Vue nebo Svelte.
A Elm je na tom tak trochu jako Haskell. Skvělá idea, skvělý návrh, ale příliš matematicky přístup, který v praxi některým lidem příliš nevyhovuje.
pro me to byla vzdycky motivace "wtfjs" sbirka footguns (nohostrilu?!) - tzn spis co v elmu apod nejde ale v js ceka a ciha...
kazdopadne vice clanku od Pavla je jednoznacne radostna udalost, takze timto je neodrazuju.
Jako jak zamrzlý :-), minulý týden - 6.7. 2026 vydal novou verzi https://github.com/elm/compiler/releases/tag/0.19.2
po sedmi letech hezky patch verzi 0.19.1 -> 0.19.2