Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.
Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.
Už za týden, ve čtvrtek 4. června, se v Národní technické knihovně v pražských Dejvicích uskuteční další konference věnovaná tématům spojeným s IPv6 - Den IPv6. Program akce a registrační formulář jsou k dispozici na webu akce. Kapacita konference je omezená, proto organizátoři doporučují, aby se vážní zájemci přihlásili včas (k dnešnímu dni zbývá přibližně 30 volných míst). Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.
Zařízení Steam Deck OLED bylo znovu naskladněno, ale vlivem rostoucích cen pamětí a úložišť má novou, vyšší cenovku. Steam Deck OLED 512 GB stojí nově 779 EUR (stál 569 EUR) a Steam Deck OLED 1 TB stojí 919 EUR (stál 679 EUR). Samotné zařízení se nijak nezměnilo a nové ceny tedy pouze odráží aktuální náklady na komponenty a další globální logistické výzvy, se kterými se potýká celá branže.
Český telekomunikační úřad zahajuje novou etapu využívání vysokofrekvenčního rádiového spektra v pásmu 26 GHz. Toto pásmo bude od 1. 7. 2026 otevřeno pro provoz moderních bezdrátových sítí, zejména sítí páté generace (5G), pevných bezdrátových přístupových sítí (FWA) a lokálních či průmyslových sítí určených například pro výrobní areály, logistická centra nebo technologické kampusy. Současně s otevřením pásma 26 GHz přistoupil ČTÚ ke zpřístupnění informací o využívání rádiových kmitočtů v tomto pásmu.
Logitech představil myš Signature Comfort Plus M850 L s polstrovanou opěrkou dlaně pro větší pohodlí a sadu s touto myší a klávesnicí s integrovanou opěrkou dlaní Signature Comfort Plus Combo MK880.
Gaël Duval se rozepsal o novinkách a plánech Murena a /e/OS. Počet uživatelů telefonů Murena a mobilního operačního systému /e/OS bez aplikací a služeb od Googlu se blíží 100 000. Ambicí je, aby se /e/OS stal třetí mobilní platformou v Evropě i na světě, s potenciálem dostat se i na PC. Blíží se vydání nové verze 4 s funkcemi zálohování a obnova, import e-mailů z Gmailu a rozpoznávání hlasu. Murena Workspace přinese videohovory, elektronický podpis a správu zařízení (MDM).
Dnes a zítra probíhá Ubuntu Summit 26.04. Na programu je řada zajímavých přednášek. Sledovat je lze na YouTube. Úvodní slovo měli Mark Shuttleworth a Jon Seager.
(Ranša Rosa? To je v Mexiku?
)
riadenie toku kodu indentom ( co za blba toto vymyslelo! )
Za takové věci by měly být přísné tresty. To mi připomíná, že bych si měl konečně zjistit, kdo má na svědomí syntaxi makefilu… :-)
Jak kdy. Vím, že puristé by mne vytahali za uši, ale věci jako
if (R < 0) { perror("blabla"); exit(1); }
(to je jen příklad) mi připadá přehlednější napsat do jednoho řádku.
Jsem ochoten se skřípěním zubů akceptovat, když jazyk přikládá zvláštní význam značce konce řádku (Bourne shell, assemblery), ale jazyk, který nepřežije záměnu neprázdné posloupnosti mezer a tabulátorů jinou neprázdnou posloupností mezer a tabulátorů, považuji za zvrácený.
To je argument proti Pythonu?Jak kdy. Vím, že puristé by mne vytahali za uši, ale věci jako
if (R < 0) { perror("blabla"); exit(1); }(to je jen příklad) mi připadá přehlednější napsat do jednoho řádku.
if True : print("koncim"); sys.exit()
V něm jde napsat taky.
ale jazyk, který nepřežije záměnu neprázdné posloupnosti mezer a tabulátorů jinou neprázdnou posloupností mezer a tabulátorů, považuji za zvrácený.Popravdě, mě osobně se tato vlastnost Pythonu taky moc nelíbí (zlatý Haskell, tam si člověk aspoň vybere). Bílé znaky do syntaxe nepatří ... (ano, já mám
:set list, ale co ostatní?)
Ano ano, proc si na handle napsat nejakou tridu, ve ktere jednou pro vzdy naimplementuju zpusob uvolnovani a dal se o nic nestarat? Proc na zobecneni takove tridy pouzit sablony, pripadne makra?
Mnohem lepsi je se stale dokolecka kopirovat jeden a ten samy kus kodu s finally, znovu a znovu psat kontroly zdali uz byl handle v try {} inicializovan a muzu ho uvolnit, neustale premyslet nad tim, kde mi muze vybublat vyjimka a kde bude treba pridat finally s uvolnenim...
Opravdu je napsání deklarace třídy, definice třídy, napsání kódu konstruktoru a destruktoru kratší, než jednoduché použití finally?Jestli je pro vas neprekonatelny problem abstrahovat opakujici se kod a udelat to tak, abyste pro vygenerovani tridy zadaval jen typ handlu, funkci pro uvolneni a nazev, tak vam neni pomoci. Pokud handle pouzijete v celem programu pouze jednou, tak to vyjde (± pismeno) nastejno. Jakekoliv dalsi pouziti je cista ztrata pro finally.
Dokonce strojový kód v případě finally je kratší a rychlejší, protože kompilátor si ušetří budování seznamu lokální objektů k destrukci! Ale ve strojovém kódu je automatické volání destruktorů a finally naprosto to samé! Je to totéž! Jak tedy jedno může být bezpečnější, než druhé?Jestli se vam program vlece kvuli "stack unwind" a hodlate to resit pomoci finally, tak vam neni pomoci. Rozdil je prave v tom, ze seznamy objektu k destrukci za vas vytvari kompilator, v pripade finally toto musite dalat sam. Ze se ma volat nejaka funkce na uklizeni je receno uz pri definici promenne, nemuze se vam stat, ze byste na uvolneni zapomnel, vubec to neresite - proto je to bezpecnejsi.
A az zas budete do c++ tlacit finally kvuli handlum, tak se hlavne v kontrastu k tomu nezapomente zminit, ze se vybor do standardu chysta prosadit spoustu naprosto zbytecnych veci...
handle_type some_handle = ::CreateHandleFromOsAPI(bla bla);
try
{
...
}
finally
{
if (some_handle != null_handle)
::CloseHandleOsApi();
}
Pokud je to jednorázové, rozhodně to není to samé co napsat definici třídy (pro jistotu připomínám, že handlů není jeden druh, aby to šlo odepsat jednou třídou).
Kde jsem napsal, že se mi program vleče kvůli "stack unwind"?
Poslední odstaven no comment. Zřejmě Vám Vaše žena nedala a Vy holt si nemáte kde vybít zlost.
handle_type some_handle = ::CreateHandleFromOsAPI(bla bla); try { ... } finally { if (some_handle != null_handle) ::CloseHandleOsApi(); }
Moc nechapu, proc na takovy jednoduchy kod potrebujete nove klicove slovo v jazyce C++ ?
pro jistotu připomínám, že handlů není jeden druh, aby to šlo odepsat jednou třídouRika vam neco termin "template specialization" ?
Důležité je všimnout si toho "special operator" V Lispu není special operator nic, co jím být nemusí. Je jich tam jen pětadvacet, a nad nimi je vystavěno všechno. Jinými slovy, to, co Vy tady považujete za nové zbytečné klíčové slovo, je jinde považováno za užitečné primitivum pro flow of control.
DEFINE_RRELEASE_CLASS(scoped_handle, handle_type, ::CloseHandleApi()); ... scoped_handle some_handle = ::CreateHandleFromOsAPI(bla bla); ...
Kde jsem napsal, že se mi program vleče kvůli "stack unwind"?To jsem si dovolil vydedukovat z vasi odpovedi. Protoze jestli se vam program nevlece kvuli "stack unwind", tak naprosto nechapu proc resite na kolik instrukci vam vyjde finally a na kolik destruktory.
No tak s handlama si nabehl pan Ponkrac, ja si je nevymyslel.
Ano, dovedu si predstavit pripady, kdy vam to muze usetrit par radku kodu. Jenze finally neresi podstatu problemu, je to jen berlicka, ktera se neda k nicemu dalsimu pouzit. Doufejme, ze v novem stadardu bude vyresena ta postata (napr. pridanim lambda funkci) a pak uz bude podobna debata zbytecna.
- novy kompilator
Nove vlastnosti prekvapive vyzaduji implementaci v prekladacich. Nastesti pripominky jejich vyvojaru jsou brany vazne, prave z toho duvodu, ze nikdo nechce, aby se opakovalo fiasko s exportovnanim sablon. Krom toho, pro gcc uz existuje iplementace napr. konceptu, "variadic templates", ...
- finally
V C++ se pouzivaji jine techniky, coz je ostatne duvod, proc se nikdo ani nepokusil to navrhnout a proc to nikomu neschazi.
- nebudou C99 int
Na to jste prisel jak?
Vzdyt preci mam pravo se zasmat a jen jsem rad, ze nejsem sam, komu nektere vase prispevky pripadaji nepodlozene a chybne.
To IMHO není až takový problém, pokud to člověk potřebuje. A pokud to nepotřebuje, není problém to zkompilovat staticky.
Koneckonců to trošku hapruje s testovatelností, takže se jistě najdou i tací, co to nebudou chtít umožnit, aby se nemohli uživatelé střílet do nohy.
Ale vzhledem k tomu, že typické interpretované jazyky obvykle obsahují nějakou formu include,To mě vždycky udivovalo, jak jsou v tomhle různé implementace JavaScriptu jednotné a o include jej nikdo nerozšíří a nerozšíří…
include umí vzít skript „zvenku“, eval umí pracovat jen s tím, co už má. Takže mu skript musíte dopravit jinou cestou, pokud něco takového umožňuje prostředí, ve kterém je interpret spuštěn. XMLHttpRequest ve webových prohlížečích je poměrně mladá záležitost, a chybějící include v JS pro Windows Scripting Host vypadá jako špatný vtip (přestavte si, jak by se asi pracovalo s unixovým shellem bez source).
sveho casu jsem si hral s knihovnou rhino... a to byste se divil co dokaze ecmascript, kdyz ma ty spravne bindingy....Rhino už je součástí sunovské Javy 6, tam už je těch objektů pro binding docela dost
Což mi připomíná, že Java už vlastně tu možnost include má, protože načtení bajtkódu třídy z pole bajtů umí odpradávna, a v 6 už jsou i veřejné třídy pro volání kompilátoru (pokud je k dispozici, samozřejmě).
Takže to můžeme uzavřít, že interpretované jazyky zpravidla include mají, zatímco kompilované ne, přičemž pro jazyky s názvem vyhovujícím vzoru "Java*" platí výrok obráceně
s WSH jsem nemel dikybohu tu cest... ale pokud tam jdou instanciovat jakekoliv activex objekty (z cehoz mam docela strach) tak by nemel byt problem takvou funkcionalitu dopsat...ActiveX tam fungují, takže by to šlo. Dokonce jsou pro WSH myslím nějaké objekty pro čtení souborů už přímo v systému. Ale pořád je jaksi nešikovné v prostředí, které má být určeno pro tvorbu systémových skriptů, programovat
include na 5 řádek
s WSH jsem nemel dikybohu tu cest...
Já bohužel ano. Konkrétně, když jsem ke své značné nelibosti zjistil, že Explorer (neplést s Internet Explorerem) ve Windows 98SE schovává některé přípony (např. shs) i v případě, že se mu v konfiguraci zaškrtne "zobrazovat přípony všech typů". Velmi praktické…
Urcite se problem da resit i jinak, ale ja to mel za 2 hodky hotove a hodne me to bavilo programovat a ulehcilo pocitani... no pocitani to ulehcilo asi vsem v rocniku
Co? Eval umí vyhodnotit řetězec, který se dá za běhu v tom skriptu napsat, dá se načíst z čehokoliv...Ano, přesně tak. Jenže problém je v tom „z čehokoliv“ – JS jako takový nemá žádnou možnost získat takový řetězec odněkud „zvenku“. K tomu musí poskytnout nějaké objekty běhové prostředí, ve kterém ten JavaScript běží (třeba webový browser). Před
XMLHttpRequestem to znamenalo mít ve stránce skrytý iframe, do něj JavaScript asynchronně načíst (a to ještě tak, aby jej browser neinterpretoval, ale nechal na pokoji), zkontrolovat, že se načetl opravdu JS a ne chybová stránka a pak jej spustit. Ve WSH to znamená načíst textový soubor, v cyklu ho projít po řádcích a načíst do řetězce a pak opět předat do eval. Fakt jednoduchost sama
Je to zhruba na stejné úrovni, jako z Cčkového programu zavolat kompilátor a výsledný program spustit – to pak C má taky include
Což má samozřejmě omezení, ale funguje to. A jestli se nepletu, tak to takhle nějak funguje i v perlovském Inline::C a rubáckém RubyInline.
Tiskni
Sdílej: