Vlákno názorů k článku Linux má jen deset dobrých aplikací, říká zakladatel Gnome od Rover623 - Tak pro Linuxový desktop programuji už dlouho a...

  • Článek je starý, nové názory již nelze přidávat.
  • 3. 10. 2011 15:35

    Rover623 (neregistrovaný)

    Tak pro Linuxový desktop programuji už dlouho a nějak jsem si nevšiml, že by něco nešlo. Závislosti buď propojíte tak, že neuvedete verzi nebo si danou komponentu dodáte sami. Je sice pravda, že v případě nadstaveb pro ffmpeg se podle verze podvozku bude mírně lišit i to co to "klikadlo" nakonec vyprodukuje, ale to je asi tak všechno.

    Co se týče balíků, jsou 2 nejrozšířenější systémy (DEB a RPM) a kdo řekne, že nejsou vzájemně kompatibilní je diletant nejhrubšího zrna nebo jsem já blbec když už si 10 let převádím RPM na DEB (u věci kde je jen RPM) aby to můj Debian pobral. Udělat z DEB RPM a obráceně je jednoduché.

    S roztříštěností souhlasím jen do té míry, že pokud chcete aplikaci pro KDE v GNOME, musíte si dotáhnout na závislostech skoro polovinu KDE, ale ukažte mi jediné distro kde nejsou alternativní prostředí (ta hlavní GNOME, KDE, Xfce, LXDE) k dispozici minimálně na úrovni základních komponent.

    V Linuxu je to jednoduché, máte knihovny a na nich postavenou aplikaci, pokud pro běh aplikace potřebuje pouze určitý typ knihovny dotáhnete si ho v balíku. Ve Windows to funguje jinak, máte totiž jisté nalinkované knihovny a pokud nejste MS nemůžete knihovny systému měnit (Vista a W7, do jisté míry i XP) a protože se nemůžete spolehnout na to co s danou knihovnou při další aktualizaci stane, raději si všechno dotáhnete s instalátorem a uložíte do složky aplikace a na systém to raději ani neprovážete. Podle toho ten systém potom vypadá, milionkrát to samé, jen to pokaždé patří jiné aplikaci.

    Android nemá jednotné API, pokud si něco chci napsat podle sebe, udělám to jako ve Windows, celé to naflikuju do instalátoru a hotovo, se systémem to vůbec neprovážu, jenže to nikdo nebude chtít protože to bude velké jako kráva. Ve Win8 to s tím jejich sandboxem dopadne fakt dobře, protože mi systém bez podpisu nedovolí navázat program na základní obslužné komponenty systému, takže to milion lidí bude nějak obskurně obcházet (vítej 5 řado Symbianu) a celé rozhraní buď navážu na knihovny MS nebo si to napíšu a nakreslím celé sám.

    Takže co je horší, pokud si musím pro aplikaci dotáhnout podvozek jiného prostředí v Linuxu s tím, že na tom potom aplikace ze stejného prostředí už potom staví nebo si dotáhnu všechno do složky aplikace jako ve Windows. Se podívejte na Google Chrome, to je hezká ukázka toho jak si všechno odbýt na vlastním písečku a se systémem se vůbec neintegrovat, problém je, že ve Windows to takhle dělá každá druhá aplikace

  • 3. 10. 2011 18:31

    quax (neregistrovaný)

    "Ve Windows to funguje jinak, máte totiž jisté nalinkované knihovny a pokud nejste MS nemůžete knihovny systému měnit (Vista a W7, do jisté míry i XP) a protože se nemůžete spolehnout na to co s danou knihovnou při další aktualizaci stane, raději si všechno dotáhnete s instalátorem a uložíte do složky aplikace a na systém to raději ani neprovážete. Podle toho ten systém potom vypadá, milionkrát to samé, jen to pokaždé patří jiné aplikaci."

    Problém je, že ty knihovny čas od času mění rozhraní ABI a čas od času se v novějších verzích vyskytují nové chyby. Takže vývojář aplikace A použije knihovnu verze 1.2.3, odladí aplikaci s touto verzí knihovny a přibalí ji k aplikaci. Vývojář aplikace B použije knihovnu verze 1.2.4, odladí aplikaci s touto verzí knihovny a přibalí ji k aplikaci. Na Windows můžete nainstalovat obě aplikace současně, jak aplikaci A (používají verzi 1.2.3), tak aplikaci B (používající verzi 1.2.4).

    Na Linux to současně nenainstalujete. Buď budou obě aplikace používat knihovnu verze 1.2.3 nebo budou obě používat 1.2.4. Pokud každá s těchto verzí knihovny má jiné vlastnosti a jiné bugy, a ty aplikace A a B na existenci/nee­xistenci konkrétních vlastnotí a bugů závisí, tak máte problém.

  • 3. 10. 2011 19:33

    Rover623 (neregistrovaný)

    Tak tohle tvrzení je s prominutím pěkná hovadina. Na Linuxu můžete mít verzí těch knihoven třeba 10, ale musíte aplikaci říct, kde požadovanou verzi najde, nemůžete použít standardní cestu, ale to je stejné jako na Windows. Pokud chcete použít určitou verzi knihovny v Linuxu musíte ji v balíku dodat a stejně jako ve Windows nemůžete nalinkovat standardní cestu. Rozdíl je pouze v tom, že ve Windows už si většina programátorů zvykla, že si instalátor táhne vše potřebné v sobě a tak linkují cesty na knihovny do složky aplikace (důkazem, že to jde i na Linuxu je Chromium). V Linuxu většina programátorů linkuje aplikace na standardní cesty (je to tak mnohem čistší řešení), horší potom je, když v každém distru je jiná verze.

    Jenže většinu těhle neduhů řeší rolling updates, alespoň co se aktualizace aplikací týče

  • 3. 10. 2011 20:46

    Ondra (neregistrovaný)

    K čemu je "čistší" řešení, které působí tolik problémů? Při dnešní rychlosti linek a kapacitě disků a RAM je mi srdečně jedno, když si s sebou aplikace potáhne pár desítek mega knihoven navíc a nebude jejich kód sdílet v paměti s jinými aplikacemi. Coby hračička linuxák si můžu hrát do zblbnutí, abych to rozchodil, ale coby uživatel to chci mít - vulgárně řečeno - plug & play. Nějaká čistota je mi v tom případě ukradená, hlavně když to dělá, co chci, a nemusím se s tím párat. Je absurdní, že tak jednoduchou věc nejsou linuxáci schopni pochopit či přijmout, zvlášť tváří v tvář faktu, že OS, na kterém je takové "nečisté" řešení běžnou (a funkční) záležitostí, poráží Linux o osm délek (a to jsem v tom příměru velmi laskavý).

  • 3. 10. 2011 20:57

    palo (neregistrovaný)

    absolutny suhlas. linuxaci su neskutocne zadubeni a vzdy budu. a preto linux bude mat vzdy iba to 1%. co im bude nadalej upevnovat ich pocit elitarstva :)

  • 3. 10. 2011 21:42

    nazir

    Ještě štěstí, že nám to sem vy chlapci z komentářové služby vždy ochotně přispěcháte vysvětlit. Díky bohům za to! Alespoň se člověk potom necítí býti tak odtrženým od reality...

  • 3. 10. 2011 22:02

    palo (neregistrovaný)

    oh prepac ze sa niekto odvazi 1%nu nepochopenu dokonalost opisat inak ako slovom bravoo :)
    ak je 1% na desktope ciel, gratulujem k absolutnemu uspechu. ale ak desktop linuxaci by radi videli tucniaka penetrovat vacsi podiel domacnosti/firiem, 1% za 20r je asi najvacsi it fail v historii.

  • 3. 10. 2011 22:11

    nazir

    Sice tak trochu nechápu, o čem (a proč) to tu pořád píšete, ale nepřestávejte prosím, je to zábavné skoro jako Lael Ophir, kocour, a podobní kolegové... ;^)

  • 4. 10. 2011 8:31

    muf (neregistrovaný)

    Každý se něčím živíme. Někdo v IT, někdo je MS profesionální účastník diskusí.
    Takový Opher Lalel třeba dovedl svou diskusní práci k dokonalosti.

  • 3. 10. 2011 22:11

    Rover623 (neregistrovaný)

    Jenže to je právě to co uživatel Windows nikdy nemůže pochopit. Ve Windows když aplikaci nalinkujete na nějakou systémovou knihovnu, v momentě kdy vám ji MS nebo podepsaná aplikace od MS změní, tak vaše aplikace začne okamžitě chybovat. V Linuxu je většina aplikací pod X pouze nadstavbou knihoven které běží samostatně, grafické GUI jim ve většině případů pouze předává syntaxi, pokud vám to někdo předělá, tak dojde obvykle jen k jediné věci, GUI se stane zastaralé, protože syntax pro danou knihovnu bývá obvykle zpětně zachován. Situace bývá problematická pouze v těch případech kdy je třeba nové VLC navázáno na nové moduly gstreameru a ve vaší distribuci takové moduly nejsou.

    Je nutné si uvědomit, že v Linuxu nic takového jako program nefunguje s novou verzí knihovny skoro neexistuje, existuje pouze případ kdy máte aplikaci která potřebuje novější knihovny než máte v systému, pak jsou jen 2 možnosti, musíte knihovnu do systému dostat. V případě různých RC verzí ji potom musíte přidat do balíku a umístit mimo standardní cestu a samozřejmě to programu říct.

    Ve Windows je zcela normální, že knihovna není jen modul kterému se předává syntax z aplikace, ale rovnou celé aplikační rozhraní, když vám ho potom něco přepíše, máte o zábavu postaráno.

    Je nutné si uvědomit, že 90% SW v Linuxu je provedeno systémem podvozek+GUI, ve Windows je běžnější, že GUI=celá aplikace

  • 4. 10. 2011 1:36

    Lael Ophir (neregistrovaný)

    Proboha programoval jste někdy pro Windows? Pokud MS změní systémovou knihovnu, její nová verze je samozřejmě zpětně kompatibilní.
    Ve Windows je řada jenoduchých aplikací napsaná přímo pod GUI, souhlas. Ono totiž nemá smysl psát kalkulačku, Notepad nebo Paint s backendem. Naopak aplikace typu Word, Outlook, AutoCAD, CorelDRAW a další mají objektový model, a lze je používat "zvenku".

  • 4. 10. 2011 9:49

    Ondra (neregistrovaný)

    Musím říct, že ač mám ve vývoji aplikací léta praxe, mám dost potíže pochopit, co to tady plácáte. Tuším, že se snažíte naznačit, že aplikační logika a GUI jsou v linuxových aplikacích implementovány v oddělených knihovnách nebo modulech, zatímco ve Windows je kód řešící GUI a logiku monoliticky provázaný, takříkajíc na jedné hromadě. To je s prominutím pitomost, toto je věcí návrhu aplikace a s OS to nemá absolutně nic společného.
    Sdílení knihoven mezi aplikacemi se na Linuxu a na Windows v principu nijak zvlášť neliší. Rozdíl je v tom, že v Linuxu panuje až absurdní snaha držet všechny sdílené knihovny na jednom místě, zatímco ve Windows se obvykle sdílí jen nutný systémový základ a ostatní knihovny v potřebných si s sebou aplikace táhnou samy. Z toho důvodu je taky obtížné dostat do Linuxu aplikaci, která není připravená a zabalíčkovaná pro příslušnou distribuci a verzi distribuce - velmi pravděpodobně pak bude mít závislosti na knihovnách a verzích knihoven, které v systému nejsou a které je obtížné do něj dostat. To je samozřejmě z pohledu normálního uživatele dost frustrující.

  • 4. 10. 2011 11:43

    larry (neregistrovaný)

    Ta myšlenka je v jádru dobrá - ba přímo správná, ale trpí právě zbytečně velkým množstvím distribucí a jejich verzí. Mám - li knihovnu na jednom místě, v případě chyby stačí vydat opravu právě na tuto knihovnu a o víc se nestarat.
    Bohužel praktické provedení je degradováno právě tím bordelem, vzniklým vydáváním nesmyslně častých a rychle se měnících verzí distribucí.

  • 4. 10. 2011 15:31

    Ondra (neregistrovaný)

    Myslím, že ta myšlenka je bez výhrad funkční ("správná" je trochu neurčitý a subjektivní pojem) jen za předpokladu, že nové verze knihoven pouze patchují chyby.
    Realita je bohužel poněkud barvitější, protože nové verze knihoven často přinášejí i nové rozhraní. To si následně vynucuje update všech závislých aplikací (a jiných knihoven), který může být zbytečný nebo dokonce nežádoucí. A na druhou stranu aplikaci, která je závislá na novější (nekompatibilní) verzi knihovny, než je právě v systému k dispozici, je (polo)laickými silami velmi obtížné nainstalovat a rozchodit a mnohdy to dá pekelně zabrat i člověku, který ví, co dělá.
    Uživatel, který chce mít svobodu v tom, co si chce a nechce instalovat, se pak fakticky stává otrokem autorů distribuce, kteří mu dávají na výběr jen z toho, co oni sami považují za dobré a správné (tady je subjektivita těch pojmů v pořádku :-). Můžeme samozřejmě diskutovat donekonečna na témata jako "ať uživatel změní distribuci" nebo "ať si to sám zbuildí ze zdrojáků", ale tím se dostáváme naprosto mimo oblast uživatelsky přijatelných řešení.

  • 4. 10. 2011 18:32

    jaromrax

    Tady je problem pojem svobody. Cela civilizace ma dojem, ze svoboda je to, ze je nekdo povinen mi zadarmo neco dat pod nos. Pak se muze objevit i vyraz 'otrok autoru distribuce'. Bud prijmu to, co pro me delaji zadarmo druzi, nebo mam dalsi tri moznosti.

  • 4. 10. 2011 20:56

    Ondra (neregistrovaný)

    Bohužel ta vaše "civilizace" má na Linux zdarma názor, který dává dost jasně najevo svobodným výběrem Windows za peníze. Takže bych řekl, že - alespoň v tomto případě - většina lidí docela dobře chápe, že svoboda není o tom, kdo mi co dá zadarmo.
    A vůbec, co do toho taháte prachy? Co to má společného s tím, jak rigidně je na Linuxu řešena kompatibilita aplikací a knihoven, a s tím, že nacpat do něj aplikaci, kterou oficiálně nepodporuje Velký šéf, je pro normálního člověka prostě problém? Tyhle přitroublé obhajoby Linuxu a FOSS ve stylu "máš to zadarmo, tak drž hubu a krok" mě vážně vytáčejí. Ne proto, že bych Linux považoval za špatný (naopak), ale proto, že tyhle názory ho jen brzdí v tom, aby se z něj konečně stalo něco opravdu uživatelsky přijatelného. A ne, za uživatele v tomhle případě fakt nepovažuji člověka, který ví, co je to initd.

  • 19. 11. 2011 4:21

    Ani-ne (neregistrovaný)

    "Bohužel ta vaše "civilizace" má na Linux zdarma názor, který dává dost jasně najevo svobodným výběrem Windows za peníze."

    Ani ne - vetsine lidi Windows "BYL svobodne VYBRAN" jeste pred jejich prvnim stykem s pocitacem - at uz prodejcem pocitace, nebo skolou na ktere studuji/studovali.

    Tim se vytvari u vetsiny lidi navyk, a soucasne vzdelani/schopnosti pouzivat Windows, jeho ovladani a uskali - a clovek pak ma tendenci ho preferovat - "zvyk je zelezna kosile" a bezny clovek ma tendenci zustat u toho, co pouziva a zna - pokud/dokud se mu v hlave nevytvori dostatecna "motivujici energie" k vyhledavani alternativ, jejich zkoumani, porovnavani, a pripadne vymene.

  • 4. 10. 2011 0:08

    basher (neregistrovaný)

    Toto reseni prinasi problem pri patchovani chyb. Pokud mate kazdou aplikaci s vlastnimi knihovnami, potrebujete zupgradovat vsechny dotcene knihovny na nekolika mistech v systemu. V pripade, ze pouzivate knihovnu obsazenu v jednom balicku tak updatnete jen dany balicek a vsechny aplikace jez tuto knihovnu pouzivaji.

    Vzdy zalezi na tom, co je pro daneho uzivatele nejdulezitejsi a jake jsou jeho potreby. Ve vysledku nejde ani tak o to jaky je OS, ale jake aplikace chceme pouzivat.

  • 4. 10. 2011 10:32

    Ondra (neregistrovaný)

    Jistě, pokud si aplikace vleče knihovny s sebou, stává se záplatování chyb věcí dodavatele aplikace a nikoli dodavatele OS. Proto taky většina solidních Windows aplikací má zabudované upozorňování na updaty, případně rovnou možnost automatického updatu.
    Linuxové řešení, ve kterém se sdílí pokud možno vše a kde update knihovny proběhne jednou na jednom místě, sice vypadá na první pohled velmi čistě a elegantně, ale na druhou stranu vytváří rozsáhlý systém závislostí, které uživateli prakticky dost tvrdě omezují volbu aplikací (a jejich verzí), které má k dispozici. Trochu paradoxně pak ten "svobodný" Linux působí uživatelsky méně svobodně než Windows.

  • 3. 10. 2011 21:58

    wdl (neregistrovaný)

    Na Linuxu můžete mít 10 verzí téže knihovny, ale balíčkovacím systémem je nenainstalujete. Čili pro běžného uživatele je to na nic, pokud si s tím nechce hrát a kompilovat si to.

    Na Linuxu, pokud chcete jinou verzi programu než jaká je v distribuci, zbývá vám ten program buď kompilovat (což běžný uživatel nezvládne), nebo instalovat CELOU NOVOU DISTRIBUCI!!! Na Windowsech prostě odinstalujete starou verzi programu (i se všemi jeho přibalenými knihovnami) a nainstalujete novou verzi (s jinými přibalenými knihovnami) --- a je to, aniž by to mělo na ostatní programy ve Windows jakýkoli vliv.

    Co se týče rolling updates, zajímalo by mě, kdo a jak u toho testuje kvalitu? Odladit běžný operační systém (ať již Linuxovou distribuci nebo novou verzi Windows) trvá roky, nějak si nedokážu představit, jakým způsobem chcete testovat distribuci, která se neustále mění.

  • 3. 10. 2011 22:33

    Rover623 (neregistrovaný)

    To že vám to balíčkovací systém nenainstaluje je pitomost. Balíčkovací systém vám nainstaluje co chcete, jen nesmíte použít standardní cestu. Pokud si danou knihovnu instaluji jinam než má být, tak si systém ani nevšimne, že už nějakou takovou má