ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.
Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Ono je hlavně důležité, aby se člověk naučil algoritmicky myslet a aby měl určité povědomí o tom, jak počítač pracuje. Na konkrétním jazyce pak až tak moc nezáleží (pomineme-li speciality typu LISP nebo Prolog).
def dictionary(): return {'jeden':1,'dva':2}Podobný příklad (ať už jakkoliv nesmyslný) by v C++ by zabral daleko více místa, sice by byl efektivnější a rychlejší, ale pro výuku je to IMHO irelevantní.
libstdc++
) #!/usr/bin/perl # 472-byte qrpff, Keith Winstein and Marc Horowitz # MPEG 2 PS VOB file -> descrambled output on stdout. # where k1..k5 are the title key bytes in least to most-significant order s''$/=\2048;while(<>){G=29;R=142;if((@a=unqT="C*",_)[20]&48){D=89;_=unqb24,qT,@ b=map{ord qB8,unqb8,qT,_^$a[--D]}@INC;s/...$/1$&/;Q=unqV,qb25,_;H=73;O=$b[4]<<9 |256|$b[3];Q=Q>>8^(P=(E=255)&(Q>>12^Q>>4^Q/8^Q))<<17,O=O>>8^(E&(F=(S=O>>14&7^O) ^S*8^S<<6))<<9,_=(map{U=_%16orE^=R^=110&(S=(unqT,"\xb\ntd\xbz\x14d")[_/16%8]);E ^=(72,@z=(64,72,G^=12*(U-2?0:S&17)),H^=_%64?12:0,@z)[_%8]}(16..271))[_]^((D>>=8 )+=P+(~F&E))for@a[128..$#a]}print+qT,@a}';s/[D-HO-U_]/\$$&/g;s/q/pack+/g;evalnebo tohle:
#!/usr/bin/perl -w # 531-byte qrpff-fast, Keith Winstein and Marc Horowitz # MPEG 2 PS VOB file on stdin -> descrambled output on stdout # arguments: title key bytes in least to most-significant order $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16 -2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h =5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$ d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^ $d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^ (($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;evaltak jsem z toho takový trošku nesvůj
Otázka je, jak by vypadaly výsledky, kdyby se do nich ládovalo něco jiného ;-)No, v příštím roce budeme navíc brát Pascal
add r1, add r2, r3
, když mají v assembleru sečíst tři čísla. Jen podotýkám, že v době, kdy jsem tam chodil já, tak jsme takové problémy neměli.
Ad správa paměti, v jednom předmětu jsme dělali v Pascalu jednoduchý garbage collector, takže dnes jsem o to vděčnější, že něco takového udělali někteří už za mě.
S tou pamětí... Podle mne má člověk přinejmenším zkusit dělat si správu paměti sám. Lidi, kteří se naučí jazyk, který má X jako zabudovanou vlasnost (X = správa paměti, hashové tabulky, RTTI, HTTP sessions, ...), většinou netuší, jak taková věc funguje a jak ji využívat správně a efektivně -- k tomu je zapotřebí pohled o úroveň níž.No a na jakou až úroveň jít? Nejsem fyzik a nevím k čemu všemu už se při rozebírání světa dostali, ale nemyslím, že by k efektivnímu programování bylo třeba rozumět dejme tomu polovodičům
dám tam bublesort, počítače jsou dneska rychlé...a to je bubblesort "jen" kvadratický. Je pořád dost lidí, kteří se klidně hotoví použít algoritmus s exponenciální nebo faktoriální složitostí! Ostatně, vzpomínám na to, když jsem ve škole, v předmětu "Problémy a algoritmy", chtěl ukládat data do (sekvenčně prohledávaného) pole s tím, že "jich není zase tolik". Když se mi před očima program brutálně zpomaloval, bylo mi jasné, že takhle to nejde
f(n){return n<2?1:f(n-1)+f(n-2);}
Tedy v K&R céčku, 'gcc -Wall
' by měl asi řeči… Pří troše štěstí by možná mohlo projít i
f(n){return n<2?1:f(--n)+f(--n);}
int f(int n){return n<2?1:f(n-1)+f(n-2);}atd.
-ansi
, -pedantic
, -std=c89
, -std=c99
i další. GCC (3.3.5) to vždy přeložilo.
-Wall
vyhodí jeden warning, s -std=c99
dva… Ale v těch učebnicích to takhle samozřejmě nevypadá, tam je to hezky rozepsáno. Na příšernosti té implementace to ovšem nic nemění…
To je nejspíš věčný omyl, s podobným způsobem uvažování jsem se poprvé setkal už někdy kolem roku 1988…
var A : array[1..N] of integer
…" Druhá skupina měla Kryla (našeho "pedagoga" jmenovat nebudu, on za to vlastně nemůže), do počítačové učebny se za celé pololetí nepodívali, o Pascalu se začali bavit až asi po čtvrt roce, ale o programování se toho naučili podstatně více než my; u nás to bylo tak, že kdo programovat uměl, výklad ignoroval, a kdo ne, ten se z něj stejně nic nenaučil. Ponaučení ponechám laskavému čtenáři za cvičení…
Tiskni
Sdílej: