Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.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 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Každý open-source projekt, na kterém se podílí velká skupina lidí, kteří se často v reálu ani nikdy nesetkali, zákonitě musí čelit problémům, které tento způsob vývoje přináší. Neuškodí se proto podívat na jeden špatný příklad z minulosti a pokusit se poučit z jeho chyb.
Jako tento příklad nám bude sloužit Squeak, implementace Smalltalku přímo vývojově navazující na Smalltalk-80. Jeho vývoj jakožto komunitního open-source projektu započal již v roce 1996, takže si prožil už lecos. Od počátku měl velké cíle (z čehož plyne velké množství práce) a relativně nevelkou komunitu složenou z velmi inteligentních, ale často nesouznících lidí.
Pozor na startéry
I hired finishers because I’m a good starter and a poor finisher. -- Alan Kay
Prvek, který svým způsobem velmi negativně ovlivnil vývoj Squeaku, je jeho otec, věhlasný pionýr z PARC, laureát Turingovy ceny a geniální vizionář Alan Kay. Je to prvotřídní příklad startéra, člověka, co rozjede projekt, dokáže namotivovat lidi a velmi rychle ho uvede v život. Takoví lidé jsou nezbytní, ale Alan opakovaně ukázal, jaké nebezpečí představují. S energií sobě vlastní se nejdříve vrhnul na samotný Squeak a vdechl mu život. Jeho velkým cílem je vytvořit ideální systém, který umožní pracovat s počítači a programovat je i dětem. Protože již koncem sedmdesátých let mu začalo být jasné, že Smalltalk je pro tento účel stále příliš složitý, převzal ze Selfu do Squeaku uživatelské rozhraní Morphic a začal nad ním stavět EToys.
Objektová paměť Squeaku snese kde co, přidávat do něj novou funkcionalitu je velmi snadné a ještě snazší je zapomínat na důslednou modularitu, případně se spolehnout na to, že ono se to někdy v nedaleké budoucnosti nějak udělá. V důsledku toho se EToys do Squeaku pořádně zažraly. Také vytvořit fork je velice jednoduché, takže brzy se aktivita kolem EToys začala soustředit kolem SqueakLand image určené pro děti a výuku programování a synchronizace se Squeakem začala váznout.
Později se Alan s veškerou energií vrhl na Croquet, 3D kolaborativní prostředí, aby následně v souvislosti s OLPC opět zaměřil svou pozornost na EToys a později na projekt Reinvention of Programming.
Prakticky při každém tomto přelití jeho kreativity se vytvořil nový fork Squeaku a odčerpala se část energie, která by jinak byla vynaložena na vývoj samotného Squeaku. A ten začal pomalu váznout.
Říká se, že revoluce požírá své děti. V tomto případě se tak nestalo a děti začaly požírat revoluci. Podobných příkladů, kdy iniciátor nějakého projektu začne později vytvářet konkurenční, je celá řada.
Osobně si Alana Kaye samozřejmě velmi vážím a jeho startérství není chyba, ale vlastnost. Každý projekt by si měl včas najít cestu, jak se s takovými lidmi pokud možno v dobrém vypořádat.
Žít a nechat zemřít
Díky bobtnání Squeaku začala být jeho správa stále problematičtější. Na udržování takového množství rozličného kódu prostě nebylo dost lidí a jeho původní autoři svůj zájem posunuli jinam. Na jedné straně se do jeho údržby nechtěl nikdo pouštět, na druhé straně zase nebyla vůle jej vyřadit, protože všem bylo jasné, že jeho vyloučení ze základního systému by znamenalo jeho definitivní konec. Proto se situace dále prohlubovala.
Kdyby bylo modulárnosti Squeaku věnováno více pozornosti hned od prvních verzí, bylo by tenkrát mnohem snazší ji zajistit a navazující projekty by byly vystaveny přirozenému vývoji, kdy ty, o které nikdo nemá zájem ať už jako vývojář či jako uživatel, upadnou v zapomnění.
O první velký pokus o modularizaci Squeaku se pokusil mladý seveřan Henrik. Jeho práce vypadala velmi slibně a obecně se předpokládalo, že se stane základem další majoritní verze Squeaku. Nicméně po čase přestal bez vysvětlení Henrik s komunitou komunikovat a jeho práce díky tomu nakonec přišla vniveč. Až po letech se zjistilo, že jeho odmlka byla způsobena tím, že zemřel.
Poučení pro ostatní projekty: předvídejte budoucí problémy a neodkládejte pracné, avšak nezbytné úkony. Nesnažte se za každou cenu udržovat starý kód. Snažte se svoji práci zpřístupnit i ostantím členům projektu, ať nejste jediní, na kom závisí její další vývoj. Udržujte sociální vazby mezi přispěvateli projektu.
Doers decide
Časem bylo zjevné, že původní tahouni projektu jako Alan Kay, Dan Ingalls či Andreas Raab soustředili svoje zájmy jinam. Nicméně oficiálně vývoj Squeaku stále kontrolovali. Ten bez vedení přešlapoval na místě. Když bylo jasné, že se na této situaci nic brzy nezmění, chopila se iniciativy francouzsko-švýcarská část komunity pod vedením Stéphana Ducasseho, kteří už dlouhodobě byli těmi, kdo vývoj Squeaku někam posouval. Samozřejmě převzetí velkého projektu sebou přináší řadu starostí s právní, finanční a technickou infrastrukturou, ale všechny se podařilo překonat.
Zdědili nemodularizovaný rozsáhlý systém používaný pro celou řadu cílových oblastí. Existovalo několik faktických forků Squeaku pro tyto oblasti, ale i lidi kolem nich se snažili vývoj Squeaku stále ovlivňovat a jádro vývojového týmu se jim přizpůsobovalo, ač jejich vlastní představy s nimi nesouznily. Málokdo si chtěl připustit, že Squeak jakožto sjednocující základní “distribuce” už je minulostí.
Situace se vyhrotila s vydáním Squeaku 3.9, který mimo jiné přišel s Traits. Andreas Raab toto rozhodnutí silně kritizoval. Forky jako EToys a Croquet dále pokračovaly ve svém vývoji na základě Squeaku 3.8. Neustálé dohadování se už Stéphana a lidi kolem něj unavilo a otrávilo natolik, že odmítli vést vývoj další verze.
Vedení vývoje se ujal uznávaný Ralph Johnson a Edgar J. De Cleene z Argentiny. Oba bohužel přecenili své síly. Ralph vedení zřejmě časově nezvládal a komunikoval velmi málo, Edgarova na to zejména jazykově nestačil.
Po několika měsících to Ralph vzdal a hlavní slovo tak získal Edgar a Keith Hodges. Keith udělal spoustu práce, ale stylem one-man-show a nebyl schopen ji v komunitě patřičně publikovat. Navíc k útočnému stylu vyjadřování neměl nikterak daleko.
Vývoj Squeaku se ne a ne pohnout dál, až to původní vývojáři jako Ducasse nevydrželi, vrátili se ke svému Squeaku 3.9 a vytvořili fork, který pojmenovali Pharo.
S ním pak začali dělat věci, které již dlouho považovali za důležité a které ve Squeaku nebyly politicky průchodné - odstraňovat MVC, EToys, podporu projektů a udělali řadu systémových zásahů více či méně ovlivňujících zpětnou kompatibilitu. Velká část komunity (především lidé okolo Seaside) se přidala na jejich stranu a vývoj tohoto Smalltalku postupuje rychle kupředu.
Squeak samotný tento odliv zájmu přivedl do krize, proti které zakročil Adreas Raab tím, že v podstatě “násilně” převzal vývoj Squeaku, což např. Keith neustál a rozešel se s komunitou ve zlém (“If I email to squeak-dev again shoot me”).
Poučení z této kapitoly se hledá těžce, ale asi by znělo: “Nechte rozhodovat ty, co skutečně něco užitečného dělají, jinak sice budete mít mnoho lidí, co budou rozhodovat, ale nikoho, kdo bude něco dělat.”
Licence
Vývoj Squeaku začal pod Apple licencí, protože vyšel z původní verze Samlltalku-80, kterou si pro své potřeby Apple upravil. Tato licence není moc standardní a měla některé problematické body, takže se postupně vykrystalizovala snaha tuto licenci změnit na MIT či podobnou. Silnou vzpruhou byl Alanův úspěch, když se mu podařilo zajistit změnu licence první verze Squeaku na Apache licenci. Shromažďovala se svolení všech vývojářů, kteří mezi tím ke Squeaku přispěli, se změnou licence a přepisoval se kód, u kterého to nebylo možné zajistit.
Nakonec VPRI toto úsilí ukončilo tím, že (trochu riskantně) vydalo celou EToys image (založenou na Squeaku 3.8) pod MIT licencí s tím, že za celou dobu se proti změně licence nikdo ani slůvkem neozval.
I z příkladu GPL v.3 je vidět, jak je boj s licencemi někdy problematický. Proto např. zmiňované Pharo připouští jen kód, který je zaslán vývojáři, kteří podepíší licenční ujednání, které má jednou pro vždy takovýmto nejasnostem a zbytečnému přepisování zabránit.
Nutné zlo
Moje role v tom všem byla nepatrná. Snažil jsem se vyhnout politickým bojům a spíše názorně ukazovat, že i obtížné věci jsou možné. Podařilo se mi například vytvořit image bez EToys, do které bylo možné EToys dohrát jako externí balík. Ukázat, že je možné forky sjednotit na společném základu. Další modularizací jsem dospěl až do stavu, kdy jsem byl schopen vytvořit velmi malou image, která uměla v podstatě jen nahrát další kód a vytvořit tzv. ImageMap - statickou HTML reprezentaci obsahu image, kde je vypsán a popsán každý objekt včetně dopředných i zpětných hypertextových referenci na odkazované resp. odkazující objekty. Ta slouží k vyhledání a vymetení objektového smetí i v tom nejzapadlejším koutě.
Politikaření je zlé, ale občas je asi potřeba. Místo cíle, kterým bylo určité sjednocení forků, jsem dosáhl pravého opaku - vytvořil jsem de facto fork nový. Přestože se k mé práci vývojáři Squeaku otevřeně hlásili a snažil jsem se svůj kód synchronizovat, udržovat, dokumentovat a rozvíjet, přesto se mi podařilo do mainstreamu prosadit jen část nutných změn. Osobně se domnívám, že změny, které jsem provedl, byly příliš radikální na to, aby mohly být adoptovány jako celek, a příliš rozsáhlé na to, aby se v nich někomu chtělo přehrabovat.
Neberu to nijak tragicky, prostě se snažím nezbytné změny tlačit dál do Phara, což se ostatně i celkem daří.
O nic mrtvější než obvykle...
Budoucnost Squeaku jako takového je ve hvězdách. Jeho cíl, být univerzálním open-source Smalltalkem, se vyčerpal. Možná v budoucnu skončí jako "distribuce" projektu Pharo. Momentálně nevidím, že by měl konkrétní životaschopnou vizi toho, čím chce být.
Pharo má vyhlídky mnohem příznivější. Jeho vývoj postupuje rychle kupředu a může se poučit z výše popsaných špatných zkušeností. Jeho vývojáři neztrácejí motivaci a litují přdevším toho, že zbytečně ztratili čas tím, že se od Squeaku neodtrhli už dávno. Doufejme, že tím se výčet špatných zkušeností, které Squeak může nabídnout k poučení, uzavřel.
Tiskni
Sdílej:
Ale to je jedno, protože Linux opravdu se stabilitou problémy nemá a díky modulům je i slušně modulární.
LOL. Asi preto musím pred hibernáciou ostrániť zopár modulov z jadra aby mi náhodou kernel počas preberania sa nehavaroval, že. Alebo preto mi občas ovládač sieťovky zhodí celý kernel. Alebo preto mi niečo (nie vždy sa dá zistiť čo vďaka tomu, že kernel má nulové zabezpečenie) občas zhodí kernel. Mikrojadro je možno utopistické, ale linux by mohol byť aspoň hybridný.
No a C++ v jadre ... hrabal som sa v zdrojákoch Linuxu a hrabal som sa v zdrojákoch nejakého OS (už nepamätám akého) prevažne v C++. Rozdiel v rýchlosti pochopenia, čo sa v tom kerneli vlastne deje bol obrovský.
Asi preto musím pred hibernáciou ostrániť zopár modulov z jadra aby mi náhodou kernel počas preberania sa nehavaroval, že.Bugy v driverech jsou ve všech OS a v mikrojádrových systémech mohou být úplně stejně fatální jako v monolitických, alespoň do té doby, než někdo začne stavět rozumně izolovaný hardware (v dnešních PCčkách například síťovka může zapisovat naprosto kamkoliv do paměti).
Mikrojadro je možno utopistické, ale linux by mohol byť aspoň hybridný.On překvapivě už dlouho k hybridnímu modelu konverguje. Všimněte si, kolik vám v systému běží kernelových threadů
Ad druhý odstavec: Návrh UNIXu _je_ zlý z kopy rôznych dôvodov; k tomu sa už vyjadril nejeden odborník na kernely (vrátane tvorcov pôvodného UNIXu). Ale funguje dostatočne dobre, aby to nikoho (okrem pár vizionárov) moc netrápilo. Úplne rovnako je to s tým C. A tiež makrojadrom. Dalo by sa pokračovať...
Návrh UNIX je zlý?Návrh Unixu je dobrý, spíše ta implementace dělá problémy. Předřečník možná myslel něco jako Plan9, ale to je spíše Unix dotažený k dokonalosti.
Ok, neni zlý, ale má kopu problémov. Nielen implementačne, ale aj teoreticky.
Plan9 je jedna z vecí, ktoré som mal na mysli a ukazuje, že mnohé z problémov UNIXu sa dajú vyriešiť elegantnejšie. Ale dokonalosťou by som to zasa nenazýval
Nejedná sa o tlčhubov, jedná sa napr. o niektorých autorov pôvodného UNIXu. Stačí pogoogliť niečo o Plan9
Ja som sa vyjadroval k samotnému konceptu a teórii. Že v reále sa často presadí aj horšie riešenie (stačí ak je ľubovoľným spôsobom dosť dobré pre daný účel) ma až tak nezaujíma.
No, v podstate je to idealizmus vs. pragmatizmus
s/až/jestli/
Je to smutné, ale je to tak. Všetky pokročilé a zaujímavé technológie sú odsúdené na pomaly zánik v komunite pár nadšencov. Výnimky spočítam na jednej ruke. S odtrhnutými prstami
Návrh UNIX je zlý? Až mě zamrazilo z představy že by mohla někdy jedna entita zla mít takovou penetraci do společnosti jako linux :DJazykové okénko: zlý (slovensky) = špatný (česky) Tedy možná to bylo míněno jenom jako offtopic vtip, ale obávám se že někteří později narození by to nemuseli pochopit
Ad odborníci... takových tlučhubů co umí chytračit, protože vědí že od ztrapnění je dělí obrovský rozdíl mezi teorií a praktickým příkladem, který nikdo nebude překonávat... takových odborníků jsou plné nejen univerzity ;)Nejlepší je, když tito lidé nadávají na to jak tato civilizace končí protože všichni (tedy všichni ostatní, samozřejmě!) jenom okecávají a nic nedělají.
Myslíte Linuse, který udělal i z kernelu jeden z nejdražších a na lidské zdroje nejnáročejších projektů.Myslím Linuse, který udělal z kernelu OS, který funguje na takové šíři hardwaru, které se nejspíš žádný jiný dnešní systém nedokáže vyrovnat, a který je proklatě rychlý. Až dokážete totéž, budu vaši kritiku brát vážně. Pokud to umíte udělat lépe, pak zanechte plkání o kvalitách kernelu, protože je nestoudným mařením vašeho času nepustit se ihned do psaní lepšího OS
V zásadě má nezpochybnitelnou autoritu, kterou by v žádném projektu neměl. Stejně tak právo veta, které uplatňované stejně v jiném projektu by mu zaručilo odchod nejlepších vývojářů.A proc ji asi ma? Protoze si ostatni vyvojari o nem mysli, ze to dela dobre. U free/open-source projektu obvykle neni problem vymenit 'vedouciho', kdyz s ni ostatni vyvojari nesouhlasi. Viz treba xfree86/x.org nebo GCC/EGCS.
Je zajímavé, jak se kritici mého postu taktně vyhli mé poznámce o neefektivním poměru výsledek / počet_člověkoroků_práce. Holt to se nehodí do krámu co?Protoze neni podlozena zadnou smysluplnou argumentaci.
Zkuste dostat do firmy linux-desktopy, pracuje se na tom uz 15 let a vysledek je znam.Bavime se o vyvoji linuxoveho jadra. Takze tohle je uplne irelevantni.
Rekl bych tedy zhruba, ze nevim, co ty tisice lidi delali tech 15 let?Vyvijeli a ladili ovladace pro ty tuny noveho hardware, ktery od te doby vznikl? Pokud bys vzal tehdejsi Slackware a snazil se ho rozjet na soucasnem bezne dostupne hardware, tak by pravdepodobne prevazna vetsina nefungovala. Vyvoj (minoritniho) OS je v podstate vytrvaly zapas s vyrobci hardware o to, zda vyvojari OS stihnou vyvijet ovladace rycheji nez vyrobci hardware nove nekompatibilni verze hardware. A i jenom setrvavani na miste je uspech a stoji obrovske usili.
Je zajímavé, jak se kritici mého postu taktně vyhli mé poznámce o neefektivním poměru výsledek / počet_člověkoroků_práce. Holt to se nehodí do krámu co?No jo, když ta poznámka byla tak evidentně nesmyslná, že ani nestálo za to s ní polemizovat. Jak můžete mluvit o efektivitě vývoje tam, kde nemáte žádný podobný projekt, se kterým byste mohl srovnávat?
Stejně tak leckterý průměrný programátor má větší zkušenosti, než Linus.Zejména vy, že?
jsem přesvědčen, že Linus jako normální vedoucí projektu by skončil tragicky a projekt s ním.To je možné. Stejně jako je možné, že kernel by s normálním vedoucím projektu skončil také tragicky.
Mozna je to tim, ze se nenasel nekdo podobny jako Linus. A proc je takovyto trend?Možná je pro schopné lidi prostě daleko větší intelektuální dobrodružství programovat jádro než desktopové aplikace
Ale veď presne to aj urobili. Tú nudnú časť (desktop) nechali klikačom a tej zaujímavej (jadru) sa venujú :-P
Git niečo dokazuje? Za prvé to nie je desktopová aplikácia, takže je to úplne OT, ale aj keby bola, tak to ukazuje len to, že Linus mal problém a vyriešil ho najlepšie, ako vedel. Nič viac, nič menej.
Ok, tak ktorá časť desktopu podľa teba nie je nudná (nehovorím zábavná, to by som chcel moc)?
vsichni do te doby povazovali za nudnou
[citation needed] Podľa mňa to bolo tak, že do tej doby neexistoval dostatočne veľký a dynamický open source projekt, ktorý by nutne potreboval distribuovaný VCS (a dodnes podobne veľké projekty prežívajú na obyčajnom CVS). Takže nie že by tá oblasť bola nudná, ale stačilo skrátka mať centralizovaný VCS a nikto sa o nič viac nestaral.
Ok, tak napríklad browser. Konkrétne parsovanie nevalidných HTML stránok. To je typický prípad toho, kedy je niečo nudné, ale nedá sa automatizovať. Musíš holt vždy vymýšľať heuristiku na každý ďalší spôsob, ktorým nejaký webdeveloper zmrší HTML (alternatíva, že tie nevalidné stránky nezobrazíš je elegantné riešenie, ale moc by sme si toho na nete nepozreli). Podobných príkladov založených na tom, že máme reálny svet (a nie ideálny matematický, ktorý sa dá automatizovať), ti dám milión. Oni sú ostatne aj v tom jadre -- ovládače hardvéru. To by ma fakt nebavilo. Ale okrem toho sú tam aj celkom pekné teoretické veci ako sieťovanie, filesystémy, pamäť, multitasking, atď.
Obecne, sa mi zdá, že podľa teba nudné = automatizovateľné. To je zjavne blbosť. Nudné totiž neznamená len exaktne sa opakujúce (a je to častý prípad a často sa automatizovať dá), ale aj _približne_ sa opakujúce. Ako tie ovládače k hardvéru a pod. Furt je to jedno a to isté, ale vzhľadom k tomu, že neexistujú štandardy (resp. na ne každý dlabe), tak furt musíš písať dokolečka _podobný_ kód pre nové ovládače, ktoré majú pár vecí inak.
Rozdiel medzi desktopom a jadrom je v tom, že desktop pozostáva takmer výhradne z takýchto porušení štandardov. V jadre je kopa oblastí založená čisto na teoretickej informatike, preto je to zaujímavejšie. Výnimkou sú len tie ovládače a architektúry. Aj keď je pravda, že podľa ostatných JN to tvorí 75% kódu, ak ma pamäť neklame
Mno, to je fakt
No tak to skús. Napíš kvalitný parser HTML
Ok, ak na to pozeráš čisto lingvisticky (snažíme sa pochopiť všetky deformácie syntakticky jednoduchého jazyka), tak to celkom zaujímave je. Problém je, že kvalitné riešenie takýchto problémov je ekvivalentné vytvoreniu umelej inteligencie. Vzhľadom k tomu, že to zatiaľ nikto nevie (a IMHO ani vedieť nebude), tak v praxi ti nakoniec zostane len tá nuda.
Ale to je presne ten problém. Nie je v tom už žiadna informatika, je to len o tom, ako dať dokopy pár komponent, aby to ľuďom vadilo čo najmenej. Kedy naposledy niekto potreboval navrhnúť zaujímavý algoritmus pri tvorbe GUI?
Nehovorím, že je to jednoduché. Len že to nie zaujímavé. Aspoň pre mňa nie
Tak isto máš N distribúcií Linuxu, ktoré sú poväčšinou vzájomne nekompatibilné a plnia prakticky rovnaký účel. Je to chyba? Ja to volám možnosť voľby
Už i to, že existují 2 majoritní, vzájemně nekompatibilní toolkity, je velká chyba.Ono těch toolkitů je víc a není to specifikum světa Linuxu. Dejme tomu, že bys mohl tvrdit, že je špatné, že jsou dva podobně oblíbené toolkity (tvrdíš to nebo ne?). Potom ale dojdeš jenom ke dvěma řešením: 1) Jeden toolkit zakázat/zničit -- to úplně s opensource světem neladí. 2) Udělat jeden toolkit, který se z obou poučí a bude lepší -- to by pravděpodobně dopadlo jako se dvěma papeži.
Neberu jako chybu programovací model (je hezké mít možnost vybrat si API), ale právě tu nekompatibilitu. Skinování aplikací, standardní dialogy a návyky, kombinování toolkitů.Nějaká konvergence existuje... ale je s tím dost práce, do které se jen tak každému nechce.
Řešení v tuto chvíly nemožné.Podle mě vycházíš z předpokladu dokonalosti. Jenže svět se dynamicky mění. Není dokonalý.
jenže uživatel to nepoznáSpíš je uživatel zvyklý, že každá aplikace může vypadat úplně jinak, takže mu ty rozdíly už ani nepřijdou.
Ten druhý bod čiastočne začal riešiť freedesktop.org štandardizáciou rôznych oblastí desktopu. Ale potrvá ešte dlho, kým sa to nejak presadí to existujúcich technológií.
K tomu poslednému odstavcu: to je úplne naivný pohľad na svet. V podstate tvrdíš, že neexistujú nudné problémy, lebo v princípe sa dá skonštruovať algoritmus, ktorý ich rieši. S realitou to bohužiaľ nemá nič spoločné...
Squeak určitě není úplně běžný projekt, ale k většině zmíněných bodů mě napadají obdobné případy, takže určitě nejsou pro Squeak specifické.
Squeak není jediná implementace Smalltalku a ve způsobu vykreslování GUI je mezi nimi spíše výjimkou. Budeme-li se ale bavit o Squeaku, jistá infantilnost a nestandardnost jeho vzhledu mu určitě příznivce spíše ubírala než přinášela.
Přirozeně se vyrojilo několik (i použitelných) pokusů o svázání Squeaku s nativním GUI. Já sám jsem už někdy před sedmi lety nějaké aplikace s nativním a poměrně složitým GUI ve Squeaku vytvořil. Jenže tyto pokusy se nikdy v hlavním proudu vývoje neprosadily. On ani dnes není výběr mezi multiplatformními GUI frameworky právě jednoduchý, zvlášť pokud člověk požaduje snadnou slučitelnost se Smalltalkem.
Já osobně jsem zastáncem toho, že o vykreslování GUI se má starat specializovaný "prohlížeč" komunikující s vlastní aplikací pokud možno přes HTTP. Viz SeasideXUL. Poměrně zajímavý detail je, že ty vývojové nástroje demonstrované v SeasideXUL jsou standardní vývojové nástroje Squeaku definované ve frameworku OBBrowser a jsou na konkrétním GUI frameworku zcela nezávisllé. Dokonce existuje malá image Squeaku, která nemá žádné nativní GUI a používá vývojové nástroje zobrazované pouze přes XULBrowser.
Pharo i Squeak jsou pomocí UIManagerů a podobných mechanismů stále více nezávislé na konkrétním GUI (mimo jiné jako malý bonus k mým snahám o to, aby žádné GUI nemusely mít). Pak se třeba konečně uchytí i vazby na GTK, wxWidgets nebo třeba kompexní GUI přímo ve webovém prohlížeči.
Většinou stačí dotaz na SqueakSource
Tiež som fanúšik UCW a Weblocks. Ale to prvé vyzerá byť už dlhú dobu prakticky mŕtve a to druhé vedie jeden človek a komunita a počet vytvorených webov sa dá spočítať na prstoch jednej ruky. Bohužiaľ. Seaside má aspoň nejakú šancu sa presadiť v širšom merítku a prilakať ľudí k tomuto typu programovania a možno časom hrozí aj portovanie niektorých myšlienok do iných jazykov.
Tak Lisp dokáže byť pomerne svižný. Skôr vidím problém v tom, že v Lispe dokopy nikto neprogramuje. A ak áno, tak väčšinou sú to teoretickí informatici, umelí inteligenti, návrhári jazykov a pod., takže sa určite nebudú venovať webovému frameworku
Smalltalk na druhej strane vnímam ako relatívne pomalý jazyk. Ale netuším, či je to principiálne kvôli jeho návrhu, alebo či je málo ľudí/vôle na lepšie optimalizácie. Tipujem to druhé.
No, ja som niekedy pred rokom čítal o tom, že sa niekto snažil kontinuácie dohackovať do JVM. Resp. emulovať kontinuácie v JVM call stacku (ktorý na to nie je extra stavaný). Netuším aký to malo výsledok, ale minimálne niektorí ľudia o tieto pokročilé webframeworky záujem majú. Možno už o takých 10, 20 rokov sa to presadí
Aha, dík za odkaz.
Nerozumiem, ako to súvisí s výkonom. Problém je v tom, že ľudia štandardné webové prostredie (HTTP, HTML, browser), určené pre statické stránky, používajú čoraz viac pre normálne aplikácie. Tento problém by sa najčistejšie dal redefiníciou toho, čo to má vlastne browser byť a všetkých príslušných technológií. To sa pochopiteľne nestane, takže ešte desiatky rokov budeme mať webové aplikácie v browseroch určených prakticky len na prezeranie statických stránok
No dobre, ale pamätať si kontinuácie, to musí byť podľa mňa pár byteov. Len zabalíš call-stack. Koľko to môže mať?
Ten Seaside myslíš tak, že pre každú session zvlášť komplet všetky Seaside objekty v pamäti? To mi pripadá desne neefektívne. V podstate stačí aby každá session mala len pár vlastných inštancií hlavných objektov. Bežný používateľ nebude chcieť upravovať základné objekty, takže tie môžu byť zdieľané. Nakoľko je to prakticky realizovateľné ale netuším.
Horizontálne? Ten pojem nepoznám. Čo to obnáša?
Aha, zaujímavé. Týmto load-balancingom a ďalším serverovým veciam vôbec nerozumiem, tak je fajn sa trochu podučiť.
K tej wiki inak nie je citácia, takže netuším, čoho všetkého sa ten footprint týka. Alebo či je to vôbec pravda.
Otázka je, čo presne sa tými 50kB a 200kB v Seaside myslí. Citácie nie sú a vygooglil som len jeden mail, kde sú tie čísla spomenuté tiež len tak pomimo. IMHO 50kB sa ani omylom nemôže týkať kontinuácií samotných, to je proste moc. 800B už znie rozumnejšie, aj keď stále sa mi to zdá byť moc. Dajme tomu, že priemerná hĺbka volaní bude ~10 a potrebujeme ~20B na pamätania jedného volania (4B na adresáciu funkcie a 4B na každý argument; pre jednoduchosť máme pamäť adresovanú 32 bitmi) na stacku. Mám niekde chybu v počtoch?
Dostávam chuť sa znova na Seaside trochu pozrieť