Společnost Meta ve spolupráci se společností Oakley oznámila řadu chytrých brýlí Oakley. První Oakley Meta HSTN si lze předobjednat za 499 dolarů.
Ministerstvo průmyslu a obchodu (MPO) vyjádřilo podporu předložení projektu AI Gigafactory CZ, který do veřejné konzultace Evropské komise zaslala společnost České Radiokomunikace (CRA) v rámci iniciativy Project AIGF CZ. Jde o významný krok k rozvoji výpočetní infrastruktury pro umělou inteligenci (AI), která je prioritou resortu. Projekt je v souladu s cíli Národní strategie umělé inteligence ČR 2030 a je již součástí návrhu
… více »Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 154 (pdf). S podtitulem Automatizace domácnosti.
Americký prezident Donald Trump podepsal exekutivní příkaz, který prodlužuje lhůtu pro prodej amerických aktiv aplikace TikTok vlastněné čínskou společností ByteDance do amerických rukou o dalších 90 dnů. Americký Kongres loni v dubnu kvůli bezpečnostním obavám přijal zákon, podle kterého měl vstoupit v platnost zákaz sítě TikTok v USA v případě, že se prodej neuskuteční do 19. ledna. Trump však v lednu lhůtu pro prodej prodloužil o 75 dnů. V dubnu pak přikročil k prodloužení o dalších 75 dnů, lhůta tak měla vypršet dnešním dnem.
Microsoft hodlá zrušit další tisíce pracovních míst, a to především v obchodních odděleních. Předchozí kolo propouštění se uskutečnilo v květnu a dotklo se 6000 zaměstnanců. Vedení firmy již dříve upozornilo, že vzhledem k rozsáhlým investicím do umělé inteligence (AI) se bude snažit omezovat výdaje v jiných oblastech.
Společnost Murena ve spolupráci se společností Qwant představila vyhledávač Murena Find. Ve výchozím nastavení bude používán v mobilním operačním systému /e/OS a v Murena Workspace.
V mobilní aplikaci Facebooku se lze nově přihlašovat pomocí Passkeys.
Společnost Midjourney představila vlastní generátor videí pomocí umělé inteligence (AI) V1 Video Model.
Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.
Občas není od věci vyslovit něco, za co se upaluje nebo ukamenovává. Nic není totiž tak jednoduché, aby byla pravda vždy jediná a na první pohled zřejmá.
Jednou z poměrně málo pochopitelných věcí je odpor k STL u programátorů v C++. Někteří pro něj mají pádné důvody, ale u těch ostatních většinou nevím o jediném rozumném argumentu, proč STL nepoužívat.
Prakticky každý program vyžaduje nějaký mechanismus ukládání dat v paměti. Velice záleží na tom, jaká data ukládáme a jak s nimi potřebujeme pracovat. Nelze zapomenout ani na časté dilema "operační versus paměťová složitost". Proto je dobré mít možnost s daty pracovat efektivním, univerzálním a přenositelným způsobem, s výběrem metody, jak se budou data ukládat.
V jazyce C++ máme standardně k dispozici velice silné prostředky k realizaci tohoto cíle. Skrývají se pod zkratkou STL (Standard Template Library, standardní knihovna šablon). STL je běžně součásní standardní knihovny C++ (např. libstdc++
), kromě toho existují i další implementace, např. STLPort. V knihovně jsou obsaženy šablony pro kontejnery a celá řada dalších zajímavých věcí, včetně efektivní implementace řetězců.
Když jsem začínal programovat v C++, právě STL byla věc, která mě naprosto uchvátila. Již předtím jsem znal Java Collections Framework, kde je filosofie trochu podobná, nicméně i vzhledem k různému charakteru jazyků se řada věcí liší. V každém případě jsem se ale do používání STL vrhl po hlavě a postupně přicházel na výhody i nevýhody. Pravda, nevýhod moc není - i když samozřejmě nějaké také jsou.
Vzhledem k výtečným vlastnostem STL by jeho použití mělo být metodou první volby ve všech případech, kdy tomu nebrání závažné důvody. Už pro tu přenositelnost a spolehlivost to stojí za to. Je tu pochopitelně pár situací, kdy STL raději nepoužívat - zde jsou ty hlavní z nich:
Když vynecháme uvedené důvody (a výjimečně ještě nějaké další), obecně není důvod se používání STL bránit. Přesto se všeobecně setkávám s tím, že programátoři toto řešení zavrhují a raději tráví spoustu hodin návrhem, implementací a laděním vlastních kontejnerů. Jiní se zase moří se složitými operacemi na řetězci typu char*
, i když pomocí std::string
by to měli hotové za pár minut.
Doporučuji proto, ať se každý, kdo programuje v C++ a nepoužívá STL, trochu zamyslí nad tím, jaký je hlavní důvod. Případně ať se podívá, co mu tato výtečná knihovna skýtá a jak se používá. Možná přijde na to, že to celé bylo zbytečné a že jediným důvodem nepoužívání byly obavy z neznámého.
Tiskni
Sdílej:
while (*s++ = *t++);
' nebo 'int f(int n) { return n ? n*f(n-1) : 1; }
' a musel jsem z toho vystřízlivět. Když jsem začínal s C++ byl jsem podobně opojen jeho vymoženostmi a byl jsem přesvědčen, že musím za každou cenu overloadovat operátory, používat šablony atd. Z toho prostě člověk musí vyrůst…
potvoro->hejbni_se();tak musím prolézt celkem dost kódu a zkoumat co kde je. Kdežto v C mi to grep poví prakticky rovnou a ctags fungují bezchybně. Další lahůdka je, když se v php předá nějaký objekt coby parametr funkce a chci zjistit co se vlastně předalo. To zas není problém v C++, protože tam je uveden typ. Zase nadruhou stranu, v C++ lze schovat spoustu kódu, který by jinak překážel a znepřehledňoval. Například přetížením operátorů. Ale to není u slušně napsaného kódu v C problém.
To taky, ale spíš jsem měl na mysli třeba to, že se děděním vytvoří nějaká hiearchie tříd. Metody se různě dědí či nedědí, některé jsou virtuální, některé ne... no a pak když chci vědět co se myslí řádkemTo je spise vysledek chaotickeho navrhu knihovny a pouzivani neintuitivnich jmen. A nebo dusledek vaseho podvedomeho odporu k OO programovani obecne.
int pole[] = {4, 4, 4,4 ,4}; std::sort(pole, pole+3); //seradi brambory nebo 4ky nebo streamy:)