Vyjádřeni Software Freedom Conservancy (SFC) k porušování licence AGPLv3 společností Bambu Lab v jejich softwaru Bambu Studio pro 3D tisk. Bambu Studio vychází z PrusaSliceru. Ten zase z Slic3ru. Spuštěn byl projekt baltobu, který kombinuje několik strategií pro řešení problému. SFC zastřeší vývoj svobodné náhrady proprietární knihovny libbambu_networking pomocí reverzního inženýrství a reimplementace, forku OrcaSliceru pro Bambu Lab tiskárny od Paweła Jarczaka a forku celého Bambu Studia pod názvem Viscose.
Správce souborů GNOME Commander (Wikipedie) byl přepsán do Rustu a vydán v nové verzi 2.0.0.
Sway (Wikipedie), dlaždicový (tiling) správce oken pro Wayland kompatibilní s i3, byl vydán ve verzi 1.12. Do vývoje se zapojilo 50 vývojářů. Přehled novinek na GitHubu. Sway 1.12 závisí na wlroots 0.20.0.
Papež Lev XIV. ve své první encyklice Magnifica Humanitas (Skvělé lidství), která se věnuje umělé inteligenci (AI), varoval před dezinformacemi, které AI manipulací s obsahem vytváří. Moc mají podle něj sociální sítě ovládané hrstkou soukromníků. Upozornil také roli digitálních platforem v obchodování s lidmi, které podle něj musí být uznáno jako současná forma otroctví. Papež se také poprvé omluvil za roli, kterou Vatikán sehrál při legitimizaci otroctví, a za to, že jej po staletí neodsoudil.
Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2025 (pdf), která shrnuje jeho hlavní aktivity v oblasti regulace elektronických komunikací, poštovních služeb, digitálních služeb a přípravy na dohled nad umělou inteligencí. Součástí zprávy jsou také data o vývoji trhu, včetně pokračujícího růstu spotřeby mobilních dat a rozšiřování sítí nové generace. Celkový objem přenesených mobilních dat dosáhl v roce 2025 přibližně
… více »Tým sdružení CZ.NIC vyvíjející routovacího daemona BIRD oznámil vydání nových verzí 3.3.0 a 2.19.0. Ty přinášejí podporu pro EVPN/VXLAN a automatizaci BGP na základě router advertisementů. Více informací je k dispozici v archivu uživatelského mailing-listu.
Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Řešení dotazu:
Proč zrovna u++? Dodnes jsem o něm neslyšel a když se dívám, co vlastně je, to u++, zjišťuju, že to není programovací jazyk, ale jen framework, beztak v C++ napsaný. Pokud už chceš bezpointerový jazyk, zkus jazyky jako Java, C# nebo skriptovací jazyky jako Python.
A jen tak mimochodem -- existuje spousta postupů a knihoven, kterými lze pointer v C++ zabalit tak, že se vůbec nemusíš starat o dealokaci, stačí jen použít new, když vytváříš objekt smart pointeru a máš vystaráno.
To že pointre tvoria prevažnú časť chýb v kóde je štatistický fakt.
To není fakt, to je nesmysl. Chybu nedělá pointer, chybu dělá programátor.
Já jsem nikdy žádnou statistiku na tohle téma neviděl, ale odhaduju, že to vůbec nebude daleko od pravdy (zvlášť když se započítá ukazatelová aritmetika).
a spousta kódu s nimi počítá. Třeba standardní knihovna. Není tam ale ukazatelová aritmetika, takže to nebude tak hrozné.
To v praxi znamená, že do STL kontejneru je možné efektivně ukládat fundamentální typy, možná ještě tak řetězce a pár dalších jednoduchých typů. Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.
Náš názor je ten, že tento způsob řešení je zcela hloupý - vnáší zbytečný zmatek do všech rozhraní i implementací (jaký ukazatel má funkce vracet, chytrý, nebo normální?)
Správa paměti je implementační detail, na úrovni rozhraní nemá co dělat.Výňatky zrovna nespomínajú priamo chyby, ale nech si z toho každý zoberie čo chce.
delete je nízkoúrovňová operace, které by se měla používat co nejméně.
new má legitimní použití pouze ve velice speciálních případech, většinou souvisejících s polymorfií.
Chytré sdílené ukazatele jsou to nejhorší, co mohlo C++ potkat.
Pointer je totéž co ukazatel. Kdokoli píšete "pointer je", nahraďte si slovo pointer slovem ukazatel. Ono totiž "ukazatel je ukazatel" není tvrzení příliš nabité informacemi.Hledat nějaké tvrzení v polovině věty nedává moc smysl, bývá užitečné aspoň větu dočíst do konce. Rozcvičku „jak nadefinovat slovo ukazatel bez použití slova ukazatel“ si klidně udělejte, myslím ale, že tvrzení „ukazatel je ukazatel na místo v paměti“ každý rozumí.
Pointer není totéž co reference. Java, C# (kromě unsafe kódu), Python, Ruby apod. mají reference, ale nemají ukazatele. (Jenom co poznámka: významem ukazatele je adresa (přibližně). Významem reference je to, co je na té adrese.)To vaše odlišení je hodně neprůhledné, ale předpokládám, že podstatou je, že reference ukazují (ukazatel ukazuje…) na data, o kterých ale nevím, jakým způsobem jsou uložena, zatímco pointer ukazuje na data, o kterých ale zároveň vím, že jsou uložena v nějakém bloku bajtů, a já můžu pracovat i s touto nižší úrovní pohledu – mám tedy k dispozici pointerovou aritmetiku. Abych se vyhnul takovémuhle vysvětlování, použil jsme jen pojem „pointerová aritmetika“, který je pro tazatele snad srozumitelnější. Zároveň si nemyslím, že pointerová aritmetika je to, co tazatele trápí, protože úplně stejné chyby, jako u pointerové aritmetiky, mohou vznikat při jiných způsobech převádění mezi datovou strukturou a blokem bajtů (třeba práce se soubory nebo síťová komunikace).
Ano, všechny parametry v Javě se předávají hodnotou, ano, reference jsou implementovány použitím ukazatelůTak ciste formalne vzato, reference nemohou byt implementovany pomoci ukazatelu. To ze se tomu tak v Jave rika je druha vec.
ne, reference nejsou ukazatele.Na tom se shodneme, reference vazne ukazatele nejsou :)
Jak z takové javovské reference získáte tu adresu v paměti? (Nápověda: nezískáte, a ona se dokonce v čase mění!)Nijak. V Jave neni ukazatelova aritmetika, ktera by to umoznovala. Ale tento drobny nedostatek z toho porad formalne nedela referenci (coz je v podstate druhe jmeno pro nejakou promenou). Krom toho adresa kam ukazatel ukazuje se menit prave ze muze, zatimco u reference to neplati. Jde mi o tohle: i kdyz se v Jave pouziva pojem reference, jejich semantika odpovida ukazatelum. Nepritomnost ukazatelova aritmetiky na to nema vliv. Na druhou stanu to neznamena, ze by kvuli tomu Java programatori meli misto slova 'reference' zacit pouzivat 'ukazatel', akorat by se navzajem matli. Ovsem pokud mluvime o jazycich obecne a budeme je porovnavat, prijde mi lepsi drzet se nejake spolecne definice, at to porovnani ma smysl.
Pokud se dobře pamatuju, tak třeba Programming Language Pragmatics taky tvrdí, že reference je "lepší ukazatel" (velký uvozovky). Můžete dát link na nějaké jiné zdroje?
In programming language design, a "pointer" is a variable that indirectly tracks the location of some piece of data. The value of a pointer is often the memory address of the data you're interested in. Some languages allow you to manipulate that address; others do not. A "reference" is an alias to another variable. Any manipulation done to the reference variable directly changes the original variable.Prirovnal bych to k rozdilu mezi hardlinkem (reference) a softlinkem (ukazatel). Takova definice odpovida i tomu, co si pamatuju ze skoly z principu programovacich jazyku, i kdyz to tam Libor nema nikde explicitne uvedene ve stylu "ukazatel je tohle".
tak třeba Programming Language Pragmatics taky tvrdí, že reference je "lepší ukazatel" (velký uvozovky).S tim nemam problem. V jistem smyslu je to tak: jak ukazatel tak i reference nekam odkazuji - rozdil je v tom, ze ukazatel na to potrebuje extra promenou - coz v zavislosti na definici veci jako volani funkci v danem jazyku muze vykazovat jine chovani. Viz. treba strana 109 z slidu z principu, kdy je popsano volani odkazem. Btw mala perlicka na zaver: v jazyku Logo jsou referencni a dereferencni operatory pro bezne promene, presto tento jazyk nema ukazatele.
Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.Tie veci spolu súvisia. Myslím že jazyky čo nemajú (minimálne používajú) pointre, majú aj správu pamäte. Mne osobne ide o nepoužívanie pointrov, pointrovej matiky, práve kvôli zápisu, ktorý znižuje čitateľnosť kódu a samozrejme zvyšuje chybovosť. Správa pamäte je samozrejme ďalšia výhoda. Spravidla jazyky ktoré pointre nepožívajú, to vyzdvihujú ako fjučúru. (Slovo pointer som použil hlavne preto, aby sa niekto nezľakol slovenského ukazovateľa, hoci po česky je to podobné :)
V C. C++ ani Pascalu pointery používat nemusíte.Ta tečka za C je překlep, měla tam být čárka. Pár pixelů, a jak to úplně změní význam…
#!/usr/bin/env perl, bude to mít stejný efekt.
Je tu stále viac blbečkov.S tym sa neda, len suhlasit.
Je tu stále viac blbečkov.Také jsem si všiml.
Ten web máš úžasný zo 4klikovJe to možná mnohem víc než kolik si ty kdy udělal. A se stabilitou těžko něco udělám, nechce se mi platit hosting a všechny free web hostingy stojí za houby.
To v praxi znamená, že do STL kontejneru je možné efektivně ukládat fundamentální typy, možná ještě tak řetězce a pár dalších jednoduchých typů. Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.Která to se mi zdá zásadním nepochopením koncepce STL kontejnerů jako takových. STL kontejnery prostě ukládají, právě proto, aby fungovala automatická správa paměti, kopie objektů. To zda je to právě to co člověk zrovna chce je věc jiná. A ano máte pravdu, že std::auto_ptr je pro vkládání do kontejnerů zcela naprd, do kontejneru je třeba vkládat přímo kýžený objekt (ve skutečnosti kopii).
Ten blbec, který to vymyslel, naprogramoval taky kernel, díky kterému ti funguje počítač. Jak by asi vypadal kernel bez pointerů???
Asi jsem se špatně vyjádřil. Měl jsem se spíš ptát, jak by fungoval kernel bez pointerů. Na to už je jednodušší odpověď, protože na žádném dnešním hardware se kernel bez pointerů vytvořit nedá.
(Než zase někdo přijde s pohádkou o hardwarovém JVM, je dobré se zamyslet nad faktem, že na nejnižší úrovni se tak nebo tak s pamětí přímo pracovat musí.)
Že by pak pointer nebyl totéž co long? To je jistě realizovatelné, hodně tupě třeba vyhrazením 1/(délka slova) fyzické paměti na bitmapu, která bude říkat, ve kterých slovech jsou pointery. Jen mi není jasné, jak přesně by to zvýšilo efektivitu práce s pamětí. Implementace polí bude tak nebo tak vždy záviset na pointerové aritmetice.
Tiskni
Sdílej: