V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
Brouzdal jsem na disku a narazil na jeden svůj starý projekt. Něco přes 10k řádek v C++ a něco málo v Object Pascalu.
Jako adolescent jsem C++ doslova miloval. Tehdy jsem si to užíval, mohl jsem dělat OOP kouzla, přetěžovat operátory a třeba i použít virtuální vícenásobnou dědičnost. A přitom dělat ďábelské nízkoúrovňové kousky. Třeba jsem si udělal lehkotonážní skoroimplementaci COM, abych se vyhnul práci s windows registry. Prostě se nějak posílal ukazatel na tabulku virtuálních metod, detaily jsem dávno zapomněl. Protože klientská aplikace nemohla uvolnit objekt, který získala z DLL knihovny (každý modul má vlastní heap), musela se zavolat metoda Delete
, kterou objekt spáchal elegantní sebevraždu.
void __stdcall xcfgM::Delete() { delete this; }
Používal jsem taky jednu krásnou fintu, kterou bych se ale chlubit neměl. Někde jsem potřeboval, aby funkce vracela celé číslo s nějakým chybovým kódem. Nechtělo se mi deklarovat k těmto chybovým kódům konstanty (např. const int ERROR_OPENING = 5;
), tak jsem používal čtyřznakové identifikátory (uzavřené do apostrofů), které šly přiřadit do 32bitového integeru.
int result = 'cnof'; // cannot open file
Problém C++ byl, že všelijakým triků se člověk nevyhnul i kdyby chtěl. Třeba přinutit k bezešvé spolupráci moduly překládané různými překladači vyžadovalo občas invenci.
/* Some compilers tried to set enum types size to 1 byte, this constant _ is defined to make them set this size to 4 bytes. */ const int _32_BIT_ALIGMENT = 2147483647; // = 2**31-1 //////////////////////////////////////////////////////////////////////// enum TInitState { istInited = 0, istNotInited = 1, istDefault = 2, istNone = 3, ist_32_bit_aligment = _32_BIT_ALIGMENT };
Potom jsem ale z C++ vyrostl. Oblíbil jsem si bezpečné, silně typované jazyky jako Ada, Java a C#. To jsou nástroje pro zralé muže.
Samozřejmě vím, že na spoustu projektů je C++ z různých důvodů nejlepší volba. Tak ať mě tu někdo nepranýřuje, že firewall se v Javě píše blbě, já to vím. (Ale v Adě už by to šlo
A z čeho jste vyrostli vy?
Tiskni Sdílej: