Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
new
(jedinou výjimkou jsou snad jenom řetězce). Potom se nemůžeš divit, že se představy, tebe jako Smalltalkera a Herona jako Javisty, o tom co je a není objektové, tak zásadně odlišují Taky máme zcela jiné představy o eleganci (jak už jsem dávno zjistil ),
Pravda pravda. Je teda fakt, že syntaxně chudé jazyky jako např. Scheme poněkud na eleganci taky ztrácí . Mě nejde ani tak o stručnost zápisu (vždyť od toho je tu IDE), jako spíš o přehlednost (opět se neshodneme
). Nevím. Píšu trochu jinak, rád mám ve věcech jasno a podobně jako nyní v Javě jsem psal už i v C++ (přesná, dopředu promyšlená hierarchie objektů a jejich důsledné dodržování vs. spoluprogramátoři, kteří mi přenesli C kód, kde využili jeden objekt a říkali tomu program v C++ -- dle mého názoru bastl plný odkazů, pointrů, několika způsobů předávání parametů + nějaké konstrukce pro tvoření tříd apod.).
Pak to dopadá jako u Ady, kde má frontend překladače půl milionu řádků (GNAT) Je to jasné, jazyky pro kritické aplikace musí co nejvíc možných chyb odchytit už při překladu.
Na druhou stranu existují jazyky, které bych neváhal nazvat brutálně dynamicky typovanými (kde slovo brutálně znamená, že neexistuje principiální rozdíl mezi daty a algoritmy), jejichž počet syntaktických konstrukcí je mnohem menší, ale vyjadřovací schopnosti mnohem větší. (On je to sice stejně všechno Turingáč, ale víme, o čem mluvím.) Takže provádět některá zajímavá kouzla (teď mne napadá třeba runtime modifikace kódu) může být mnohem méně náchylné na chyby právě v nich. Je to samozřejmě proto, že tohle je zase jejich nedílná součást – i když žádnou syntaxi nemá.
Je zřejmé, že intention revealing závisí na rozmanitosti jazyka, a automatické odhalování chyb taktéž. Ale některé věci se prostě líp (a s méně chybami) píšou v jazycích, které něčím takovým nedisponují a disponovat nemohou. Ne že bych to byl někdy dělal, ale myslím, že to tak musí být
Předávání odkazu na funkci je přece jasným "obcházením" objektů. Pravda, neznám žádný návrh, jak by to mělo vypadat v Javě, ale pokud vezmu klasický odkaz na funkci, jak ji známe z C, je pak možné tohle:
Trida1 obj1 = new Trida1 (); Trida2 obj2 = new Trida2 (); obj1.metoda(obj2.jinaMetoda);
A včem je problém: metoda() z obj1 má přístup k jinaMetoda() z obj2 aniž by měla referenci na objekt obj2. Tedy volá metodu nějakého objektu, aniž by měla přístup k danému objektu. Tohle jsem myslel tím neobjektové a na tom trvám. Něco takového tuším umožňují i delegáty v C#.
Tak teď to už vůbec nechápu. Čím přesně se ukazatel na členskou funkci (a.k.a. delegát, a.a.k.a. vázaná metoda ) liší od rozhraní s jedinou metodou?
Pozor, ne rozhranní s jedinou metodou (v rozhranní nelze nic implementovat), ale třída. No a liší se právě tím, že místo odkazu na jednu jedinou metodu (tedy vlastně funkci) má k disposici celý objekt. Nemůžu si pomoct, ale přijde mi trochu nesystémové, když se s objektem manipuluje "mimo objekt". Prostě se mi příčí, že někdo bude "jen tak" volat metody, aniž by k tomu objektu měl přístup jako celku. Nevím jestli si rozumíme, už se do těch slovíček trochu zamotávám. Ale myslím, že ten ukázkový kód byl jasný.
Jinak máš pravdu v tom, že pokud se bavíme o třídě implementující pouze jednu metodu tak není větší rozdíl mezi vázanou metodou a touto třídou (nebo anonymní třídou).
Přesně tenhle názor jsem ještě nedávno zastával, ale ona ta parametrizace kódu funkcí je skutečně velmi užitečná. Po pár skriptících v Ruby jsem reference na metody (a hlavně na anonymní metody) definitivně rehabilitoval. Náhrada objektem anonymní třídy je sice možná, ale co mi vadí snad ještě víc než ta hromada zbytečného kódu pro vytvoření instance je nutnost deklarovat extra rozhraní, tohle by se mělo dát udělat na místě použití.
Jen taková poznámka na okraj: dávám přednost tomu slíznout smetanu (tj použít uzávěry v Ruby, při práci s kontejnery), než abych vědomě vymýšlel, kde parametrizovat javovskou metodu metodou.
Já jsem to teď zrovna potřeboval. Pochopitelně jsem mohl mít vedle sebe čtyři metody, každou na dvacet nebo třicet řádek, které by se lišily jedním voláním kdesi uprostřed, ale to jsem radši překousl to rozhraní a anonymní vnitřní třídy. A dal bych přednost tomu, kdybych i v Javě konečně mohl slíznout takovou smetanu. Vývoj Javy dost konzervativní na to, aby to dnešní Javisti, na které ze všech stran útočí RoRýsi, v klidu překousli.
Tiskni
Sdílej: