Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).
Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
V C++ 20 budú majú byť heradery nahradené plnohodnotnými modulmi s exportami, ale čo dovtedy?modules[48] – experimentally supported in Clang 5[49] and Visual Studio 2015 Update 1[50] as well as GCC[51] zdroj Nie je to tak tazke: https://gcc.gnu.org/wiki/cxx-modules Zas, kto ma rad veci pod kontrolou, tak to pouzivat nebude chciet.
Ale dnes? V dobe IDEčiek? WTF?V IDE mas alebo si vies vytvorit addon, ktory ti vytvori definicie (vytvor .h subor z *.c). Ale zas 100% istotu to zautomatizovat brani implementacia, ze definicia prototypu funkcie nie je rychlim pozretim jednoznacne jasne (chyba klucove slovo function). Ale to by sa dalo rozsirit ako rozsirenie prehladavaca, ak by to niekto chcel. A na preklad tu mas make, cmake. C/C++ je blizko hardveru a ten system prekladanie je kvoli velkym projektom (sak kludne si mozes vsetko hodit do jedneho *.c a tak to prekladat. A to potom ocenis (pri hrach alebo webovom engine), ze zmenou jedneho riadku nemusis cakat na preklad 20 minut ale 30s (nemusis mat extra nadupany notebook).
…a tiež tým, že šablóny musia byť vcelku.
Někdy nemusí. Klíčové slovo: explicit instantiation. Samozřejmě se to nedá použít u šablon typu kontejnery, které musí podporovat (skoro) libovolný uživatelem specifikovaný typ. Nicméně pokud má člověk aspoň trochu kontrolu nad tím, které typy nějaká šablona bude podporovat, pak se dá úplně oddělit header od implementace i u šablon.
1) Ano, je to utrpení (např. ve srovnání s Javou), zvlášť pokud chceš dodržovat zpětnou kompatibilitu. Nechutně tam prosakuje abstrakce resp. technické detaily, které ti narušují logický návrh rozhraní. Ale takové už C++ je.
2) Řešitelné je to přes Opaque pointer (a.k.a. PImpl idiom, D-Pointer)
3) IDE v tomhle docela dost pomáhají – dá se proklikávat mezi hlavičkovým souborem a implementací, v .cpp souborech ti to bude napovídat metody z .h souborů, které můžeš implementovat, měl by fungovat i refaktoring atd.
4) Lze dát všechno do .h souboru, některé tzv. „header-only“ knihovny to tak dělají. AFAIK to není optimální z hlediska rychlosti kompilace, ale u menších věcí to asi nevadí.
Tiskni
Sdílej: