Reboot 2026
Rok se s rokem sešel a je tu další update tohoto blogu!
Co se změnilo?
Navenek se toho mnoho nezměnilo, protože jsem s jeho vizuální stránkou spokojen. Opravil jsem některé nekonzistence ve webových šablonách, alespoň ty, na které jsem narazil.
Největší změna nastala na backendu. S pomocí AI jsem naprogramoval nový konvertor a generátor tohoto blogu. Tentokrát v Haskellu! Už dlouhou dobu jsem se chtěl blíže seznámit s některým z tzv. functional languages. Volba přirozeně padla na Haskell, čistě funkční jazyk se statickými typy, navíc je v něm napsaný známý konvertor jménem Pandoc.
- » Pandoc
Nemohu říci, že se ze mne stal funkční programátor. Abych skutečně pronikl do tohoto jazyka, potřeboval bych mnohem víc času. Avšak to, co jsem stihl pochytit, ve mně zanechalo pozitivní dojem.
Haskell
Haskell je úsporný jazyk. Nikoliv nutně v počtu řádků jako spíš v tom, kolik se dá vyjádřit v několika jednoduchých výrazech. Jakmile jsem trochu přivykl jeho zvláštnímu zápisu, začal mi připadat velmi přehledný. Přehlednější než Go, ve kterém jsem psal svůj poslední pokus. Profesionální programátoři mají nejspíš radši jazyk více explicitní, kde jsou např. řádky zjevně zakončeny středníkem a funkce zabaleny ve složených závorkách. Lépe se debugují. Mně však haskellovské funkce s odsazeným tělem připadají docela přehledné a přirozené. Pokud mne nenadchne nějaký další jazyk, asi u Haskellu zůstanu, aspoň pro tento projekt.
- » Haskell
Cabal
Když mluvíme o projektu, poněkud slabší stránkou Haskellu bývala instalace asi milionu balíčků a správa projektů. To se změnilo. Dnes se Haskell dá instalovat jako jeden velký metabalík s názvem GHCup, ačkoliv u jednotlivých distribucí to může být různé. U mne to byl NixOS a nix-shell. Je samozřejmě vhodné instalovat LSP (haskell-language-server), linter (hlint) a formatter (ormolu). Správa projektu přes Cabal se prý hodně zlepšila, takže se stal haskellovským standardem. Jiný správce, konkurenční projekt Haskell Stack, se dnes už prý moc nepoužívá. Moje zkušenost s Cabal je dobrá, jen jsem si zatím moc neosvojil cabal repl čili ghci. Testování kódu jsem prováděl spíše skrze kompilaci než přes interaktivní shell ghci.
AI
Bez AI bych generátor nejspíš nenapsal, nikoliv za současných okolností. AI je prý aktuálně příčinou sporů v open source komunitách. Některé projekty (Gnome, KDE) AI příspěvky do svého kódu zakazují, jiné svůj postoj vůči AI spíš uvolňují (Linux kernel). Sám Linux Torvalds se nechal v mailing listech slyšet, že nepoužívat AI při vývojářské práci je „idiotské“, „vrcholně stupidní“ a přirovnává to k neochotě používat editor s word completion. Linus se nebojí ostrých vyjádření, ale dle mých zkušeností s AI má pravdu.
AI dnes dokáže psát kvalitní kód za zlomek času, který spotřebují lidští programátoři. Navíc dovede kód stejně rychle testovat a debugovat. Kolem 20% příspěvků do linuxovského jádra je tvořeno AI a její podíl stoupá. AI byl schopno nejen opravit otevřené bugy, ale najít další bugy, o kterých se nevědělo a opravit i ty.
Bryan Lunduke, ještě nedávno velmi rezervovaný ohledně AI, přiznává, že AI je při současné trajektorii nevyhnutelná budoucnost, a sám AI využívá při práci na svém vlastním distru s názvem LCOS. Lunduke tvrdí, že projekty, které se AI brání, skončí v zapomnění, protože prostě nebudou moci konkurovat. Jako příklad uvádí svůj vlastní projekt, kde byl sám schopen s pomocí AI botů vyprodukovat skoro stejné množství kódu jako Ubuntu, což je jeden z (nej)větších linuxovských projektů.
- » LCOS
Sám AI při programování doma i v práci hojně využívám a kolegové, skuteční programátoři stále zlepšování a stále hlubší integraci AI do svých workflow. To je skutečnost, ať už dobrá nebo špatná.
Další směřování
Pokud jde o další směřování tohoto blogu, patrně nedojde k velkým změnám. Publikovat budu i nadále spíše sporadicky a v delším formátu. To vyplývá z nedostatku volného času, jímž autor trpí.
EOF