T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.
Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).
Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia AI asistenta Lumo.
Amazon koupil společnost Bee zaměřenou na nositelnou osobní AI aktuálně nabízející náramek Pioneer (YouTube) s mikrofony zaznamenávající vše kolem [𝕏, LinkedIn].
Společnost Teufel nedávno představila svůj první open source Bluetooth reproduktor MYND.
Byla vydána verze 4.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Anton Carniaux, právní zástupce Microsoft France, pod přísahou: Microsoft nemůže garantovat, že data z EU nepředá do USA bez EU souhlasu, musí dodržovat americké zákony.
Byl vydán Mozilla Firefox 141.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Lokální AI umí uspořádat podobné panely do skupin. Firefox na Linuxu využívá méně paměti. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 141 je již k dispozici také na Flathubu a Snapcraftu.
NÚKIB upozorňuje na kritickou zranitelnost v SharePointu. Jedná se o kritickou zranitelnost typu RCE (remote code execution) – CVE-2025-53770, která umožňuje neautentizovaný vzdálený přístup a spuštění kódu, což může vést k úplnému převzetí kontroly nad serverem. Zranitelné verze jsou pouze on-premise verze a to konkrétně SharePoint Server 2016, 2019 a Subscription Edition. SharePoint Online (Microsoft 365) není touto zranitelností ohrožen.
Tuhle jsme s vedlebydlou rozjímali nad C# a jeho novou verzí 3.0. V této verzi je spousta zajímavých novinek. K anonymním funkcím přibyly anonymní struktury (struct), lambda-výrazy, implicitně typované proměnné, rozšiřující metody (extension methods) atd. Většina těchto nových vlastností byla přidána kvůli zázraku jménem LINQ (Language INtegrated Query). LINQ by měl zlepšit integraci s externími daty (databáze, XML). Vypadá to docela zajímavě. Tento LINQ výraz:
from c in customers, o in c.Orders where o.OrderDate.Year == 2005 orderby o.Total descending select new { c.Name, o.OrderID, o.Total }
se vlastně převede na něco takového:
customers. SelectMany(c => c.Orders. Where(o => o.OrderDate.Year == 2005). Select(o => new { k1 = o.Total, v = new { c.Name, o.OrderID, o.Total } }) ). OrderByDescending(x => x.k1). Select(x => x.v)
Což je mix všelijakých anonymních implicitně typovaných lambda-udělátek . Ještě pro zajímavost, tato rozšiřující metoda:
public static T[] Slice<T>(this T[] source, int index, int count) { T[] result = new T[count]; Array.Copy(source, index, result, 0, count); return result; }
umožní dělat plátky ze všech typů s indexerem, tedy například:
int[] digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int[] a = digits.Slice(4, 3); // Same as Extensions.Slice(digits, 4, 3)
A teď to přijde: skoro si myslím, že je to celé blbě
Ty fíčury jsou mocné a asi i užitečné. O tom nemíním polemizovat, to ukáže čas. Problém je, že tenhle nános dělá z C# úplně jiný jazyk.
Myslím, že je krásné a dokonce důležité mít mocný ale zároveň jednoduchý "minimalistický" jazyk. Jazyk, kde jsou konstrukce ortogonální, kde nejsou žádné temné kouty. Takové jazyky mají šanci být nadčasové, neskončí se svým hype.
Dobrým příkladem takových jazyků je Lisp a SmallTalk. Ale taková Java se tomu hodně blíží (nebo spíše blížila, taková konstrukce pro výčtový typ z jazyka trochu "čouhá"). A C# ve verzi 1.0 byl prostě skvělý - jednoduchý, řešil některé problémy Javy a to obvykle velmi elegantně, zkrátka dílo génia.
Jenže toto nabalování fíčur z něj dělá míň uspořádanů hromádku vlastností (jako Object Pascal v posledních verzích), nemůžu si pomoct.
Podle mne jedna z nejlepších vlastností platformy .net je možnost efektivně kombinovat různé jazyky. Kdysi před mnoha zimami jsem psal pod Win32 program, kde různé moduly byly v C++ ala Borland, C++ ala Microsoft a Delphi. Dosažení kompatibility nebylo jednoduché. Když se tehdy objevily první informace o .netu, byl jsem z možného mixování jazyků nadšen. (Pozn: Java bytecode je dost natvrdo navržen pro Javu, překládat do něho jiné jazyky není jednoduché.) CLR rocks!
Jak už jsem naznačil, proti LINQ a funkcionálním udělátkům nic nemám, ba právě naopak. Jenže proč přidávat tyto věci do "dokonalého" jazyka a tím ho destabilizovat. Není lepší udělat nad dotnetem nové dotazovací/funkcionální jazyky? Když je platforma pro absobci nových jazyků dobře naladěna? Takové nějaké jazyky už jsou, třeba Python, F# a Boo.
Více jazyků v jednom projektu je sice možné, ale ne vždy úplně pohodlné. Ale to se dá vyřešit velmi elegantně, v C# je konstrukce #region, která slouží k oddělování úseků kódu. Stačí ji doplnit o popis syntaxe a rázem je možnost mít v jedné třídě každou metodu v jiném jazyce. Třeba:
class Pokus { // C# je takové "lepidlo", jeho syntaxe je implicitní public static void Main() { System.Console.WriteLine(pow(10)); } #region syntax("Ada") function pow(a : integer) returns integer is begin return a*a; end; #endregion }
Samozřejmě to není úplně bez problémů, spolupráce jazyků je sice CLR teoreticky zajištěna, ale "Devil is in the details". Každopádně využívat různé jazyky dle potřeby (vlastně jako dnes lepíme na projekty knihovny) by nemuselo být špatné. Pamětníci z časů DOSu zavzpomínají na oblíbenou kombinaci Turbo Pascal + vkládaný assembler.
Tiskni
Sdílej:
pre mňa sú java aj c# obmedzené deriváty inak skvelého, no nepochopeného, jazyka. Okrem toho ešte uznávam aj perl (ktorý, uznávam, je takisto ťažký na pochopenie).
nevraviac napr okrem spomínaných Lisp a Smalltalk o Objective C, Prolog, ... 1000 ľudí 1000 chutí (resp, ako sa nás isté trendy snažia presvedčiť 1000 ľudí, len jedna správna chuť)
...pochopí to každý středoškolák...Nepochopí. Nechápou to ani vysokoškoláci na elektrofakultě. (A pro rejpaly jde i o absolventy průmyslovek)
za "úspechom" javy je princíp návrharov "čo neviem používať ja, to nevie používať nikto iný", resp, "tomuto by idiot porozumieť nemusel, toto by mohol zle zapísať, toto vyhodíme"
while (...) { Integer i = hashtable.get (key); int ii = i.intValue (); ii++; hashtable.put (key, new Integer (ii)); }toto bol posledný klinec vo vzťahu java a ja. jednoducho mi vadilo, že základné datové typy (int, double, ...) nie sú objekty, ale reťazec už ano
class Phone; class FMRadio; class MP3Player; class PhoneWithFMRadio extends Phone, FMRadio;samozrejme, dá sa to napísať aj ako:
class PhoneWithFMRadio { Phone phone; FMRadio radio; }ale tým stratím možnosť
PhoneWithFMRadio my_nokia = new ...; t_mobile.registry (my_nokia); cz_republic."zaplat koncesionarske poplatky" (my_nokia);
Nechápu, co má Turingův stroj společného s "rekurzivními jazyky", ať už ten termín znamená cokoliv...to je trida jazyku v Chomskeho hierarchii ( http://en.wikipedia.org/wiki/Chomsky_hierarchy ), jsou to prave ty jazyky, ktere turinguv stroj prijima, rekursivne spocetne jsou ty, u kterych je navic schopen ( v polynomialnim case ) rozhodnout, ze je neprijme... ;) v praxi (ehm... teorii ;) ) to funguje tak, ze nejaky problem zakodujes nejakou abecedou (pro jednoduchost vem 0 a 1 jako celou abecedu ;) ) a pak zkoumas, pomoci turingova stroje, jestli dane slovo (mnozina znaku) odpovida tvym predstavam (definovanymi pomoci gramatik). Jestli je turinguv stroj po precteni vstupniho slova ve vystupnim stavu, slovo prijima a odpovida tedy programu turingova stroje (resp. gramatice podle ktere vznikl). doporucuji: http://ktiml.mff.cuni.cz/~bartak/automaty/prednaska.html btw. taky se mi zda, ze Ruby-isti jsou mnohem militantnejsi nez python-isti - osobni zkusenost (viz take http://www.artima.com/weblogs/viewpost.jsp?thread=141312 )
preto pri návrhu používam práve tento spôsob, núti ma premýšľať multiplatformovo. samozrejme, že mám možnosť obchádzať svoje vlastné mantinely. no a implementačným obmedzením je to, že generujem medzivrstvu (v mojom prípade Class::DBI). z xml navyše generujem len limitované featuresky, ak sa dajú (napr view). je to zošívané na mieru mojej súčastnej práce.
ale z-do ste kľudne mohol spomenúť