A mame to tady zas.. pry zastaraly kod. Jak muze funkcni kod degradovat prosim vas? Kod bud funguje, nebo nefunguje.
Pokud nefunguje, tak to nekdo(!) rozbil, a pokud si dobre pamatuji, tak ti, co prispivaji do jadra a prekopavaji veci maji za povinnost aktualizovat veskere ostatni casti ktere jsou upravami dotceny.
Ze je to opensource, neni vymluva na prosazovani FY pristupu. Proste to nema hlavu a patu :)
Zvažuju jestli jen trolíte nebo jestli opravdu nemáte zkušenosti a zajímá vás to.
Tak tedy - kód stárne sám od sebe vlivem externího vývoje - přichází nové možnosti v jazyce, v překladačích, HW atd. To přináší rozhodnutí, jestli se vyplatí aktualizace nebo to nechat být.
Dále je navázán na infrastrukturu v okolních knihovnách. Pokud se tam objeví něco nového, tak je třeba migrovat kód, který to může použít a opět jsme u zvažování co se vyplatí a co ne. Nakonec to dojde do stavu, že by se mohly staré části infrastruktury vyhodit, pokud se vyhodí kód, který už nikoho nezajímá. A to může být tento případ.
Takže ano, kód stárne zcela přirozeně.
Ne, nic takoveho se na moniliticky bastl jmenem "Linux Kernel" nevztahuje - kernel nema okolni knihovny. (Stary) HW ktery existoval - nadale existuje v nezmenene podobe.
Nekonecne prekopavani a zmena politicke ideologie (API), pripadne technologicke lenosti (vyzadovani atomickeho xchg), je to, na cem to cele hnije.
Externí knihovny sice nemá, ale drivery používají spoustu pomocných subsystémů, které je potřeba stále vyvíjet, rozšiřovat. A občas i se zbavit některých API (třeba jen jedné metody), jejichž podpora se v daném subsystému stává neudržitelně komplikovanou. Předtím je samozřejmě nutné změnou dotčené stávající drivery upravit, aby vše dál fungovalo.
Souhlasím s předřečníkem, že nechápe, co tě na tom překvapuje.
1. 8. 2024, 12:49 editováno autorem komentáře
Ne, v 90% případů je to projev čisté idiocie ev. "takhle je to lepší".
Většina tskových změn, se kterou jsem se potkal já, bylo pouze přejmenování metody/funkce. Stejná funkcionalita, stejné parametry (i když, už jsem také párkrát viděl, že je někdo jen přeházel), jen změna jména. Změna pro změnu bez závažného důvodu.
To mi připomíná Win API - k jedné funkcionalitě 2-5 funkcí označených fx2-5, některé varianty jsou thread safe, jiné nejsou, některé podporují utf, jiné ne, některé podporují 8znakové názvy souborů, a jiné plnou délku. Neskutečný mrdník. V tom se neskutečně blbě programuje, protože musíte prolézt nnásobně víc dokumentace, a předpokládám, že to pro Microsoft bude taky neskutečná koule na noze. Neomezená kompatibilita zabije jakoukoliv evoluci.
Když někdo udělá v projektu změnu, je třeba projekt otestovat. V případě jádra OS ho vyzkoušet na podporovaných architekturách CPU. Když to nikdo dlouhodobě nedělá, je předpoklad, že to jádro už na dané architektuře stejně nefunguje, a tak není třeba omezovat nový kód tím starým. Povšimněte si, že stále živé architektury stále podporované jsou (např ty Motoroly v Amigách). Samozřejmě že problém zčásti vzniká i architekturou Linux kernelu, je to něco za něco.
1. 8. 2024, 15:42 editováno autorem komentáře
Jednoduchou metrikou:
- budes to udrzovat nebo nekdo koho zaplatis?
Pokud ne, tak to zalezi jen a pouze na tom jestli to bude udrzovat nekdo jiny, at uz proto ze ma ten HW, nebo ze ho nekdo zaplati.
Vyzadovat po opensource projektu, ktery mas zdarma a nicim neprispejes, aby v nem nekdo zdarma udrzoval podporu pro zastaralej HW ktery ho nezajima a nema ho, je postavene na palici...