Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
to the first approximation, Perl 6 is Lisp with a decent syntax, and minus a lot of assumptions about how lists should be represented :)Osobne mam pochybnosti jak o decetni syntaxi, tak i o vyhodach vzdani se jednoduche uniformni syntaxe, kdy ani s novymi rules/grammar se to nedostava na uroven moznosti Lisp maker a celkove to cini perl6 vic nez komplexni - a to plno veci neni jeste jasne specifikovano.
Python a Ruby porad oba maji GIL, takze na spoustu veci se nehodi a nebo se museji kombinovat s C.Python a Ruby rozhodně GIL nemají, ne ve specifikaci jazyka. Mají ho jen některé jejich interpretry. Například pypy je pythonní interpretr, který místo GILu používá STM a zároveň přidává i kopu optimalizací, takže je mnohonásobně rychlejší, než cpython (referenční implementace pythonu).
Například pypy je pythonní interpretr, který místo GILu používá STMNeni pravda. Implementace STM je zatim stale nepouzitelna a navic pridava nezanedbatelnou rezii a tim i dopad na celkovy vykon. Rozhodne neni samospasitelna, snad az bude sirsi podpora HTM se to zlepsi.
i Perl6, dela prilis mnoho predpokladu o implementaci HW ci VMMáte něco konkrétního? Mně Parallelism, Concurrency and Asynchrony in Perl 6, Concurrency, hyperoperátory, junctions, ... připadá docela high level. Samozřejmě to není jednoduché, viz. Racing to writeness to wrongness leads a dodělané.
Jedna preferuje minimalni jadro jazyka a jeho postupne opatrne rozsirovani, s tim, ze plno veci se presouva do knihoven, druha vytvari komplexni jazyk, ktery se snazi pokryt vse.Přijde mi, že Perl 6 je také instance prvního přístupu – vytvořit dostatečně silné jádro, aby se ostatní dalo udělat v knihovnách.
Oproti tomu CPythonVM je jednodussi, v podstate cele je to implementovano zde ...Tak třeba o hash funkci jsem se dočetl toto. Ať už je to jak chce, tak pro mě je to implementační detail jednoho z virtuálních strojů. Podobně to vidím u dalších third party knihoven. Je možné, že je v příští verzi vymění za jiné nebo přepíší. S jazykem to téměř výbec nesouvisí.
... splacat vsechno dohromady ...Já 15 let vývoje, který začal 361 dokumenty s požadavky na změnu (ne všechny byly samozřejmě přijaty) nepovažuji za "splácání dohromady". Perl 6 je vpodstatě STD.pm6. A i když to není zrovna jednoduché, tak to za splácané nepovažuji.
Je to rozdilny pristup dvou filozofii. Jedna preferuje minimalni jadro jazyka a jeho postupne opatrne rozsirovani ...Ale no tak. To je jako říkat, že signatury funkcí nemusí být v Perlu, protože na to existuje knihovna a před 25 lety to přece vymysleli dobře a jednoduše. Nebo na všechny požadavky na změnu jazyka je ok odpovídat "Napiš si na to knihovnu a neotravuj."?
Guido van Rossum umi rikat ne, a Larry Wall pustil do Perl5/6 kde co ...Z čeho máte ten dojem? Zkušenost mých kamarádů adminů/ops je, že téměř každá Python aplikace/toola vyžaduje jinou verzi Pythonu a nedá se to rozumě nainstalovat a provozovat. Takže nevím co tím "kde co" myslíte. Ostatně proto je Perl 6 nový jazyk, zatímco Perl 5 drží zpětnou kompatibilitu a není to jak Python 2 vs. Python 3.
O MoarVM přece vůbec nejde. Ono ani nejde o Rakudo Perl 6 implementaci. Bavíme se o jazyku, tj. specifikace a test suita. Tam problém nevidím.Ne, reagoval jste na me "... predpokladu o implementaci HW ci VM, ...", a Perl6 bude vyzadovat pomerne komplexni VM [ci runtime].
Tak třeba o hash funkci jsem se dočetl toto.A? To nema s uthash knihovnou nic spolecneho.
A i když to není zrovna jednoduché, tak to za splácané nepovažuji.Subjektivni, ja spise ano. Tahle specifikace neni uplna, treba i onen parallelismus tam neni, stejne jako makra, ktera zdaleka nejsou vubec hotova.
Python aplikace/toola vyžaduje jinou verzi Pythonu a nedá se to rozumě nainstalovat a provozovat.To rozhodne ne.
Ostatně proto je Perl 6 nový jazyk, zatímco Perl 5 drží zpětnou kompatibilitu a není to jak Python 2 vs. Python 3.Naopak, je to tak, s tim ze narozdil od Python3 je Perl6 v podstate jiny jazyk.
Z čeho máte ten dojem?Uz jen proto, ze to o sobe pripustil i sam Larry Wall, ostatne vyvoj Perl6 jsem sledoval pres 10 let, nez jsem to vzdal.
Uz jen proto, ze to o sobe pripustil i sam Larry Wall, ...Taky sleduji Perl 6 přes 10 let a tohle mi teda uniklo. Sám Larry napsal (seznam na konci článku) např. toto:
Perl6 stale plati TIMTOWTDIA v Pythonu (nebo i jiných mainstreamových jazycích) tohle snad neplatí? Nyní je například nemalý překryv mezi generátory a async a await. Navíc, když jste mluvil o té implicitní paralelizaci, tak async a await je krok spíše opačným směrem – je to nízkoúrovňový přístup.
... je jen proto, ze uz neco vydat museli, ...Proc by museli? Larry uz minimalne od 2002 rika, ze projekt nema casovy plan a ze Perl 6 chce udelat spavne a ne rychle. Po 15 letech by se zase tolik nestalo, kdyby to bylo o rok nebo dva vice. Proste specifikace, Rakudo i MoarVM uz jsou pripraveny. Navic je to OpenSource, coz ma sve vyhody i nevyhody. Vzpomenme v techto dnech treba na Javu. Vyvojari maji sve zivoty, placenou praci, zapnuty -Ofun, ...
... a k produkcnimu nasazeni to ma stale velmi daleko..... Slepice-vejce. Uz se najdou takovi, kteri to v produkci pouzivaji a vydelavaji na Perlu 6 penize.
... pro Perl6 stale plati TIMTOWTDI .... To uz jsem tu probirali. Je to dusledek a ne pricina. Nebo ne? Dejte nejake priklady, kdy se Larry rozhodl neco pridat a Guido nepridavat.
Vubec nic?To byla otázka.
celkem rozumne popsany datovy modelCo máte na mysli datovým modelem? To, co si představuji já, nijak nesouvisí s paralelismem.
IMHO negativne v budoucnu vrati, ostatne ne nahodou podobny pristup jako Python voli Go.Mně to přijde spíše naopak. Když to není specifikované, programy se budou spoléhat na stávající chování, čímž se dále ztíží přechod k rozumnějšímu paralelismu.
Když to není specifikované, programy se budou spoléhat na stávající chování, čímž se dále ztíží přechod k rozumnějšímu paralelismu.Ja naopak doufam, ze u vysokourovnoveho jazyka se programator v budoucnu nebude muset vubec starat o nizkourovnovy parallelismus. Jadrem by mela byt concurrency na urovni designu, bez explicitniho lockovani ci podobnych zvrhlosti a parallelni beh na HW a souvisejici scaling by mel byt zalezitosti runtime.
Právě se obávám, že tohle s tím přístupem Pythonu nemůže fungovat.Az to bude potreba specifikovat, tak se to udela, i treba v dalsi nekompatibilni iteraci Pythonu.
V Pythonu to bude "specifikované" aktuální implementací, jenž bude pravděpodobně plná prapodivných speciálních případů – tj. nikdo tomu nebude dost dobře rozumět, aby napsal runtime s implicitní paralelizací bez toho, aniž by rozbil existující programy.Python je velmi dobry ve vynucovani si 'jedne spravne cesty', takze tak horke to neni.
treba ted na jare pridali do jazyka nativni coroutines s async/await syntaxi.IMO to také nesouvisí s paralelismem.
Některé samozřejmosti pro 21.století jako
perl6 -e'say 1 / (.1 + .2 - .3)' # Attempt to divide 1 by zero using div. Try your language(viz. 0.30000000000000004.com) nebo Unicode stringy prostě do Ruby či Pythonu bez porušení zpětné kompatibility nedostanete..
I kdyby se samotný Perl 6 neuchytil, tak z něj budou čerpat další dynamické jazyky tak jak to dělaly z předchozích verzí Perlu.
Pokud vás to zajímá více, tak doporučuji:
Why would you want to use Perl 6? Some answers.
Should I be interested in Perl 6 ? (quora.com)
Parallelism,
Concurrency and Asynchrony in Perl 6 + 6guts blog, slides
Perl 6 Features Matrix (trochu neaktuální)
RosettaCode - Category:Perl 6"
Perl 6 Advent Calendar blog
design.perl6.org
BTW: jak dobré je to MoarVM? Šlo by to použít jako obecné VM a postavit nad tím nějaký vlastní jazyk?
Šlo by to použít jako obecné VM a postavit nad tím nějaký vlastní jazyk?Myslím, že ano. Například oproti JVM a CLR to má alespoň částečnou podporu kontinuací.
(viz. 0.30000000000000004.com) nebo Unicode stringy prostě do Ruby či Pythonu bez porušení zpětné kompatibility nedostanete.Tohle nevím jak si vysvětlit - unicode stringy jsou v pythonu někdy od verze 2.
say "नि".chars; # returns 1 say "नि".codes; # returns 2 my $str = "D\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]"; say $str; # Ḍ̇ say $str.chars; # 1 say $str.NFC.codes; # 2 my $str = "D\c[COMBINING DOT ABOVE]"; say $str; # Ḋ say $str.chars; # 1 $str ~= "\c[COMBINING DOT BELOW]"; # ~ je spojovani stringu say $str; # Ḍ̇ say $str.chars; # 1 say "0".uniprop("Numeric_Type") # Decimal say "\r\n".chars; # returns 1 say "नि\r\n".substr(1,1).perl; # returns "\r\n"
Některé samozřejmosti pro 21.století jako21 stoleti!? Jednoznacne minule stoleti, nebot tohle umi Common Lisp/PLT Scheme uz nekolik desetileti, viz i vas odkaz.perl6 -e'say 1 / (.1 + .2 - .3)' # Attempt to divide 1 by zero using div. Try your language.
Unicode stringy prostě do Ruby či Pythonu bez porušení zpětné kompatibilityPython3 ma unikode nativne od sameho pocatku, Python2 unikod podporuje take jiz roky bez poruseni zpetne kompatibility.
I kdyby se samotný Perl 6 neuchytil, tak z něj budou čerpat další dynamické jazyky tak jak to dělaly z předchozích verzí Perlu.Nemyslim, v realu novych konceptu je minimum.
21 stoleti!?Ano, pro běžné dynamické programovací jazyky - Perl 5, Python, Ryby, PHP, ...
Python3 ma unikode nativne od sameho pocatku ...Jop, je docela možné, že přeháním. Tohle není zase tak špatné. Co příklad z commentu s Normalization Form Graphemes (NFG)
my $str = "D\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]"; say $str; # Ḍ̇ my $str = "D\c[COMBINING DOT ABOVE]"; say $str; # Ḋ say $str.chars; # 1 $str ~= "\c[COMBINING DOT BELOW]"; # ~ je spojovani stringu say $str; # Ḍ̇ say $str.chars; # 1?
Takže se shodneme, že Python 3 nemá takovou podporu Unicode jako Perl 6.Nema ji vestavenou v jazyku a neni to IMHO dobry napad.
A já jen přidávám, že nejspíše ani nikdy nebude mít kvůli držení zpětné kompatibility.Proc? Jde opet o rozdilny pristup. Python oddeluje kodovani uzite na urovni jazyka a vnitrni reprezentace a kodovani na urovni zpracovani dat. Implementace Pythonu muze pouzivat nativni kodovani at se jedna o utf8/16/32 a na program zpracovavajici treba utf8 to nebude mit vliv. To co jste demonstroval vy, je ze Perl6 ma vestavenou funkci na pocitani grafemu, ale tohle neni problem dodelat, pokud bude poptavka. Jenze to zacne IMHO borit onu izolaci.
Nemyslim, v realu novych konceptu je minimum.A máte příklad jazyka, který přinesl více nových konceptů?
Z hlediska novelity...Tak ono nic nového se už vymyslet nedá. Vpodstatě všechno už je v nějakých 20+ let starých akademických paperech. Zbytek jsou už jen inženýrské problémy, tj. dostat to na stůl normálních smrtelníků v použitelné a konzistetní podobě.
Tak ono nic nového se už vymyslet nedá.Tak to je kardinalni pitomost.
... jako generalove pripravujici se na minulou valku.Když nevíte jak ta příští válka bude vypadat, tak na co jiného se chcete připravovat? Nebo máte něco konkrétního? Např. ukázky z jiných jazyků. Na co se ty připravují a proč zrovna tohle je ta "budoucí válka".
protože se sekli jen o 10 let , a konkurence je tu tolik ze po perlu 6 nikdo ani nestekne a perl 5 pomalicku umre na upadajici zajem
to je otazkou perspektivy - Larry sam nekde rikal, ze Perl6 predbehne v pouziti Perl5 tak za 40 let ;)Ja doufam, ze za 40 let bude programovani vypadat radikalne jinak. Stavajici "nove" jazyky, vcetne Perl6, jsou spise recyklovani znamych konceptu, s naivni virou, ze tentokrat se to udela spravne. Asi proto mira adopce, pokud to nema za zadkem silne hrace jako Microsoft, Google ci Apple je u nich mala.
Zaroven by mohl nejaky guru zacit publikovat "the right way to do things in Perl6", ackoliv to jde proti TIMTOADY filozofii...Right way .... vyhoda Perl5 je, ze jeho vyvoj se fakticky zastavil, takze to co bylo napsano bude roky fungovat a co se clovek naucil bude moci roky pouzivat. Perl6 mi prijde navic cilen na jine uzivatele nez ktere ma Perl5.
vyhoda Perl5 je, ze jeho vyvoj se fakticky zastavil, takze to co bylo napsano bude roky fungovat a co se clovek naucil bude moci roky pouzivat.
V Javě se vývoj nezastavil, v každé verzi přibývají užitečné nové věci – a přesto je tam zpětná kompatibilita na luxusní úrovni.
Na to nemusíš čekat dvacet let – to máš v Javě (volitelně s OSGi) už dneska.
A co když někdo onanuje nad Pythonem?
if (x) if (y) foo(); else bar();Ano, Python vás na rozdíl od Fortress nezachrání od následující chyby:
a+b * c
BTW v Pythonu můžete psát:
if x: foo() #endifJe to ovšem opět duplicitní informace, která může být chybná.
if (x) if (y) foo(); else bar();stane toto:
if (x) if (y) foo(); else bar();A teď jak ono to vlastně bylo? A co když foo není na jeden řádek, ale na dvacet? Není pak lepší mít něco jako:
if (x) { if (y) { foo(); } } else { bar(); }Neboť z toho lze snadno kód naformátovat zpět?
A nebo ti při kopírování z webu přijdou uvozovky ala „“ (to dělá wordpress)
Nechápu, jak může někdo redakční systém takhle zprasit. Když jsem tohle1 implementoval já, tak jsem použil XSLT a jednoduše tam rozlišuji, jestli jsem uvnitř <p>…</p>
nebo naopak <pre>…</pre>
či <code>…</code>
a podle toho se k tomu chovám buď jako k přirozenému textu nebo zdrojovému kódu.
[1] resp. já tam neřeším uvozovky, ale přidávám nedělitelné mezery – princip je stejný
Tiskni
Sdílej: