V názvu může mít co chce, důležité je, co dělá. Umí data zapisovat, upravovat i číst, takže to samozřejmě je programovací jazyk, byť není pro všeobecné použití, ale je doménově specifický.
Podle toho, co jsem zjišťoval, je i turingovsky kompletní. Zde je například jeden prográmek pro ukázku, co dovede:
Keďže vyšla tá 4ka, tak som si to znova na chvíľu vyskúšal. Rozbehnutie bolo triviálne, má to builder, jedhoduchý extension pre VS Code.
Syntax je parádna.
Našiel som však len jeden funkčný program, všetko ostatné sú proovery. A to je zhustená, náročná matematika. Zatiaľ je to vo fáze pokusu a omylu ako to asi vlastne funguje.
Lean má naozaj strmú krivku učenia teda.
-- import «First»
def twice (f : Nat Nat) (a : Nat) :=
f (f a)
structure Person where
name : String
age : Nat
def main : IO Unit :=
-- let name := "John Doe"
-- IO.println s!"Hello, {name}!"
-- let names := ["Sebastian", "Leo", "Daniel"]
-- for name in names do
-- IO.println name
-- let res := twice (fun x => x + 2) 10
-- IO.println res
-- IO.println Lean.versionString
-- let res := List.map (fun x => x + 1) [1, 2, 3]
-- IO.println res
-- let p := { name := "Leo", age := 44 : Person }
-- IO.println p.name
-- IO.println p
let vals := #[1, 2, 3]
IO.println vals[0]
Videl som tento rok asi 10 rebríčkov... v každom je "TOP" jazyk iný... ako je to možné? V jednom je to JavaScript, v druhom Python, v treťom Rust a vo štvrtom PHP a v piatom Java.... to asi je potom JavaScript lepší než najlepší, čo je Python? A Rust je ešte lepší než obe tieto najlepšie a lepšie než najlepšie jazyky?
Je to ako s kazdym prieskumom - vysledok zavisi na vzorke respondentov, ktori su osloveni a ktori odpovedia, forme prieskumu, ponukanych moznostiach ... a napr. aj od toho, ci za ucast v prieskume nieco dostanes.
Ak sa spytas rovnaku otazku na Roote a na Slashdote a na 9gagu, dostanes rozne vysledky.
Tak pro mne objev roku -- Lean sem bral jen jako pomůcku matematikovu. Ale má koukám skvělou knihu -- a autor je dokonce předseda Haskell foundation. Tak to koukám. Musím si práci pěkně počíst. Nic proti Haskellu, ale ta atmosféra kolem mi moc nesedí a celý ekosystém je takový jak C++, člověk musí hodně vyzobávat, aby se v tom neztratil.
12. 9. 2023, 17:56 editováno autorem komentáře
Jinak dobrá je ještě tato kniha: https://www.amazon.com/Type-driven-Development-Idris-Edwin-Brady/dp/1617293024/ref=sr_1_1?crid=34LSW911LQCRI&keywords=type-driven+development+with+idris&qid=1694536011&sprefix=Type+driven+%2Caps%2C271&sr=8-1
Sice používá haskellí syntax, ale v Leanu se jinak píše stejně (struktura programu, záznamy, typy…).
Jo na tuhle knihu se dlouho chystám, má to hodně blízko k domain driven dedign, když se to tak vezme. Jednou sme si snad linkovali Idris/DDD repo, něco jako https://www.reddit.com/r/Idris/comments/p1b2n8/domain_driven_design_made_dependently_typed/
12. 9. 2023, 19:57 editováno autorem komentáře
Samozřejmě takové žebříčky jsou poměrně bezpředmětné. Hlavně když třeba není jasné, o jaký druh programování se jedná. Řada lidí by si vybrala dost jiný jazyk, pokud má program k dispozici 100 kB RAM, nebo naopak když má program dělat účetnictví, či ERP/ MES a knihovny pro tento problém jsou v Javě a C#. Pokud je nepoužijete, bude těžší projít nějakými audity/ certifikací.
Myslím, že s čistým srdcem může jen málokdo skutečně obsadit i jen 5/9 kategorií. Prostě IT je příšerně široké, tak nemusíme přilévat olej do ohně, kde je to stejně závislé na projektu a lidech, jaký jazyk nebo jaké jazyky se nakonec použijí.