V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.
Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.
Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.
Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.
Valkey (Wikipedie) byl vydán v nové major verzi 9.0. Valkey je fork Redisu.
Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.
AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.
Puvodni GUI toolkit pro Javu bylo AWT. V podstate se jednalo o C/Java rozhrani pro nativni komponenty operacniho systemu. AWT melo hromadu chyb, v podstate zpusobenych prilis casnym uvedenim. Misto opravovani AWT se ale Sun dal jinou cestou.
Najal cloveka z firmy zabyvajici se Smalltalkem a udelal z neho sefa GUI vyvoje. Tento clovek pak protlacil Swing jako hlavni GUI toolkit v Jave. Swing byl v dobe uvedeni jeste vice bugy nez AWT a v podstate nemozny pouzivat. Na rozdil od AWT se ve Swingu o vsechno staral Java kod. To zpusobovalo jeho pomalost. Nektere veci pak nebylo z duvodu vykonu mozne delat vubec, napriklad rendering fontu.
Je zajimave ze na vyvoji Swingu se podilele take Netscape. V dobe kdy je valcoval Microsoft se rozhodl cely browser prepsat do Javy. Swing pak mel byt GUI toolkit pro novy browser. Dalsi pozustatek je treba Rhino - javascript engine spravovany Mozillou.
Swing byl hodne bugy a navic opravdu pomaly. To se zmenilo s Javou 1.4, kde je opravena cela rada chyb a vylepsen vykon. Java 5 pak pridava nativni zvhled pro Microsoft. Java 6 pak vylepsuje nativni vzhled, vylepsil vykon a 2D akceleraci vykreslovani. Dnes je Swing odladeny a dobre pouzitelny. Podle nekterych testu ma rychlejsi vykreslovani nez GTK...
Zakladnim problemem Swingu je jeho slozitost. I primitivni JButton ma stovky metod. Dale existuji mnozstvi layout manageru, listeneru apod. Pro zacatecniky je tezke zacit. Trva to tak rok, nez se dostavi dobra produktivita. Na druhou stranu je jako 'svycarsky nuz premenitelny na tank'. Pri dobrem zvladnuti ma Swing velmi siroke moznosti.
Tiskni
Sdílej:
Ad GC, myslim ze soucasny je ve vlastnim threadu a nezpusobuje zamrzani.Defaultní GC je pořád jednovláknový Stop The World. Ale můžu si vybrat i paralelizovanou variantu, a dokonce i variantu, která ostatní vlákna neblokuje. Tedy na víceprocesorovém stroji, mám pocit, že jeden procesor si v takovém případě vlákno GC uzurpuje pro sebe
Jinak třeba RScheme by mělo mít deteministický GC úplně - nějak mi není jasné, jak to dělají, ale prý to nějak funguje.
To jako JVM umí tech algoritmů několik a při startu se to dá opšnou nastavit? Já žiju v tom, že je tam jenom stop-the-world mark'n'sweep.Přesně tak. Teda ne úplně přesně, ony ty algoritmy jsou v podstatě pořád stejné, akorát si můžeš vybrat, jestli chceš jedno- nebo vícevláknový a blokující nebo neblokující ostatní vlákna. Jinak GC je generační, pro první generaci se používá něco na způsob kopírovacího algoritmu, pro druhou mark and sweep. No a aby toho nebylo málo, tak teď vyvíjejí ještě úplně jiný (G1).
Ono udělat paralelní GC (natož pak realitmový) asi nebude žádná prdel.No to není. On i ten "neblokující" algoritmus na dvě krátké chvilky všechna ostatní vlákna zablokuje
A už se mi jednou stalo, že kvůli nějaké chybě v jeho implementaci JVMko spadlo.
Jak to řeší v realtime Javě, tak to už vůbec netuším.
Hm, a pro .NET je tech firem asi 20, co vyviji takoveto komponenty (co znam ja....),takze je to mozna opravdu spis o nevhodnosti javy pro desktop app....Je to především tím, že .NET je v současné době primárním prostředím pro psaní Windows aplikací. Což má vliv jak nepřímý (tj. firmy dělají komponenty), tak přímý (tj. Microsoft si s tím dáva opravdu velkou práci - je to důležitější než celý kernel Windows a Office dohromady).
podpora skinovani (pro vsechny komponenty od devexpress) velice snadno zmenite vzhled cele aplikace moderni vzhled - gradient prechodyAno, toto je opravdu "strašně důležité". Jestli by nebylo lepší se zabývat funkční stránkou aplikace, než tím, že si potencionální uživatel bude moci změnit skin v aplikaci. Nedalo mi to, ale musel jsem si rýpnout. Povšechně v Javě mě chybí (i když teď už sem v ní nic desktopového nedělal, takže nevím kam se hnul vývoj) nějaké rozumné swing komponenty s databázovým bindingem - svého času byly relativně rozumné součástí borlandího JBuilderu.
(i kdyz na vzhledu app taky zalezi, podivejte treba na iPhone manii), jenze u tech komponent jde o vice veci (treba ten binding, ktery zminujete je u devexpress docela promakany, dale treba nastaveni masky editoru, podpora regexu, je toho opravdu strasne moc, co ty komponenty umi), ktere vyvoj app pote strasne zjednodusuji a ulehcuji...validace napr.. Jasne, vsechno napisu i v jave, ale takovou typickou kancl app. s napojenim na DB napisu proste v .NET 2x,3x (hruby odhad, prosim nekamenovat!!!) rychleji (a tudiz levneji), mam ji driv nez konkurence treba (coz muze rozhodovat o uspechu)
hadat se nechci, spis jen se treba dovedet, ze java je v tomto dal, nez si myslim a nez jsem objevil
Zakladnim problemem Swingu je jeho slozitost. I primitivni JButton ma stovky metod.Na tom nesejde, SWING je taková knihovna, ze které si člověk vyzobává to, co zrovna potřebuje. To že má tlačítko x metod, nevadí. Nejjednodušší aplikaci prostě začneš s jedním tlačítkem, textovým polem, metodami getText(), setText() a jednou událostí. S těmi správci rozvržení je to trochu pravda, ale pokud člověk používá NetBeans, tak se s tím velmi rychle vyrovná. Pokud jde o nevýhody Swingu, tak vidím dvě: dost komponent člověk musí suplovat knihovnami třetích stran (třeba open source SwingX) a to, že pod Windows vypadá nativně, zato v Linuxu je to pořád dost mizerné, zvlášť v KDE. Ale vynahradit se to dá look&feely, takže ty aplikace pak vypadají dobře, jen trochu jinak.