Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.
Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).
Zrovna kompiluji nejnovější GNOME ze zdrojáků. A trvá to a trvá. Možná je to i tím, že ten instalační skript mi chce ukázat, o kolik se zpomalí Firefox, když bude renderován přes Cairo, a tak ho taky překládá. Ale to je jedno.
Proto se trochu bojím Gentoo - jsem zvyklý, že KDE na svém Debianu nainstaluji ze školního repozitáře za dvě minuty, žádé hodinové kompilace. Ale to je taky jedno, třeba ho někdy risknu.
Hlavní rozdíl mezi C a Pascalem totiž není v kráse a podobných malichernostech. Hlavní rozdíl je v gramatice jazyka. Pascal má gramatiku třídy LL(k) (z hlavy detaily nevím, ale pascaloidní Ada je dokonce LL(1) - pro každý další krok syntaktické analýzy stačí jeden symbol ze zdrojového textu), kdežto Céčko je třídy LR (z hlavy detaily opět neznám, ale pro syntaktickou analýzu se musí dělat celkem složité šaškárny na zásobníku symbolů, rozhodně nestačí jeden symbol). Důsledek je ten, že překladače Pascalu pracují řádově (řádově!) rychleji. Kdo někdy vážněji pracoval s Delphi, ví, že tamějším překladačem Object Pascalu prolítnou miliony řádků zdrojového kódu jako namydlený blesk. Linuxové jádro přeložené za 15 sekund, X.org za 20
. Céčko je ještě zpomalené děsným #include, které Ahoj světe "natáhne" možná na tisíce řádek kódu a které způsobuje, že linker musí být komplikovanější.
Mnozí teď možná namítnou, že v Pascalu přece není možné napsat jádro OS a že by to už nemohl být Unix. Já si ale pamatuji Turbo Pacal, kde šly dělat zcela stejné low-levelové opičárny jako v sesterském Turbo C. Jiní zase namítnou, že pascalské programy jsou pomalé. Co si pamatuji, tak programy v Delphi nebo TP nikdy s rychlostí problémy neměly. Navíc nejrychlejší programy nejsou v Céčku, ale ve Fortranu
Navíc já vůbec netrvám na tom Pascalu, já jen chci, aby tehdy před více než třiceti lety Kernighan a Ritchie zabalili svá "makra do assembleru" do něčeho, co se rychle překládá.
Jak by to asi změnilo softwarový průmysl? Nic by se nemuselo překládat přes noc. Kompilace při instalaci by byla mnohem běžnější. Zrychlilo a zlevnilo by to vývoj.
Tiskni
Sdílej:
Silná typová kontrola psaní věcí jako jádra OS dost kompilkuje.A věcí jako GNOME taky? :)
Můžeš jmenovat nějaký běžně používaný silně a zároveň dynamicky typovaný jazyk?Lisp.
V čem to měli napsat, aby dosáhli: 1. stejné přenositelnosti, 2. stejné snadnosti psát bindingy pro všechny možné jazyky.V čemkoli, k čemu je k disposici překladač, který dovolí splnit obě zmíněné podmínky. To by, troufám si tvrdit, mohly být (skoro) všechny jazyky, k nimž existuje překladač v rámci projektu GCC -- generátor cílového kódu je totiž jeden a týž. Ale to je jenom bohapustá teorie, klidně si ji nechám vyvrátit někým, kdo už něco takového vyzkoušel a nepochodil. Holt věčně zelený strom života... nejhorší na Céčku není to, že je tak strašné, ale že je tak rozšířené :)
).
A má teorie, že překladač jazyka s "náročnější" gramatikou je pomalejší, snad není až tak naivní.
Kdysi jsme o tom mocně diskutovali na konferencích cecko@pandora.cz a os@pandora.cz. Ty rozdíly jsou natolik obludné, že jediné pro mne přijatelné vysvětlení je dáno matematickou podstatou (složitostí).
$ strace -ff fpc z.pas 2>&1 | grep -c execve 3 $ strace -ff gcc -o z z.c 2>&1 | grep -c execve 13
Tak proč je potom C tak pomalé, když je parsování jen malá část?Optimalizátory. Někdo vymyslel, že Céčko bude nejrychlejší jazyk a hordy matematiků a programátorů se předhánějí v počtu optimalizačních průchodů Céčkových překladačů :) A pak pochopitelně #include :)
.
gcc -S. Bez optimalizací obsahuje oproti C dost málo (je nejspíš algoritimicky převeditelný zpět na preprocesovaný zdroják v C), s optimalizacemi obsahuje informaci z kompilátoru, což je aditivní konstanta.
[*] I tak platí, že délka minimálních implementací algoritmů v různých (stejně sliných) jazycích se liší jen multiplikativní konstantou. A u reálných jazyků jsou ty ukecanější kompresibilnější.
Uvede nekdo priklad jak by vypadal zdrojak ?
Jsem dosti zvedavy.