Po roce od vydání verze 15.5 bylo vydáno openSUSE Leap 15.6. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.
Byla vydána nová verze 256 správce systému a služeb systemd (GitHub). Nově mimo jiné s run0 jako alternativou k sudo.
Společnost Oracle oznámila spolupráci s Google Cloudem, OpenAI a Microsoftem.
Zítra začne v Brně na FIT VUT třídenní open source komunitní konference DevConf.CZ 2024. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Google Chrome 126 byl prohlášen za stabilní. Nejnovější stabilní verze 126.0.6478.55 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Byl vydán Mozilla Firefox 127.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 127 je již k dispozici také na Flathubu a Snapcraftu.
Byla vydána (𝕏) nová verze 9.5 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Společnost Raspberry Pi dnes vstoupila na Londýnskou burzu jako Raspberry Pi Holdings plc (investor).
Do 17. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2024 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC24 (Worldwide Developers Conference, keynote) představil řadu novinek: svou umělou inteligenci pojmenovanou jednoduše Apple Intelligence, iOS 18, visionOS 2, macOS Sequoia, iPadOS 18, watchOS 11, …
Priznám sa, že keď som pred čosi viac než rokom čítal knihu The Art of Unix Programming od Erica S. Raymonda, tak som nečakal, že by niekedy mohla vyjsť v češtine (či nebodaj v slovenčine). Ale stal sa zázrak :) Na prelomu rokov vyšiel český preklad a mne sa k nemu podarilo prebojovať.
V čom je vlastne táto kniha taká zvláštna a čím sa líší od tých desiatok kníh o programovaní, ktoré nájdete na policiach kníhupectiev? Začneme pekne po poriadku. Knihu napísal Eric S. Raymond, ktorý je jedným z hlavných predstaveľov hnutia slobodného softvéru. Pre tých, ktorý ho príliš nepoznajú, treba povedať, že jeho názory sú niekde na polceste medzi umierneným Linusom Torvaldsom a extrémistickým R. Stallmanom.
Okrem neho do knihy prispeli (formou vlastných krátkych pasáží) desiatky ďaľších autorov, ktorých mená nie sú neznámou. Spomeňme napriklad Briana Kernighana, Kena Thompsona (autor UNIXu), Stevea Johnsona či Douga McIlroye (vynálezca pipe - trubiek - dátovodov).
Knihy však obvykle nekupujeme podľa autora, ale podľa toho, čo v nich nájdeme. Aj v tomto sa kniha líší od konkurencie. Nenaučí vás programovať v Céčku, Perle, či awk. Nedozviete sa ani o tom, ako volať a používať tie, či oné funkcie jadra. Dokonca ani to, ako vlastne jadro funguje. Odpovede na otázku ako na to? sa nedozviete, ale dozviete sa niečo, čo je minimálne rovnako dôležité. Odpoveď na prečo práve takto? Kniha obsahuje postupy, ktoré sa používajú v Unixe a snaží sa ich vysvetliť, ukázať a presvedčiť, že práve oni sú tým pravým.
Umění programovat v Unixu je rozdelená na štyri hlavné časti. V prvej, nazvanej Kontext, sa dozviete, okrem dôvodov, prečo je Unix taký dobrý, aj (a najmä) základy navrhovania programov. Tieto pravidlá sú nosnou časťou prvej kapitoli a na nich naväzuje aj nemalá časť zbytku knihy. Jedná sa o pravidlá, ktoré (do istej miery) pozná väčšina programátorov a snáď sa nimi aj intuitívne riadi. Prevažná väčšina pravidiel je bezkonfliktných a univerzálnych. Dajú sa zhrnúť do jednej vety, ako Píšte jednoduché časti, ktoré sa dajú jednoducho prepojiť. alebo Oddelujte zásadu od mechanizmu a rozhranie od toho, čo je za ním.
Nájdu sa však aj také, o ktorých sa už polemizovať dá minimálne s ohľadom na skúsenosti z iných platforiem a skúsenosti s bežnými používateľmi, ako napríklad Ak program nemá čo povedať, nech radšej mlčí.
Kniha ďalej pokračuje s historickým prehľadom dvoch kultúr (hackerskej a unixovej) o ich vývine a následnom spojení. Záver kapitoly patrí letmému porovaniu operačných systémov. Na škodu je, že autor nepriznáva konkurencii prakticky žiadnu silnú stránku. Tento fakt sa vyskytuje priebežne v celej knihe a najhoršie z neho vychádza (ako ináč) Windows NT & spol.
Druhá kapitola sa zaoberá niečím konkrétnejším. A to prevádzaním skôr spomenutých pravidiel do návrhu aplikácii. Z množstva pravidiel sú vybrané tie najdôležitejšie: Modularita, Zameranie na textové formáty, Transparentnosť, či Medziprocesová komunikácia. Všetky tieto pravidlá sú rozvedené do väčšej hĺbky a čo je dôležitejšie, pre každé z nich je na výber aj niekoľko prípadov z praxe (kmail, gcc, SMTP, POP3). Bohužiaľ v celej knihe nájdeme len jeden antipríklad pre tieto pravidlá, ktorý ukazuje, že občas je výhodné na tieto pravidlá zabudnúť (fetchmail).
Kapitola o návrhu pokračuje pohľadom na minijazyky, teda jazyky, ktoré sú určené pre konkrétnu úlohu, akými sú regulárne výrazy, XSLT, či jazyk používaný v súboroch Makefile. Ďalej pokračuje pohľadom na konfigurácie programov, ich spôsobmi a vhodnými formátmi pre konfiguračné súbory. Nemenej dôležitou časťou návrhu v unixovom štýle je aj návrh rozhrania a ich štandardov. Na záver sa dozviete ešte pár slov o optimalizácii (resp. prečo by ste sa jej mali vyhýbať) a vhodnej zložitosti programov.
V tretej kapitole sa autor posúva ešte ďalej, tentokrát k implementácii. Aj ňou nás sprevádza od úplného počiatku a snaží sa zodpovedať nemálo otázok. Jednou zo základných (a často preceňovaných) otázok je výber programovacieho jazyka. Autor podáva prehľad o programovacích jazykoch C, C++, Perl, Lisp, Java a kedy je vhodné použiť ktorý. Po zvolení jazyka potrebujeme vybrať vhodné nástroje na editáciu kódu (vi, Emacs), generovanie kódu (yacc, lex, Glade), či systémy pre správu verzií. Na záver si autor opäť neodpustil podkapitolku o tom, že Emacs je to pravé vývojové prostredie :). V poslednej časti tejto kapitole sa dozviete viac o znovuobjavovaní kolesa a problematiky licencií k takýmto kolesám.
Posledná kapitola sa venuje problematike unixovej komunity. Predstavuje rady pre prenositeľnosť, dodržiavanie štandardov, či postupy pri dokumentovaní projektu. Kde sa ako východisko zo súčasnej spleti formátov ponúka DocBook. Ako sa správať po vydaní projektu a čo zahrňovať do distribúcie je témou ďaľšej časti tejto kapitoly. Nasleduje ešte letmé porovnanie licencií (MIT, BSD, Artistic, GPL, MPL) a na záver sa dozviete o príležitostiach a možnom nebezpečí, ktoré na nás v Unixe ešte čaká.
Kniha je ukončená vysvetlením použitých skratiek, obsiahlou bibliografiu, ktorá obsahuje aj postrehy k daným knihám, a niekoľkými námetmi na zamyslenie. Tie sú písané po vzoru východných filozofií ako rozhovor medzi žiakom a majstrom.
Toto dielo je jednou z najkvalitnejších kníh o programovaní, ktoré som kedy čítal, ale napriek tomu je potrebné povedať, že k dokonalisti mu ešte čosi chýba. Najväčším problémom je, že autor sa neodvažuje priznať konkurencii žiadne silné stránky. Nie je to len problémom tohto autora, s rovnakým problémom sa potýkajú viaceré skupiny, ktoré chcú presadzovať vlastné názory. Podľa mňa by uznanie silných stránok ešte zvýšilo hodnotu tejto knihy. Druhým (o mnoho menším) problémom je čiastočný extrémizmus, čo je samozrejme právom autora (Na druhé straně stojíme my, bojovníci za svobodu - nikoli jen za naši svobodu, ale za svobodu všech).
Hodí sa ešte spomenúť, že kniha (v anglickej verzii) je voľne dostupná na stránkach www.faqs.org/docs/artu/. Veľmi zaujímavú esej, ktorá sa zaoberá touto knihou, je Biculturism, autorom ktorej je Joe Spolsky, ktorý je programátor pre Windows.
Název | Umění programování v Unixu |
Autor | Eric S. Raymond |
Vydal | Computer Press |
ISBN | 80-251-0225-4 |
Datum vydání | 2004 |
Počet stran | 512 |
Doporučená cena | 590 Kč/880 Sk |
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
matematické operátory mohou být komunikativní, distribuční a asociativníasocialni by bylo usmevnejsi