Azért win alatt is vannak függőségek. Ilyen java, olyan flash, amolyan .net framework, visualc++ és a kecske. OpenGL, DirectX, nem beszélve a különböző driverekről amiket nagyrészt a Linux Kernel tartalmaz, neked meg úgy kell összevadászni mindent mindenhonnan a Win-hez, főleg egy régebbi vas/win esetén, de az új is tartalmaz egy alap drivert, ami ha szerencséd van működik, ha nem tartalmazza, akkor lehúzza windows update-el.. már ha talál valamit és ha szerencséd van működik. Aztán jönnek a keresgélések, stb stb...
Sok eltérés van, a linuxnál a kernel az úgy egész csendben tud frissülni, win esetén teljes buildet kapsz. Ha ott egyszer feltelepítesz valamit, akkor nagy eséllyel örökre úgy marad. Tehát ha van egy sebezhető hangkátyadriverhez tartozó bloatware keretprogram, akkor az nagy valószínűséggel örökre úgy marad, míg egy kész disztró esetén az ilyen szoftverek géptől függetlenül ugyanazok maradnak. Tehát a scan progi az nagy eséllyel mindent meg eszik, a hangerő meg kimenet/bemenet váltó felület szinte teljesen egységes hangkártyától függetlenül stb. A webkamerának általában ott a csíz minden disztróban. Egyedül a videokártyák területén lehet nagyobb eltérés. Win alól hiányoznak ezek az alap programok, vagy ha vannak kevésbé használhatók. Általában mi van? Veszel egy kamerát, annak a gyártója ad ki egy szoftvert és te azt használod. Vagy töltesz le valamit 98987 millióból és örülsz ha tudod használni és nem vírusos. Linux alatt ezért is jó, hogy sok minden egységesebb + van pár program ami használató és kész. Nem kell még 872 másik, fejlesztik azt a párat.
Már az MS is elkezdte ezt a szoftver áruházas őrületet, de nem igazán találhatók benne használható programok, de a használhatatlanoknak is horror ára van. Míg ezzel szemben egy Mint alatt tökjól működik és sokminden benne van.
Na de mindegy is, mert elkanyarodtam a témától, két különböző rendszer, a MS a W8 óta sokmindent elkezdett lemásolni a versenytársakról több-kevesebb sikerrel. Amíg Linux alatt a programok nagy része az official tárolókból igen gyorsan képes frissülni, addig win alatt minden egyes programnak saját update szolgáltatása fut, ami figyeli, hogy van-e új verzió. Jó esetben. Linux esetén ez kevésbé erőforrásigényes. Sok programot neked kell manuálisan ellenőrizni és frissíteni win alatt, Linuxra ez szintén kevésbé jellemző. Szinte azonnal megkapod a frissítést ha van, csak a megfelelő tárolót kell hozzáadni a src list-hez. Sok esetben a programok ezt meg is teszik saját maguknak (ha külső forrásból telepíted, ha nem, akkor meg egyértelmű, hogy ismert a hely ahonnan származik).
MS esetén minden frissítést egyetlen cég irányít, akkor kapod amikor ők adják, azt kapod, amit adnak. Sokszor nem is tudod mi van a gépeden, Linux esetén meg túlnyomórészt részletes doksit kapsz minden mellé vagy ha valami nem tiszta, akkor kérdezhetsz. MS esetén felhívhatod a supportot, de le leszel pattintva, vagy kapsz valami általános lózung szöveget meg írjál hibajegyet vagy nézegesd az MS support oldalait.
Ha egyszer összeraksz egy jó rendszert, ami Linux Kernelre épül és ismered minden részét, akkor ott nem érhet meglepetés. Win esetén bármelyik kedden beüthet a káosz :D Nekem pl. az otthoni gépem, ami linuxos, soha az életben nem csinált olyant, hogy kérdés nélkül újraindult volna. Ezzel szemben a W10 frissítéskor már 2x gyönyörűen elvesztek a munkáim, volt egy eset amikor fájlok is. Linux alatt soha nem volt adatvesztésem frissítés miatt, pedig már tizenX éve nyomom őket, több disztrót is használok különböző gépeken.
Dependency pedig mindig volt, van és lesz is. Minden rendszeren. A videó főggősége a kodek, a kodek függősége mondjuk a libc, anak a kernel, annak a cpu, annak a réz, annak az atomok és így tovább. Minden mindenre épül, márpedig egy trabantból nem fogsz építeni 800 lóerős gépet, ahhoz legalább kell egy audi. Ahhoz pedig a trabantodat le kell cserélni mert elavult. Egy darabig el lehet lenni a régi cuccokkal, de egy idő után úgyis cserélni kell. Legtöbb esetben legjobb hamar túlesni ezen, és akkor később nem lesz gond.
Magyarra fordítva, ha valamit megírnak C++ban és gcc1.1-el fordítják, az elmegy. Ha újabb libeket, eljárásokat vagy egyéb olyan funkciókat használsz, egy modern programhoz, amiket a gcc1.1 nem ismer, akkor kénytelen leszel ezt a dependencyt feloldani, tehát frissíted mondjuk a gcc1.8-ra, mert az már ismeri ezeket és tudja kezelni, tehát feltehetőleg hibamentesen fordítja a programodat. Persze ha nem lenne dependency beállítva, akkor is lehet, hogy lefordulna, csak nem biztos, hogy pont az lenne az eredmény, amit vársz.