Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
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
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.
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.