Steve Jobs a superpočítač Cray-1 budou vyobrazeny na pamětních jednodolarových mincích vyražených v příštím roce v rámci série Americká inovace. Série má 57 mincí, tj. 57 inovací. Poslední 4 mince budou vyraženy v roce 2032.
Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2025 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 1. a 2. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Senát včera opětovně nepřijal návrh ústavního zákona, který měl do Listiny základních práv a svobod zakotvit právo občanů platit v hotovosti nebo být off-line. Návrh předložila skupina senátorů již v roce 2023. Senát dnes návrh neschválil, ale ani nezamítl. Pokud by ho přijal, dostala by ho k projednání Sněmovna a vyjádřila by se k němu vláda.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 13.0 (Mastodon). Forgejo je fork Gitei.
Společnost Eclypsium se na svém blogu rozepsala o bezpečnostním problému počítačů Framework. Jedná se o zranitelnost v UEFI umožňující útočníkům obejít Secure Boot.
Editor kódů Zed (Wikipedie) po macOS a Linuxu s verzí 0.208.4 už běží také ve Windows.
Apple dnes představil 14palcový MacBook Pro, iPad Pro a Apple Vision Pro s novým čipem M5.
Debian pro mobilní zařízení Mobian (Wikipedie) byl vydán ve verzi 13 Trixie. Nová stabilní verze je k dispozici pro PINE64 PinePhone, PinePhone Pro a PineTab, Purism Librem 5, Google Pixel 3a a 3a XL, OnePlus 6 a 6T a Xiaomi Pocophone F1.
Operátor O2 představil tarif Datamanie 1200 GB . Nový tarif přináší 1200 GB dat s neomezenou 5G rychlostí, a také možnost neomezeného volání do všech sítí za 15 Kč na den. Při roční variantě předplatného zákazníci získají po provedení jednorázové platby celou porci dat najednou a mohou je bezstarostně čerpat kdykoli během roku. Do 13. listopadu jej O2 nabízí za zvýhodněných 2 988 Kč. Při průměrné spotřebě tak 100 GB dat vychází na 249 Kč měsíčně.
Byly publikovány informace o útoku na zařízení s Androidem pojmenovaném Pixnapping Attack (CVE-2025-48561). Aplikace může číst citlivá data zobrazovaná jinou aplikací. V demonstračním videu aplikace čte 2FA kódy z Google Authenticatoru.
static SenseOfIrony i = new SenseOfIrony();
error: conversion from ‘SenseOfIrony*’ to non-scalar type ‘SenseOfIrony’ requested
#include <stdio.h> #include <stdlib.h> void akce0() { printf("Akce 0\n"); } void akce1() { printf("Akce 1\n"); } void akce2() { printf("Akce 2\n"); } void test(int akce) { void (*op_table[])() = { akce0, akce1, akce2 }; if (akce >= 0 && akce <= 2) op_table[akce](); else printf("Akce mimo rozsah.\n"); } int main(int argc, char *argv[]) { char *p; int akce; if (argc < 2) { printf("syntax: test číslo akce\n"); return 1; } akce = strtol(argv[1], &p, 0); if (p == NULL || *p != '\0') { printf("Chybné zadání.\n"); return 0; } printf("Volám akci...\n"); test(akce); return 0; }
goto complete;
mi přijde jako zbytečnost - break
udělá to samé.
(Hm, takže je to vlastně jedno goto
naprogramoval jednou průvodce v Turbo Pascalu.
anicka@bia:/usr/src/linux> grep -r goto . | wc -l
37852
grep -cr
na rozvětvený adresářový strom? 14:47:10 ganymede:/usr/src/linux$ time find . -type f| xargs cat | grep -c goto 37926 real 2m1.915s user 0m1.612s sys 0m5.500s 14:51:11 ganymede:/usr/src/linux$ time grep -r goto . | wc -l grep: varování: ./debian/linux-image-2.6.17.4/lib/modules/2.6.17.4/source: smyčka pro rekurzivní průchod grep: varování: ./debian/linux-image-2.6.17.4/lib/modules/2.6.17.4/build: smyčka pro rekurzivní průchod 37918 real 1m43.943s user 0m1.828s sys 0m3.848sjen by me zajimalo proc se vysledky lisi :/
Že je goto hřích se říkalo v dobách, kdy se přecházelo z Basicu a kdekdo cpal goto úplně všude. goto má svůj význam, a např. v linuxovém jádru se vyskytuje celkem hustě.Nicméně já mam velmi rád objektové programování, takže mě se goto a podobné konstrukce taky rozhodně nelíbí
Paušální odsouzení obvykle nejsou k ničemu. Vzpomínám si na člověka, který nás učil programování na gymplu. Ten mi byl schopen tvrdit, že když používám v Turbo Pascalu Exit
(předčasný návrat z procedury nebo funkce, tj. obdoba céčkového return
), stává se tím můj program nepřehledným a že přehlednější by bylo vnořit do sebe deset if
ů…
Takže je potřeba si uvědomit, proč tam to goto
je a zda přispívá k přehlednosti a srozumitelnosti kódu nebo ho naopak zatemňuje. Koneckonců vyšší jazyky běžně mají konstrukce, které jsou jen jinak pojmenované goto
- v C je to třeba return
, break
nebo continue
. A nebo třeba celý mechanismus výjimek, to je také jen maskované goto
.
goto
i v implementacích Pascalu, které neměly s Borlandem nic společného.
return
(předčasný), break
nebo continue
a společně ukazují, že při řešení chybových stavů může narušení toho ideálu vést naopak ke značnému zpřehlednění programu.
goto
hluboký smysl kvůli přehlednosti kódu. V některých funkcích jsou někdy i desítky míst, kde něco může selhat. Protože se většinou musí provést nějaký úklid (něco odregistrovat, snížit počet referencí, uvolnit paměť apod.), nelze jen tak z funkce vyskočit. Proto by to jinak vedlo buď na mnoho vnořených podmínek nebo (při rozkladu na více funkcí) na celou kaskádu volání, ve kterých by se nikdo nevyznal. Proto se používá goto
- při vhodně pojmenovaných návěštích je takový kód přehledný a srozumitelný.
až na to, že volání metody je computed call/computed goto
…volání virtuální metody…
on ... goto
' není zdaleka nejúžasnější basicová vymoženost. Třeba na Spectru tahle konstrukce nebyla, ale zato argumentem goto
mohl být výraz… :-)
GOTO SIN(I)
... EINE: EINE Is Not EMACS. :)
ZWEI: ZWEI Was EINE Initially. :D
Co to je proboha za patičku?
Tiskni
Sdílej: