Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
Sám jsem člověkem více než cokoli jiného rozporuplným, a bohužel i mé texty jsou začasté plny rozporů. Když si jich někdy všimnu a snažím se o vysvětlování, čitelnost obvykle povážlivě klesá. Celé to je jen snaha zdokonalovat svoje vyjadřování, snaha vměstnat notně zkurvenou poezii do schémat hovorové řeči. A snad i já mohu věřit, že hledat krásná slova je lepší než zabíjet a vraždit.
Dnes poněkud roztěkaně, na několik různých témat, jejichž společným jmenovatelem jsou slova uvedená v nadpisu. Čekají nás světlé zítřky? Kam zmizí světlé dnešky? Co na to Microsoft? Co na to Miguel de Icaza? A co na to Chuck Norris?
V mém prvním zápisu o closures v Javě jsem uvedl první příklad v JavaScriptu. Pro ten druhý už jsem musel použít Groovy – jednoduše proto, že to, co jsem chtěl předvést, jeho knihovna podporuje, zatímco v JavaScriptu byste hledali marně. Tedy do chvíle, než poznáte knihovnu Prototype (dokumentace, ta zajímavá část; ještě jiná dokumentace).
Pokud už jste o ní slyšeli, pak pravděpodobně v souvislosti s AJAXem. Prototype ovšem kromě toho dělá pár dalších zajímavých věcí, mimo jiné i rozšiřuje standardní JavaScriptové objekty o klasické iterátorové metody (each, collect atd.). Onen zmíněný příklad na vyhledání sudých čísel v seznamu lze tedy přepsat takto:
var cisla = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var sudaCisla = cisla.findAll(function(c) {
return c % 2 == 0;
});
Není to tak hezké, jako v Groovy, ale… je to super! 
Zásadní zjištění na začátek: closures jsou vlastně lexical closures, což už si klidně dovolím přeložit, protože zmatek nehrozí. Nuže: chci v Javě lexikální uzávěry!
Poslední návrh specifikace je nyní k nalezení na http://www.javac.info/ a je vcelku zajímavý. Funkční typy (s poměrně významně pozměněnou syntaxí) jsou nyní vlastně jenom trochu lepší syntaktický cukr pro deklaraci a/nebo implementaci anonymního rozhraní o jedné metodě. Spolu s trochou té překladačové magie to znamená velmi hezkou podporu lexikálních uzávěrů včetně nelokálního návratu (o tom možná jindy), která je zároveň zpětně kompatibilní.
Některé věci se mně osobně ještě moc nelíbí, ale je vidět, že celá věc se pohybuje velmi svižně přímo kupředu, do stran či zpátky ni jeden krok. Yup!
Bez jediného zaváhání věřím tomu, že Richard Stallman zešílel radostí, když se dozvěděl, že Sun vydá Javu pod GPL, a jeho tvrzení "Sun přispěl komunitě softwarem více než kdokoli jiný" (jen parafrázuju) je toho pouze malým odleskem. Já z toho zas tak nadšený nejsem.
Nejsem sice anál (IANAL), ale moc mne zajímá, jak to bude s odvozenými díly. Vezměme třeba třídy java.lang.String nebo java.lang.Thread. Překladač i běhové prostředí se k nim chová speciálním způsobem, proto jsou jejich odvozenými díly. Nějaký String nebo potomka Threadu (eventuelně implementaci rozhraní java.lang.Runnable) najdete skoro v každém programu, proto jsou tyto také odvozenými díly. Obdobně na tom budou všechny třídy z tranzitivního uzávěru balíku java.lang. Nebo ne?
Pravděpodobně se alespoň v jedné implikaci mýlím, pravděpodobně to všechno zachraňuje Classpath exception (kterou jsem pravděpodobně nepochopil), ale zkrátka se mi to nezdá. Proč chce Sun uvolnit Javu pod GPL?
Podle mne nejde ani náhodou o nějaký příspěvek jakési komunitě FSF (Free Software Fanaticism), okolo Javy je už dávno obrovská komunita autorů open-source software, který je povětšinou uvolněn pod Apache License 2. Je to odvážný krok v rámci konkurenčního boje, zejména s Microsoftem – stejně jako v reakci na Microsoftí podporu IronPythonu zaměstnal Sun klíčové vývojáře JRuby.
Když pomineme technická měřítka, jednou z často uváděných výhod platformy .NET je existence standardu. Microsoft nejprve nechal publikovat specifikaci C# a CLI organizací ECMA, posléze je dokonce standardizovala ISO. Že tento standard neobsahuje (tohle je pouze odhad založený na anotacích příslušných standardů) takové úhelné kameny .NETu, jako je ADO.NET, ASP.NET nebo WinForms, to asi nikomu nevadí. Sun dlouho odmítal Javu standardizovat, samozřejmě v obavě z forku. Tak dlouho, až jej ostatní klíčoví hráči na trhu začali přesvědčovat, aby namísto toho uvolnil Javu jako open source.
Sun reagoval očekávatelným způsobem, památný je například výrok Scotta McNealyho na adresu IBM: Go open-source with DB2 and then tell us about open-sourcing Java! (Vlastně to řekl trochu jinak, ale tohle se mi líbí víc
) Netrvalo ovšem dlouho a z otázky jestli se stala otázka kdy a jak. A že to bude zrovna GPL, to myslím řadu lidí přinejmenším překvapilo.
Jak už jsem napsal, je to zatraceně odvážný krok, který se ale může zatraceně vyplatit. Než se snažit o standardizaci něčeho, co se stejně musí neustále vyvíjet, dáme v plen kompletní, technicky vyspělou implementaci, ať si ji každý může přiohnout ke svému účelu. Být to o něco dřív, klidně by to mohlo mít podstatný vliv na další život projektu Mono a izolaci .NETu v prostředí Windows, kam bytostně patří a kde jedině se na něj lze spolehnout. O tom ale spekulovat nebudu. Každopádně Java by se teď mohla v linuxovém světě rozšířit podstatně více než doposavad je, však si to taky zaslouží.
Mimochodem, pokud to někdo neznáte: moc hezký katalog open-source software v Javě se nachází na java-source.net. A malý zrovna není.
Tiskni
Sdílej:
Nejsem sice anál (IANAL), ale moc mne zajímá, jak to bude s odvozenými díly. Vezměme třeba třídy java.lang.String nebo java.lang.Thread. Překladač i běhové prostředí se k nim chová speciálním způsobem, proto jsou jejich odvozenými díly. Nějaký String nebo potomka Threadu (eventuelně implementaci rozhraní java.lang.Runnable) najdete skoro v každém programu, proto jsou tyto také odvozenými díly. Obdobně na tom budou všechny třídy z tranzitivního uzávěru balíku java.lang. Nebo ne? Pravděpodobně se alespoň v jedné implikaci mýlím, pravděpodobně to všechno zachraňuje Classpath exception (kterou jsem pravděpodobně nepochopil), ale zkrátka se mi to nezdá. Proč chce Sun uvolnit Javu pod GPL?I když bych to neměl říkat, brzy vyjde článek, ve kterém to bude všechno česky vysvětleno. Kdyžtak je to přímo od Sunu popsáno tady. Každopádně obavy nejsou na místě.
Jen jeden fork se však bude jmenovat JavaJava se může jmenovat cokoli, co projde příslušnou sadou testů. Tedy i za současného stavu je implementace od IBM i od BEY Java.
linuxový (přídavné jméno)Ech, jsem prase. Uděluju si trest dvojnásobného přídělu knížek po následující měsíc