Přišla mi reakce od firmy ASIX na můj předchozí článek. Přidám jí tedy na konec článku. Ale rád shrnu co jsem vypozoroval i z dalších reakcí. V tuto chvíli je asi 60% hlasujících proti regulaci státem. Spíše než konstruktivní přípomínky je nejčastějším typem komentáře odsouzení autora a jeho názorů. Spousta reakcí vyplynula pouze z toho, že si to pořádně nepřečetli.
Nyní tedy uvedu hlavní body co mě vedli vůbec k napsání toho článku a připojím tam bod 5., kde je názor většiny čtenářu mého článku.
Je možné, že jsem to napsal špatně a třeba by to mohlo znít lépe napsané kvalitním PR pisatelem. Nejprve napíši ještě jednu myšlenku, před přidáním emailu od ASIXu, kde v první chvíli, také emoce spíše se snažili urážet autora a vyhrožovat, že nebudou radši dělat nic pro širokou veřejnost.
Myšlenka č.2: Neměl by stát, přesněji EU podporovat vývoj například takových programů jako je například účetnictví? (ASIX nechme stranou)
Mily naivni chlapce, ktery se boji podepsat,
ja Vam tedy neco napisu, ale pravni nazor to nebude, protoze na pravniky mam v podstate stejny nazor jako na Microsoft, a ten se od Vaseho nijak zvlast nelisi.
Vypada to, ze o podnikani si myslite to, co nam vnucuji nase (post)bolsevicka media bohata na estebaky, milicionare, prodejne gaunery ci samolibe nedouky – totiz ten, ze co podnikatel, to vycurany smejd a podvodnik nebo aspon bezcitny gauner. Nemusi to platit vzdycky, vite? Pisete sice, ze mate firmu, ale nenapada Vas nic jineho nez byrokraticko-levicacky narizovat.
Kdyz se musite starat, aby firma, ktera se zivi tvurci praci (a ne prirazenim si marze ke smejdum zabalenych do pestrych krabicek a vyrobenych otroky v komunisticke Cine) a ktera musi (na rozdil od vselijakych konzultantu a podobnych kecalku bez zodpovednosti) za svou praci rucit, mate s tim dost starosti… Jestli si tedy myslite, ze se tady koupeme v prachach a valime si sunky, misto abychom hejbli zadeli a udelali UP pro Linux, tak jste vedle, jak ta jedle.
Nas software je psan v prostredi Borland (nebo jak se ted zrovna ta firma jmenuje). Mame tedy samostatne bezici, z adresare spustitelne aplikace, ktere nepotrebuji spousty pitomosti okolo, neprepisuji systemove soubory a po instalaci se nerozprsknou po celem pocitaci jako ty vselijake potvornosti tvorene v ruznych Visual ***, ktere uz nikdy dokonale neodinstalujete. Uz to byste mohl ocenit, ne? A funguje to pod WINE, protoze nepouzivame zadne svinske programovaci praktiky. Nestoji ani to za pochvalu? Borlandi produkty nam pres spoustu nedokonalosti vyhovuji, proto je pouzivame.
Problem je s drivery. Ruzni linuxovi experti se nam to snazili nejak rozchodit, ale nikomu se nepovedlo udelat nic snadno pouzitelneho. Kdybychom to prezentovali tak, jak to je, nadaval byste nam, co delame za sragory…
Mimochodem – mozna jste nezaregistroval, ze UP neni jediny software k PRESTU a ze treba software pro ARMy, kde jsme mohli s PRESTEM „vplout“ do uz hotoveho prostredi, neni jen pro Windows.
A jeste neco – na zprovozneni naseho software v Linuxu ted budeme mit jeste mene casu. Kvuli 64-bitovym Vistam… Jsou s nimi problemy, budeme muset platit vypalne za podepsani driveru. Zakaznici na Visty prechazeji a my jim musime vyhovet. Myslite, ze nas to tesi? Ze podporujeme monopol Microsoftu dobrovolne? Tak to jste tedy na omylu, chlapce mily.
Treba se to zlepsi, kdyz prosadite to Vase narizeni – regulaci, o ktere jste se zminoval (povinnost dvou OS). Urednici nasi i bruselsti nam to radi direktivne prikazou. Ale abyste se pak nedivil, ze pohar pretece a my se budeme venovat jen zakazkovym produktum a na PRESTO a podobne veci, ktere maji uzivatele radi, se vykasleme. Nebo budeme preprodavat ty pestrobarevne krabicky…
Ucte se a hodne premyslejte, neznamy mlady muzi.
(Mozna se mylim, a Vy jste plesatejici usedly tloustik. Jenze kvuli tomu, jak jste se pustil do teto zalezitosti, ve Vas spise vidim podobaneho mladicka, ktery s planoucim zrakem bojuje proti korporacim. :-) Jeden z nametu k zamysleni by mohl byt ten, zda silne korporace na strane jedne a direktivne-regulacni rizeni ze strany statu na strane druhe nejsou nahodou dvema stranami teze mince…)
Preji Vam vse dobre,
(jmeno nebudu zverejnovat, nemam k tomu souhlas)
Druhý email, jako odpověď na poděkování za odpověď:
Jednim z nekolika duvodu, proc jsme si pred par lety vybrali produkty Borland, bylo to, ze se kasali, ze budou kompatibilni s Linuxem (nejaky ten Kylix nebo jak se to jmenovalo). Neni nasi vinou, jak to dopadlo.
Nas software, ktery jel pres paralelni port, funguje pod WINE. Pokud jde o USB, kdyz se podari vyresit problem driveru, melo by to jet taky. Pokud budou potreba nejake upravy v kodu, ktere si jine drivery vyzadaji, udelame je. Ale kritizovat nas, ze vsechno zgruntu neprepiseme do nejakeho systemu, ktery nam nebude tolik vyhovovat, to se mi moc nelibi. Zavleci tam desitky chyb a nastvat si zakazniky, kteri s nasimi produkty pracuji, to se mi nechce. Udrzovani paralelni vetvi software je pro mne nepredstavitelne.
A nesmite mi mit za zle, ze stale nemohu na Vas postup hledet jinak nez jako na nespravedlivou anonymni provokaci nezodpovedneho pubertaka (treba i zastydleho, takove taky znam…). Nebo me snad chcete presvedcit, abych si Vas najal, abyste nas software pro nas prepsal? A jdete na to natlakove pres popularni linuxacky server? To by bylo vydirani, to by rootaci asi jen tak neskousli…
(opet bez jmena)
P.S. Pred par lety jsme rozjeli i nase anglicke stranky: http://www.asix-tools.com/ – kdyz se podivate na predposledni vetu disclaimeru dole na homepage (ktera tam uz je dost dlouho), mozna pochopite, ze mne nastve, kdyz si nejaky anonym bere do huby nase jmeno jako nejake spojence Microsoftu.
Po prvom precitanom clanku som mal pocit, ze Testerov nazor je celkom zaujimavy, a po istych upravach by sa aj mohol presadit (Nie prikazom, zakonom, ale presadzovanim lepsieho - slobodneho - softwareu).
Po reakciach spominanej firmy mam pocit, ze to bolo istym sposobom drze. Malo byt vyskusane, ci to napr. pod tym wine-ckom ide a az potom skusit poslat e-mail, samozrejme pisany trosku inac (nie ako kritika, ale ako prosba), ci by s nefunkcnostou pod linuxom nemohli urobit...
sice budu slovíčkařit ale MS není monopol což je pochopitelné(konkurence zde je i když velice malá) ale oligopol
kdyby stát řídil trh tak se dostaneme tam kde jsme byly před 17 lety(tu dobu si nepamatuju) navíc z toho co si pamatuju co jsme se na vysoký učili v ekonomice(1 semestr) tak zásahy státu do trhu moc neprospívají ekonomice
to že volný trh automaticky konverguje k monopolu je vcelku logické(je to přirozený vývoj) ale od toho zde máme příšluný orgány který tomu mají zabraňovat(teď de o to jak moc úspěšně) stejně tak jako nic nezmůžeme proti globalizaci(opět přirozený vývoj)
1. O tom se da diskutovat, ale to zde neni dulezite
2. Ano, temer a zatim
3. Je duvod - tech 5% (BTW, odkud toto cislo je?) Linux pouziva a to je spousta uzivatelu a spousta vyvojaru. A ma spoustu ruznych potreb. Psat SW pro 5% lidi znamena psat pro SAKRA VELKY POCET LIDI. (Konec koncu, pise se GNU/GPL SW i pro podstatne mensi skupiny, i pro jednotlivce) A pocet lidi pouzivajicich Linux roste a pocet firem verejne ho podporujicich taky. Napr. posledni dobou Dell (coz jiste neni zanedbatelny drobecek). A tento rust podporuje i rust uzivatelske zakladny, i manazerska rozhodnuti.
4. Cira nepravda.
Jednak Linux zacal rust v dobe, kdy pro nej nebyl ZADNY SW.
Druhak SW pro Linux je spousta a pro vetsinu potreb staci (Nase firma pouziva pouze Linux, ja ho pouzivam takrka vylucne uz spoustu let (s vyjimkou par her, ale i z tech uz mi beha vetsina v DOSboxu).
Tretak spousta lidi pouziva Linux pro veci, ktere na nem bezii uz leta a pocet tehto lidi poroste kvuli jeho stabilite a udrzovatelnosti.
5. ANO a je to dobre. Stat do takovyhto veci nema co strkat rypak. Stat ma pouzivat pro komunikaci s obcany a firmami zdokumentovane a rozumne otevrene formaty, ktere precte kazdy a tim to hasne. Stat nema co prikazovat soukromym subjektum, cim konkretne se maji zivit a jak konkretne to maji delat. Je pouze mou veci a veci meho zakaznika na cem se dohodneme. Zda ten SW pro nej bude otevreny ci zavreny, cesky ci anglicky, pod jakym systemem pobezi, co podporovat bude a co ne. Je nesmysl, aby zakaznik platil za sluzby ktere nechce. Jeste vetsi nesmysl je, aby vsichni ostatni platili me za to, ze zakaznikovi poskytnu sluzby ktere nechce.
(Ted napriklad delam system, ktery dosti specifickym zpusobem umoznuje synchronizaci databazi v jiste siti, ktera sama o sobe je naprosto specificka. Zakaznika NEZAJIMA, jak to dokazu, jeho ZAJIMA, aby to spolehlive chodilo. Na HW, ktery mu pro to vyberu. Je mu uplne jedno, ze ta sit nebude fungovat na PMDcka, IQckach, 286kach, Novelu, Windows, mobilnich telefonech a naramkovych hodinkach s vodotryskem. Jemu zalezi jen na tom, aby ta sit jako celek delala to, co on potrebuje za cenu, kterou je on ochotny zaplatit. Pokud by stat do toho zacal kafrat, tak to cele bude podstatne drazsi, slozitejsi, poruchovejsi a nikomu to nepomuze, jen nato budou doplacet vsichni zucastneni i nezucastneni a pak zbytecnych uredniku si namasti kapsy.)
ještě maličkost k bodu 5:
jsem sice relativně mladý, ale už jsem se naučil jednu důležitou věc:
nikdy, Nikdy, NIKDY žádnému úředníkovi (a už vůbec ne státnímu) nedávejte dobrovolně do ruky další omezující nástroj, vždycky na to v delším časovém intervalu doplatíte. On totiž onen úředník musí neustále dokazovat svoji důležitost důslednou aplikací tohoto nástroje a jeho vedoucí svoji důležitost ukazuje tím, že neustále rozšiřuje svůj tým: víc lidí, větší zvíře.
Proti tomuto se nedá efektivně skoro vůbec bojovat, tak to prosím neulehčujte (proti úředníkům jako lidem nic nemám, celý ten mechanismus jede docela samovolně, i když oni jako jednotlivci jsou většinou docela fajn).
[3]
Ad 3) Bohužel má to jeden háček. Když píšete sw pro Windows, píšete ho pro jednotné prostředí a potřebujete ho odladit řekněme pro 2-3 verze Windows.
Pokud píšete pro Linux, je to prostředí z hlediska vývojáře:
a) špatně zdokumentované oproti Windows
b) s horšími programátorskými nástroji
Kromě toho je Linux prostředí velmi velmi roztříštěné, na rozdíl od jednotných Windows zde neplatí téměř nic jednotného, standardizovaného a je potřeba to odladit a vyzkoušet na nepoměrně větším množství verzi, nebo chcete-li distribucí.
To všechno způsobuje, že verzi programu pro Windows připravíte s daleko menšími náklady, ale je na nich silně přes 95% zákazníků. Verzi pro Linux připravíte s několikanásobnými náklady oproti Windows verzi. Kromě toho tam najdete stěží 1% zákazníků (silně optimistický odhad).
Bohužel Linux se více zajím o ideologické podstaty a o to, aby byly všechny zdrojáky pokud možno povinně GPL, než o to, aby podpořil vývojáře a výsledek je prostě ten, že firmy pro Linux prakticky nevyvíjejí, nebo jen sporadicky.
add1.
Ekonomika kapitalistického uspořádání (nejsem ekonom tak budu možná nepřesný, proto mě prosím omluvte, ale doufám, že se mi podaří vystihnout myšlenku) je založena na soutěži - konkurenci. Je logické, že ze všech firem, které si konkuruji v daném odvětví vyjde časem jedna (a je momentálně lhostejné jak), která je prostě nejsilnější na trhu. Tím samozřejmě výrazně omezuje své konkurenty. Vede to logicky k monopolu. Tomu (např.) stát nemůže zabránit. Může se ovšem pokusit ohlídat si, aby se daný subjekt nepokusil svého postavení zneužit. A ani to nemusí být tak jednoduché, protože nejprve musí být definováno co je a co není zneužití monopolního postavení na trhu. Nemůžete nějakou firmu jen tak trestat za to, že je nejsilnější (pokud nemáte v ruce sakra pádné důkazy o tom, že svého postavení nenabyla nezákonně).
add2
Možná teď, ale nikde není psáno, že tomu bude navždy. Pokud jsem postřehl, Win Vista byly, aspoň v Evropě, celkem zklamáním, přičemž začala růst oblíbenost i Linuxu. Za pár let to může být už o něčem jiném. Postřehl jsem to i ve svém okolí - stále více potkávám lidi, kteří buď už Linux mají, nebo si jej zrovna pořizují, či o tom alespoň uvažují.
add3
K tomu se dá říct asi jen toto: Kdyby takto uvažovala většina lidí kolem Linuxu, tak o něm vůbec dneska nedebatujeme, protože by to byl dávno mrtvý projekt. Ale není, takže to bude asi nesmysl.
add4
Tak tohle je oblíbený mýtus většiny lidí, kteří se ještě s Linuxem nesetkali. A já (alespoň podle minulého článku) myslel, že patříte alespoň k těm pokročilejším.
add5
Jsem pro. Stát by měl plnit spoustu důležitějších funkcí než striktně nakazovat vývojářům a softwarovým firmám co mají dělat, to je problém jejich a jejich vedení.
[9] Tak jo, až bude dokumentace k Linuxu (teď mám na mysli k programátorskému API) na takové výši jako MSDN k Windows, tak mi dejte vědět. Budu se moc těšit - ale Linux má k tomu hodně daleko.
A až bude mít Linux alespoň tak kvalitní programátorský nástroj jako je Microsoft Visual Studio, dejte mi vědět rovněž.
[10] Ano. Máte pravdu.
Linuxová API dokumentace a vývojové nástroje jsou opravdu špatné: Nemájí takovou lživou a agresivní reklamu - koneckonců jako vše co pochází od Microsoftu - Neobsahují tam zbytečnosti, které stejně nevyužijete, a ty co by jste třeba využil nejsou před vámi skryté, nejsou tak neefektivní, nepružné a nejsou tak drahé. Máte naprostou pravdu.
Myslím, že než se dohadovat o věcech které jsou naprosto jasné půjdu radši chrnět. Nemám zapotřebí o tom někoho přesvědčovat :)
[11] Takovými "zbytečnostmi", které Windows (Vista) mají, jsou třeba mnohem bezpečnější managed jazyky (.NET), grafický subsystém s podporou zobrazení a tisku přes jedno API (GDI, dnes zastaralé, přesto napřed oproti unixům), API pro administraci (přidání lokálního uživatele, procházení seznamu procesů apod), typografické features, správa barev a podpora barevných separací, popora HDR (barvy s více než 8 bity na kanál), prioritizace I/O operací (jako ionice, jen generačně dále, a používáno systémem i aplikacemi), ACID transakční file system, modulární systém kompresorů a dekompresorů multimédií, akcelarace antialiasingu a rastrování fontů pomocí 3D hardware, akcelerace sestavování obsahu oken pomocí 3D hardware, rozhraní pro skenery a digitální fotoaparáty, rozeznávání hlasu včetně diktování textu, modulární systém hlasového výstupu (API a ukázkové, leč použitelné, hlasy), rozeznávání psaného písma, podpora SATA NCQ, šifrování a komprese na úrovni FS, oprava FS (obdoba fsck) na části disku bez locknutí celé partition, prediktivní načítání binárek (SuperFetch), podpora HDD s integrovanou NVRAM (ReadyDrive), fulltextové indexování obsahu a příslušné API, podpora workflow na úrovni API, jazyk XAML pro popis uživatelského rozhraní atd. To vše na každé instalaci, takže se můžete spolehnout, že daná věc na cílovém stroji opravdu bude.
Také mi přijde jasné, že se pro Windows s dokumentací typu MSDN vyvíjí daleko lépe, než pro Linux. Chcete dokumentaci k ACID transakčnímu FS, referenci T-SQL použitého na MS SQL Serveru, dokumentaci systému kompresorů a dekompresorů, dokumentaci DirectX? Všechno je to na jednom místě, ve vysoké kvalitě, s hromadami příkladů, tutorialů, integrované na stisk klávesy s vývojovým prostředím. K tomu široká nabídka komponent. Chcete zobrazovat data z magnetické rezonance, tisknout čárové kódy, provádět OCR/ICR nad bitmapou, potřebujete grafy? Kupte si komponentu, jsou jich na trhu hromady. Stačí kreditka, koupíte SDK pro OCR/ICR, a za pár hodin máte hotovou aplikaci, která komponentu používá (samotné použití komponenty je samozřejmě kratší job).
Porad nechapu ty vety o skvele dokumentaci k Windows. Me zkusenosti jsou presne opacne. Narazil jsem na to mnohokrat, stejne tak rada mych kolegu. Resit nejaky obtizne lokalizovatelny "zahadny" problem (snad tady vime o cem je rec) je v pripade Windows zalezitost pro silne nervy. Ta skvela dokumentace v rade pripadu neodpovida skutecnemu chovani a mnoho vlastnosti popsano vubec neni. To je moje zkusenost - asi jsem holt hloupy.
Problem mnoha programatoru, zvyklych odedavna na svet DOSu (s navyky z TurboPascalu a podobnych pripravku pro rychle kvaseni aplikaci) a pak Windows je v tom, ze v pripade, kdy jsou postaveni delat neco na Unixu, jsou velmi zmateni, protoze jim to prostredi je velmi cizi a maji radu z hlediska Unixu podivnych navyku. Unix nekdy vyzaduje trochu komplexni pohled a vetsi schopnost abstrakce, coz muze byt samozrejme vyhoda i nevyhoda - jak se to vezme. Nedivim se, ze prskaji.
No, asi jsem hlupak a primitiv. Asi nevidim ty "skvele moznosti" sveta Windows tak jako pan Ponkrac.
Abych rekl pravdu, panu Ponkracovi se divim, proc tady ztraci cas. Mozna kdyby misto generovani tech jedovatych slin sel treba ve volnem case nekam do lesa na prochazku, bylo by to pro vsechny uzitecnejsi. O reklamnim tlampaci LO uz radeji ani nemluvim, ten mne za to nestoji.
Ja vubec netvrdim, ze Linux zadne problemy nema. Ma jich spoustu a nekdy opravdu zbytecnych. Jenze zamlcovani problemu jinych platforem a jejich vydavani za jakysi vzor mne prijde prinejmensim nefer.
-------
K te roztristenosti na kterou se firmy rady vymlouvaji:
Ano existuje a i me do jiste miry leze na nervy. Ale staci, pokud komercni firma udela svoji aplikaci pro max. 2 komercni distribuce (vime snad jake). Snazit se to ladit pro vsechny je naprosto zbytecne. Komercni firmu opravdu nemusi zajimat distribuce Pepy Vomacky z Dolni Lhoty, kterou si doma splichtil, kdyz se ucil, jak funguje unixovy OS a kterou pak dal svym kamaradum.
K tomu monopolu: zkuste se zamyslet nad tim, jestli je nejaky antimonopolni urad opravdu ochrana pred monopolnimi praktikami, obzvlaste ve svete IT.
Bez antimonopolniho uradu sice bude MS delat prasarny, ale za par let vyhnije a prosadi se jiny software do takove miry (rekneme 20%), ze udela managorum z MS vrasky na cele.
Antimonopolni urad sice muze naparit pokutu, ale tim to konci, stejne si tu pokutu zaplati zakaznik. MS potom stejne vyhnije sam od sebe (viz vyse), ale zustane tu urad, ktery bude buzerovat, bude chtit nejake reporty, dokazovat, ze vase firma citajici 3 lidi a akvarium nezneuziva monoploniho postaveni atd.
[13] Vážený pane
1) Buďte tak laskav o bezpečnosti Windows (jejich nástrojů, a knihoven) přede mnou vůbec radši nemluvte. Sám jsem rozdupal originální CD s Win XP Profesionál, které mi při instalaci zničily minimálně půl roku práce a skvěle vyladěnou instalaci Debianu. Nebudu se zmiňovat ani o síťové bezpečnosti. To je kapitola sama o sobě. Proto mě dokáže pěkně rozzuřit, když někdo vykládá o bezpečnosti systému, který je naprosto děravý (a třeba v případě síťového rozhraní mi to přijde dokonce i jako úmysl nebo neschopnost) a nespolehlivý. A je nadále nutno investovat do zvýšení stability, spolehlivosti a bezpečnosti, tak jako ve Windows.
2)MSDN je sice možná v rámci možností relativně přehledná, nicméně to, že existuje obrovské množství (desítky, ne-li stovky nedokumentovaných funkcí systému) ke kterým nemáte za normálních okolností přístup, protože o nich nevíte, je už dávno známá věc.
Co vám vadí na dokumentaci v Linuxu? Že je ke každému projektu zvlášť, nebo že je (většinou) v HTML, že na rozdíl od winApi je možno najít popisy funkcí a objektů i v hlavičkových souborech? Že s používáním hlavy je možno přímo v Linuxu najít nástroje, které umožňují efektivní, a rychlé třídění, vyhledávání, atd... dokumentace ve většině používaných formátů? Když s tím neumíte zacházet, pak si nestěžujte.
3) Asi jste moc nečetl o čem se původně bavily. Kritika byla zaměřena na bordel, kterým je zaneřáděn samotný Visual studio. Měl jsem VS 6.0 Enterprise Edition a velice rád jsem ho zase prodal a vrátil se k práci s GCC, G++, GDB a ostatními GNU nástroji portovanými pod Widle. Dneska (pokud je to potřena) jsem schopen aplikaci pro Widle vyvíjet i pod Linuxem (a že je to možné a funkční je už dávno známá věc).
Ale když už jste to nakousl. Asi vám unikl fakt, že vše co jste zde jmenoval najdete i v Linuxu Jen pár příkladů (nechme stranou .NET) :
Co se týče Win Vista, je to katastrofa sama o sobě, už jen proto, že v ní nelze spustit většinu aplikací, které bylo možno spustit v předešlých verzích.
subsystémů pro pro tisk najdete pod Linux několik, včetně jeho grafických nadstaveb. Např. já používám CUPS a poskytuje mi minimálně stejné pohodlí a funkce jako ve Widlích.
S tím "Api pro uživatele" to snad nemyslíte ani vážně, přečtěte si prosím znovu co jste napsal.
Na práci s grafikou najdete v Linuxu tolik programů, včetně (dobře dokumentovaných) knihoven, že se vám o tom ani nezdá. Mnohé z nich jsou začleněny do jednotlivých GUI systémů.
Priorizace I/O operací - no a co jako? Linux zpravuje I/O operace mnohem efektivněji a lépe než Widle, nehledě na to, tyto (nebo podobné) operace má implementovány taktéž. Takže zase vedle.
ACID transakční file system - Co to jako má být? Slyšel jste někdy o tom, že už dlouho existuje nějaký filesystém ext 3. Víte vy vůbec jaké jsou výhody, nevýhody takového systému a jaké jsou důvody pro jeho používání? Jestli toto všechno znáte proč to zde uvádíte?
Modularita koderů/dekoderů - děláte si ze mě legraci, že jo?
Mňo, nechám toho, mohl bych tak pokračovat do zítřka, a to asi nemá cenu. Ale přesvědčil jste mě, že toho moc o Linuxu nevíte (a kdo ví, zda něco víte o Windows), tak buďte tak laskav, nepapouškujte zde něco již tisíckrát omletého, co jste někde slyšel nebo četl, a použijte taky hlavu než něco napíšete.
Nemusíte se obtěžovat s reakcí, protože dokud se nezlepší vaše informovanost Linuxu/Unixu nemá cenu o tom ani diskutovat.
Tak dobře, Testerovu omluvu přijímám. Byla sice vyjádřena jen zde, e-mailem jsem ji nedostal, ale to nevadí. Trochu mne ale mrzí, že ani ve svém druhém e-mailu nenapsal své jméno. Jistě chápu, že při publikování názoru na volně dostupném webu se člověk raději schová do anonymity (všude je plno bláznů a někteří mohou být nebezpeční :-D ), ale při přímém kontaktu by to už mělo být jinak. Nebo ne?
[11] Jste naprosto mimo. Ano, programátorská dokumentace bude obsahovat lživou a agresívní reklamu. Ne člověče, Vy se dejte do pořádně a přestaňte si šlehat, už to má následky.
[15] Dokumentace k Windows API je vynikající. I když se čas od času stane, že něco nenajdete, je to naprostý ráj oproti tomu, když se snažíte programovat pro Linux. Ani tak základní knihovna, jako je libc nemá spoustu věcí vůbec zdokumentovaných, takže pak nezbývá, než dělat "reverse enginnering" ze zdrojáků. Ano, tak až alespoň bude na Linuxu dokumentace, která alespoň se zmíní o všech funkcích v základních knihovnách, neřku-li dokonce o tom, že by alespoň v základních rysech popsala co dělají - bude to pro Linux obrovský pokrok.
A jinak jestli Vás to zajímá, já začínal na Unixech. S Unixem jsem dělal podstatně dřív, než vůbec kdy Windows vyšla a pro Unixy jsem toho nemálo naprogramoval, konecknců i pro Linux.
Mě se docela líbí, jak když tu někdo nepíše, že "Linux je super, hyper, ultra, mega, extra, hype" a "nej nej nej the best", tak už se tu někdo vytasí s jedovatými slinami a pliváním na Linux. Právě proto, že se lidé kolem linuxové komunity neustále poplácávají po zádech jak je Linux skvělý po všech stránkách a odmítají vidět realitu je přesně důvod, proč vítězí Microsoft.
Pane Pola. Zabyvam se dlouha leta elektronikou a verte, ze pokud byste dodavali vas software tak, aby byl pouzitelny na Linuxu ci na Macu, meli byste ve mne verneho zakaznika, ktery je ochoten i priplatit, pokud by to bylo nutne.
Takto jsem bohuzel nucen se porozhlizet jinde.
Pisu to tady jen tak naokraj, aby zde nevznikl dojem, ze byste multiplatformni vyvoj delali uplne zbytecne. Znam totiz ve svem okoli par podobnych pripadu.
Vubec nic vam nevycitam - jen bych rad, aby zde bylo videt, ze podobne firmy vytvareji Windowsovou monokukturu vicemene umele. Pokud dodavate pouze sw. pro Windows, neni divu, ze po jinych jeho portech neni temer poptavka - lidem nic jineho nezbyva nez bud koupit anebo jit jinam. Bohuzel.
[21] Miloslav Ponkrác
Nezbyva nez pripomenout tuto vetu z meho prispevku (o tom ostatnim nema asi smysl polemizovat, protoze bychom se nehli z mista):
"Ja vubec netvrdim, ze Linux zadne problemy nema. Ma jich spoustu a nekdy opravdu zbytecnych. Jenze zamlcovani problemu jinych platforem a jejich vydavani za jakysi vzor mne prijde prinejmensim nefer."
[18]
ad 2) To, že v systému existují nedokumentované funkce je naprosto v pořádku a pochopí to každý zkušený programátor a ani se nad tím nepozastaví. I v Linuxu je obrovská spousta funkcí, které nejsou určeny pro používání v běžných programech - tedy analogicky není proč je do běžné programátorské dokumentace vůbec rvát. Takže pokud to chcete vědět: V každém operačním systému existuje spousta nedokumentovaných funkcí, které nejsou určeny pro programátory - a tyto funkce existují ve Windows, v Linuxu, v BSD, Solarisu, Mac OS X, atd..
Jinak na dokumentaci k Linuxu mě vadí hlavně to, že vůbec neexistuje k obrovské spoustě věcí v Linuxu (stále zdůrazňuji, že jde o programátorské API).
ad 3) Jo jo, právě proto, že na Linuxu kraluje gdb je jeden z důvodů, proč říkám, že programátorské nástroje nic moc.
Jinak ale se přiznám, že chápu Vaší ostrou reakci, protože LO, co ho delší dobu pozoruji si nevidí do úst a občas je schopen vyplodit něco, co bych spíše čekal od placeného agenta Microsoftu, ale je to plné polopravd.
Dobře, dobře, nechal jsem se trochu unést. Omlouvám se.
Jen na vysvětlenou:
Cca před dvěma měsíci mi zavolal kamoš, že má Vistu na níž nemůže rozjet velké množství aplikaci, které předtím bez problémů jeli na Win XP. a poprosil mě abych alespoň dvě z nich zkusil (pro něj životně důležité) zkusil rozjet - AutoCad a Gimp 2.0. Ani společnými silami se nám to nepodařilo a po několika hodinách moření se rozhodl, že se vrátí k XP.
Byla to moje první a zároveň (doufám) poslední zkušenost s Win Vistou. Jestli to byl pouze problém jen u něj, nebo to už bylo nějakým servis packem zpraveno jsem nezkoumal.
Jestli je to tak, pak se za tento argument omlouvám a zároveň jej stahuji. To však nic nemění na ostatním.
[23] Je to sice hezké, že to napíšete, ale v praxi to vůbec neuplatňujete. Nejsem proti Linuxu, ale prostě vím, že podpora vývoje programů na Linuxu je o několik řádů horší, než na Windows - Microsoft dobře ví, proč vývojářům podstrojuje. A když jsem to napsal, tak Vašimi slovy plivu tady jedovaté sliny na Linux.
Bral bych, kdybych lhal o Linuxu a hledal na něm za každou cenu co bych zkritizoval - pak by Vaše věta o plivání jedovatých slin byla na místě, ale tady píše jen skutečnost.
Mimochodem, spousta lidí v mém okolí programuje pro Windows i Linux. Většinou pro Linux z nadšení, že chtějí aby jejich programy byly i pro tento systém. Jeden po druhém to vzdávají, protože prostě Linux je pro programátora značně a nechutně nepřívětivý. A pokud si tohle linuxová komunita neuvědomí a nenapře tímto směrem síly, tak bude oslabená.
Je sice hezké napadat ty, kteří Vás na to upozorňují, ale takhel to prostě je.
[20] Bedřich Pola
Neznam hardware toho vaseho programatoru, ale opravdu je nutne delat od zacatku ovladac ? Nestacilo by s nim komunikovat pomoci libusb, ktera je beznou soucasti distribuci ? Viz. http://libusb.sourceforge.net/doc/
Uplne by stacilo ten software napsat jako CLI utilitu. K te prikazove radce by uz nekdo urcite nejaky GUI obal udelal.
[19] treba Photoshop 7 nejde nainstalovat (obvyklym postupem) - zdechne to tesne pred koncem, netusim proc
nakonec si to dalo rict, po nahodnem zapinani tech ruznych rezimu kompatibility ci co to tam je
ale hadal bych ze podobny problem ma vic aplikaci pouzivajicich InstallShield a pro normalniho uzivatele je to neresitelny problem (taky proto me zavolali ;)
[21][24]
S tím šleháním to bylo dobré, nicméně trochu mimo. Nebo jinak, možná nejsem jediný kdo to s tím přehání :)
Až budete mít trochu času, podívejte se po pár kecech, kterými vás, Microsoft krmí při instalaci svých produktů, Na internetu, velkoplošných reklamách, v tisku, atd.. Zkuste to porovnat prosím se skutečností.
Je rozdíl mezi nedokumentovanými a nepopsanými funkcemi. Problém je, že já si je mohu všechny najít a někde zjistit co jsou zač. Ve Windows k nim za normálních okolností nemáte vůbec přístup. A pokud ano, pak je už jenom zajímavý názor, že dokumentace, v níž není uveden popis něčeho co smím použít je košer
Prosím, vysvětlete mi, co konkrétně vy vidíte pod pojmem roztříštěnost a jak to ovlivňuje vývoj software.
K tomu ostatnímu souhlasím s panem mm a [12].
[24]: To ze existuji systemova volani, ktera jsou nedokumentovana a jedina cesta jak zjistit tyto volani je zakazany reverse enginnering, tak to je spatne (nektere licencni smlouvy to zakazuji).
Naproti tomu na linuxu je dokumentaci zdrojovy kod (to je dokonce dokumentace, u ktere mate 100% jistotu, ze je spravna, muze byt ale spatne pochopena). Netvrdim, ze to je dobre, ale nemusite delat RS, muzete si treba grepnout zdrojaky. Stejne tak vam na linuxu nikdo hlavu neutrhne, pokud zverejnite dokumentaci k nejake knihovne, ktera tuto dokumentaci nema. U zverejnenych informaci ziskanych nelegalnim RS bych si svou hlavou tak jisty nebyl.
Jeste dodatek k te dokumentaci. V jadernych novinach jsem cetl, ze se objevil pozadavek na dokumentaci pred prijetim kodu do jadra, protoze dokumentace odhaluje chyby, ktere bez dokumentace byly skryte, takze i tam by se melo blyskat na lepsi casy.
Ono pouzivat neco, co je zadarmo a nadavat na to, ze to nema to a to, je divne. Neverim, ze by clovek nedostal prehled kompletnich systemovych volani ze zdrojoveho kodu, kdyz to prozene nejakym dokumentacnim toolem. Kdyz se tyto vysledky potom predhodi googlu, tak ty funkce nekdo nekde uz okomentoval. Jediny problem je, ze to neni na jednom miste. Ale kdyz sve poznamky potom zverejnite na netu, tak tim usnadnite hledani dalsim. A nebo muzete napsat treba howto a budete slavny, nemuste se snazit o komplexitu vasich vystupu.
[26] Miloslav Ponkrác
Pokud mate na mysli, ze GUI aplikaci pro Windows diky nastrojum pro takovy styl prace urcenym dnes slepi temer kazdy a proto je aplikaci vice a firmy mohou platit lacinejsi (ne tak znale) programatory, pak mate pravdu a ja nikdy netvrdil opak. Nastroje pro Linux jsou v tomto smeru skutecne mene pokrocile.
Ale u vas (ktery je pravym opakem vysezminenych lacinych programatoru) me prekvapuje to, ze se snazite vzbudit dojem, jakoby se pro Linux temer programovat nedalo. Jenze ono se da. Dokonce i Oraclu se vyplati delat databazovy stroj pro Linux jako prvni (dalsi platformy jsou dnes jiz az v druhem sledu, pokud vim). A rekl bych, ze napsat vec jako Oracle zas takova sranda neni - urcite by se tim nekdo nezabyval na platforme, kde by to bylo extremne obtizne. OpenOffice ci treba Mozilla a dalsi nebo dejme tomu i takove nechvalne zname Skype kupodivu pro Linux naprogramovany take jsou a dal se vyvijeji. Ano - delaji na tom v prumeru daleko lepsi programatori nez je prumerny clovek sedici za Delphi ci Visual Basicem.
Vite co byste tady mel pravem kritizovat ? Vznik nesmyslnych novych distribuci a tristeni sil - to je ten nejvetsi problem (ktery vyrobce softwaru otravuje), ne gdb.
[29] Vážený pane, já už programoval asi pro šest operačních systémů, Windows je tuším asi čtvrtý v řadě, takže mohu srovnávat. Jak Microsoft, tak linuxová komunita vyrábí spoustu propagandistických keců, v tom si ani jedna ani druhá strana nemá moc co vyčítat.
Přesto mohu porovnávat a nemusím na tyhle kecy brát ohled. A pravdou prostě je, že Linux má několik řádů horší věci týkající se vývoje programů - to je fakt, který při objektivním zkoumání nelze pominout. Pro útěchu mohu napsat, že jsem zažil i horší systémy.
Jinak slovo "nedokumentované" a "nepopsané" jsou synonyma. Je sice hezké, že si je ve zdrojáku Linuxu můžete najít, ale pokud nejsou určeny k použití v programech, tak jejich případné použití se Vám vymstí. A to tak, že nebudete stačit mrkat na drát.
Roztříštěnost je, když každý Linux je naprosto jiný a nemáte tam nic (snad kromě syscallů) na co byste se mohl spolehnout, že v Linuxu bude. A že to ovlivňuje velmi negativně vývoj sw je snad jasné - musíte řešit i vrstvy, které v jednotném operačním systému prostě jsou a je zaručeno, že tam jsou a víc se o to nemusíte starat.
[30] Význam zdrojového kódu se přeceňuje. Minimálně je tu pořád jedna věc, a to že zdrojový kód se neustále mění. Podle čeho tedy bude programovat? Podle stavu zdrojového kódu, který byl 1. června 2007, nebo raději podle zdrojovéo kódu 1. září 2007? A jak proboha ze zdrojáků pochopíte, že tuhle vlastnost chce autor dát k dispozici programátorovi, a tuhle chce nechat jen pro vnitřní účely? A co když vezmete zdroják jako podklad pro svůj program a použijete právě tu vlastnost, kterou autor chtěl nechat pro vnitřní účely (neboť bez dokumentace pouze ze zdrojáku to nikterak nepoznáte) a autor Vám tuhle vlastnost o 14 později změní, neboť nepočítá s tím, že jí budete užívat v programech? Jste pak v prkně, pánové a dámy.
Nikoli zdroják nikdy není s to nahradit dokumentaci, protože jen v dokumentaci se autor vyjádří co je určeno pro vnější používání a co si hodlá nechat pro sebe a v budoucnu změnit.
Ano, už i vývojáři jádra pochopili, že zdroják je málo, a že to nestačí navzdory v linuxové komunitě rozšířených mýtů a blábolů, kde zdroják uctívají jako posvátnou krávu.
ALe mít dobře zdokumentované jen linuxové jádro je setsakra málo, to je tak zlomeček toho, co programátor v Linuxu používá - jen taková poznámka pro vysvětlení. Takže pokud zůstane u dokumentace jen linux jádra, je to sice zlepšení situace, ale pro programátora nijak dramatické.
Poslední odstavec je zase o tom, že pokud je něco zadarmo, tak to má omluvit špatnou kvalitu vývojového prostředí včetně dokumentace? Dokumentační tooly jsou fajn, ale stále tu dokumentaci někdo musí napsat, alespoň do toho zdrojáku. Když nenapíše, je dokumentační tool naprosto k ničemu.
[32] Váš příspěvek je velice rozumný a s většinou souhlasím.
Pro Linux se programovat dá, koneckonců i já pro něj programuji. Jen jsem napsal, že to chce několikanásobné náklady a úsilí oproti stejnému na Windows. Firmě stylu Oracle nějaké vyšší náklady jsou celkem ukradené - nějaký miliónek nákladů na víc je pro ní plivnutí do moře. Ale menším českým firmám už jsou takové zvýšené náklady znát.
Já jsem možná vytvořil dojem, že psát pro Linux je nemožné, za což se omlouvám. Programovat pro Linux samozřejmě lze - ale Linux má ohledně podpory programátorů co dohánět.
[35] Miloslav Ponkrác
Ve zdrojacich byvaji kupodivu komentare. Je to stary vynalez uz z dob Fortranu a je velice uzitecne je cist.
Krome toho vam nic nebrani kontaktovat primo autora. Overit, zda je dana vlastnost takove povahy, aby byla dlouhodobe pouzitelna i v aplikacich lze vzdy.
Tim neomlouvam, ze k nekterym zalezitostem neexistuje oficialni dokumentace. Jen se znovu podivuju nad tim, ze zrovna vy tady hrajete roli cloveka, ktery se snazi ctenari vsugerovat, ze pro Linux programovat nelze.
Byl bych velice nerad, aby tady zapadl namet, ze s tim velice uzitecnym programatorem mikrokontroleru a "pevnych" pameti od Asixu by mozna slo komunikovat pomoci velice jednoduse pouzitelne knihovny libusb a ze by uplne stacilo, kdyby vyrobce dodaval CLI utilitu.
Ale k tomu se musi vyjadrit nekdo od nich. Vyse je videt, ze to tady ctou.
[37] Pak jde ovšem o kvalitu těch komentářů. V řadě zdrojových textů komentáře nejsou vůbec, nebo jen velmi špatné kvality.
Ano, výborně, tak já chci něco naprogramovat - zkontaktuji padesát autorů s dotazy, které jsem si jinak mohl pohodlně najít v dokukentaci. A namísto abych programoval, dám si měsíční pauzu, což je tak doba na odpovědi. Půlka autorů se na mě vykašle úplně.
Znovu říkám, že jsem netvrdil, že pro Linux programovat nelze. Jen říkám, že koukání do zdrojových textů cizích knihoven, programů a API je pouze z nouze ctnost a poslední možnost, selhaly-li jiné pokusy. Jen tvrdím, že programovat pro Linux je daleko nákladnější, než programovat pro Windows a za tím si stojím.
[39] Miloslav Ponkrác
S temi naklady opatrne.
Kdyz budu psat na Linuxu v Jave, naklady budou zhruba stejne.
Kdyz to budu delat v Pythonu, naklady budou zhruba stejne.
Kdyz to budu delat v Perlu, naklady budou zhruba stejne.
Ano, kdyz to budu delat treba v C, asi se spise setkam s tim, ze budu potrebovat nejakou dokumentaci k odpovidajicim knihovnam ci primo k systemovym volanim. Pokud budu delat bezne aplikacni veci neni pravdepodobnost, ze narazim na nejake netypicke chovani (jine nez je treba popsano v manualovych strankach) nijak prilis velka. Pokud budu delat neco opravdu narocneho, mozna tyto problemy budu resit. Jenze podobne veci se obcas resi i na jinych platformach a na spatnou dokumentaci se tam nadava uplne stejne.
Takze pausalizovat, jak je veskery vyvoj softwaru na Linuxu nakladny je trochu pritazene za vlasy. Neco byt nakladnejsi skutecne muze - potrebuji nekdy lepsi programatory, ztratim nejaky cas, pokud narazim na nepopsane chovani ci nesmyslnou inovaci. Ale urcite to neplati obecne. Existuje siroke rozpeti aplikaci.
[34][35]
Nemusíte se hned rozčilovat, rozhodně jsem neměl v úmyslu vás nějak urazit. Jen jsem odpověděl stejnou notou jako vy mě v předchozím případě ;).
Do jisté míry máte pravdu, ale mě můj systém při instalaci a používání (a to se týká i jednotlivých aplikací) nenutí, že pouze ony jsou best a že mám používat pouze tento software od této společnosti (nebo spíše komunity - mám GNU Linux Debian). A už vůbec se nemusím bát nějakého adware.
Hezky jste to přednesl - na jedné straně tvrdíte, že vám vadí špatná nebo chybějící dokumentace, a na druhé straně vám nevadí nezdokumentované funkce Win API, ke kterým máte přístup. Tady se jedná spíš funkce, ke kterým je záměrně odepřen přístup a rozhodně to dost často jsou velmi užitečná volání API, za která se však platí. Krásně je to vidět u Direct X (o kterých tu už někde padla již zmíňka)
Nikdo tu neuctívá zdrojáky jako svatou krávu - to bylo taky dobrý :-D, jenže jestli podle vás se tak rychle zdrojáky mění, jste si jistý, že se mění tak rychle i dokumentace? Ve Widlích? no...nevím. Konec konců analýza jak funguje rozhraní pod kterým dělám svou aplikaci není až tak úplně od věci. NĚKDY takové informace MOHOU dopomoci k lepší nebo efektivnější funkčnosti daného projektu.
[40]
Pokud budete psát v Javě, je to jedno, ale kolik desetin promile komerčních programů v Javě se prodává? Doménou komerční Javy jsou rozsáhlé enterprise systémy a J2EE aplikace.
Pokud budete v Pythonu, už to nemusí být pravda, protože modul win32 v Pythonu může raketově leccos urychlit. Ovšem v případě Pythonu se připravte na občasné zvýšené náklady, neboť každá další verze Pythonu leccos změní a už vyšla první test verze Pythonu 3000, která Vás donutí pythonovské zdrojáky prakticky přepsat. Ne nadarmo je Python označen jako jazyk "skriptovací", nikoli "programovací".
Aplikace v Perlu jsou mýtus - žádná komerční firma Vám aplikace v Perlu dělat nebude (pokud chce přežít a mít zisk), protože Perl je taková prasečina a z toho vyplývající velká obtížnost (= velké náklady) na údržbu takové aplikace, že určitě program středního a většího rozsahu v Perlu nekoupíte.
Kromě toho samozřejmě můžete použít C/C++/C#/Delphi/C++ Builder/Visual Basic, což jsou asi nejčastější nástroje, ve kterých se dnes z větší části píše účetnictví a komerční programy, které jsou trochu více, než drobné utilitky.
Pokud budu dělat běžné aplikační věci, pak budu potřebovat hlavně bohaté API a předpřipravené knihovny (a samozřejmě s dobrou dokumentací), abych mohl toho programovat co nejméně - a zde Windows jasně vedou. A to raději ani nezmiňuji ten debakl jako je časté vyzdvihování Qt knihovny pro linuxové programy (licence od sto tisíc korun výše pro komerční programy).
Nepaušalizuji, že veškerý vývoj sw pro Linux je nákladný, klidně přiznám, že to platí pouze pro 90% sw. Ok?
[18] 1) Co má bezpečnost společného s tím, že jste si při instalaci nejspíš přeformátoval partition s Linuxem? Linux s kernelem 2.6 například psal partition tables s partitions, které nezačínaly na hranici stopy, protože nečetl BIOS informace o disku (tedy co je vlastně stopa), ale vymýšlel si je po svém (což působilo problém řadě nástrojů). Síťová bezpečnost je funkcí počtu instalací (Linux ani Firefox neměli větší bezpečnostní problémy, dokud je nezačalo pár lidí používat). Spolehlivost Windows je dnes taková, že s nimi datová centra dosahují pět-devítkové dostupnosti (99.999%).
2) Neveřejné funkce jsou běžné, logická a správná věc. Veřejné API je takové, které je určené k psaní SW pro platformu. Neveřejné API se může kdykoliv změnit, být odstraněno atp.
K dokumentaci se tu vyjadřoval kolega Ponkrác. Do hlavičkových souborů není třeba hrabat, když máte DOKUMENTACI. Dokumentace v HTML mi nevadí, ovšem chci možnost jí prohledávat, což MSDN nabízí (fulltext filtry, index, obsah), a navíc má integraci s vývojovým prostředím.
3) VS 6.0 je mrtvé, proč se o něm bavit? Ale když si na něj vzpomenu, bylo fajn. Většina developerů volí peněženkou, a volí Visual Studio. Dobře vědí, proč to dělají.
Ve Windows Vista naopak většina aplikací z předchozích verzí Windows funguje. Samozřejmě jsou výjimky. Problémy mohou mít například: aplikace přistupující přímo k HW (typicky obsahující drivery či kernelové moduly), antiviry a firewally (tam byly změny v API, jednou za 5 let to snad výrobci přežijí), a nesprávně napsané aplikace (mohu nalinkoval ukázky hrůz, včetně vykrádání ikon a animací z knihoven shellu, což při změně shellu způsobí pár aplikace).
CUPS je lepší spooler, nikoliv tiskový subsystém. Grafický subsystém ve Windows vypadá tak, že řeknete "chci tady nakreslit čáru, tady napsat tenhle řetězec, a tady udělat tuhle křivku". Jednou řeknete "chci to kreslit do okna", podruhé "chci kreslit na tiskárnu", ale vlastní kód zůstává stejný. GDI (jehož volání používáte) to přechroustá pro drivery grafické karty, obrazovky, plotteru, Remote Desktop klienta apod., s tím že použije jen features, které driver umí (třeba GDI tiskárna umí jen tisk bitmapy). Samozřejmě se "po cestě" řeší správa barev a podobné věci (například tiskové separace). Vaše představa o grafickém subsystému je řekněme poněkud naivní.
Linux spravuje I/O operace efektivně? LOL. Což třeba prioritizace přerušení? Asi nevíte, o čem je řeč, takže se nebudu namáhat. Ale prioritizace I/O operací, ta se dá vysvětlit triviálně. Přehrávač multimédií si vyžádá zaručené přenosové pásmo z disku 1MB/sec. Když potom spustíte jakkoliv drsné zatížení FS, přehrávač multimédií bude pořád mít zajištěný svůj 1MB/sec (asi není třeba říkat, že třeba pro TV vysílání, a řadu jiných účelů, je to super věc). Když budete indexovat dokumenty na disku, řeknete, že chcete přístup s nízkou prioritou, takže nebudete zdržovat interaktivního uživatele. Když budete swapovat na disk, a systém nebude ve stavu nedostatku paměti, bude to mít nízkou prioritu. Teď se zamyslete, co má implementován Linux.
Samozřejmě vím, o čem je ACID transakční file system. Ext3 to rozhodně není :). Představte si, že máte transakci typu "vytvoř soubor A, zapiš do souboru B, zapiš do DB C, smaž soubor D". Když jedna z těch operací (včetně zápisu do DB) neproběhne, dojde k rolloutu, a všechny změny se odrolují. zkuste si zjistit, co znamená ACID (ne, nedává se to pod jazyk), a můžeme se bavit dál.
S modularitou kodeků se nedělám legraci. Fakt máte na *každé* stanici modulární API, od výrobce s hromadou modulů, které umí dekódovat spoustu věcí. Kdokoliv může napsat další modul, a ten modul pak mohou používat všechny přehrávače v systému. Co má každý UNIX? Co má každé distro Linuxu? Jaký JEDEN modulární systém si mám vybrat, když budu psát multimediální aplikaci? Kdo se bude starat o rendrování, a jak moc se o to budu muset starat já jako autor aplikace?
Když to shrnu, tak nejste informovaný o Window, Linuxu, ale bohužel ani o konceptech.
[22] Super, jeden zákazník. A opravdu koupíte, nebo se jen tak kasáte? A kolik dalších zákazníků existuje? Protože kdyby jich bylo tolik, co pro Windows (či více, protože vývoj pro Linux je dražší), autor by jistě aplikaci napsal i pro Linux. Nebo by to udělal někdo jiný.
[24] Ostré reakce na má slova jsou důsledkem toho, že říkám pravdy, které se cílové skupině nelíbí. Kdokoliv cokoliv na Linuxu či unixech kritizuje, zasluhuje upálit. Někteří zkušenější to uvádějí slovy "Linux sice miluji, ale...", a končí "...ale přesto Linux miluji, protože je nejlepší", aby byly reakce méně ostré. Já takové pokrytectví nemám zapotřebí.
[30] Zdrojový od není dokumentace. Spoléhat lze jen a pouze an ty funkce, které jsou dokumentované. Nedokumentované funkce (a jejich chování) se mohou libovolně měnit, nebo v příští verzi nemusí existovat. Navíc se to ani nikde nedočtete, protože to není dokumentované.
[32] Oracle píše na Linuxu proto, že píše primárně pro unixy (na Windows trvale ztrácí podíl), a profi unixové workstations jsou drahé. Samozřejmě psát cokoliv Windows-only je levnější, než unix-only, nebo dokonce portabilní.
[37] Rozumím tomu tak, že místo dokumentace doporučujete louskat zdrojáky a ptát se autorů, jak danou funkci vlastně zamýšleli? Až budu něco psát, budu velmi našený z toho, že se budu muset hrabat ve zdrojácích kernelu, frameworku, a mailovat si s autory kódu. Jestli jste to myslel jako vtip, tak to beru.
[41] Reklamy při instalaci jsou normální marketing - uživatel ví, co má od produktu čekat. Je to rozhodně lepší, než koukat na scroolující logy, které uživateli nic neřeknu. Reklamy při užívání má třeba Opera. MS aplikace nikoliv. Adware je pro Linux minimum, protože je minimum uživatelů, kteří by zíráním na reklamy generovali peníze.
[41]
Hezké, systém Vám nenutí, že je Váš systém the best - projděte si web kolik chvalozpěvů a propagací na to, že Linux (nebo nějaká konkrétní distribuce) je the best (a mnohdy s lživými, nebo alespoň nadneseně optimistickými argumenty). Už jednou jsem napsal, že z hlediska vymývání mozku si Windows s Linuxem nemají co vyčítat, na tom trvám, a klidně mě zadupejte do země.
Mě nevadí nezdokumentované funkce ve Windows, protože jednak takové funkce jsou v každém operačním systému, i v Linuxu, za druhé - nejsou určeny pro programátory, ale pouze pro vnitřní účely systému, takže je nepotřebuji, a za třetí ve Windows mám vše potřebné ve zdokumentovaném API a to co dělají nedokumentované funkce by mi nepřineslo nic užitečného navíc. Já nemám problém.
Ohledně dokumentace - ano dobrá dokumentace funguje tak, že se píše i do budoucna. V dobré dokumentaci najdete i to, co slutečně platí a bude platit do budoucna, a co jen pro určitou verzi. Asi bych musel víc zabrousit do sw inženýrství, abych vysvětlil, že dokumentace popisuje interface - tedy to jediné programátora zajímá, nic jiného. A interface se prostě v reálném projektu tvoří nezávisle na zdrojácích - alespoň ve větších projektech se to jinak seriózně dělat nedá. Tedy vytvoří se interface - programátorské API - a pak se zdokumentuje - a pak se podle toho tvoří zdrojáky. Takto to funguje, pokud nebastlíte, ale skutečně seriózně programujete větší projekt. Tedy není důvod, proč by Windows dokumentace byla pozadu.
pro LO:
No, já bych zase Linux nehaněl, on je to lépe postavený operační systém s prakticky lepším jádrem oproti Windows.
K čemu je Vám třebqa prioritizace I/O, když Vista při přehrávání mp3 zpomalují síť na zlomeček její rychlosti. Podrobněji zde:
To je Vám pak celý koncept prioritizace I/O na dvě věci, víme pane LO?
Já sice tady kritizuji Linux z hlediska podpory vývojářů, ale jádro Linuxu je postaveno lépe a na rozdíl od Windows opravdu funguje a s mnohem vyšší propustností na stejné hw, než WIndowsí jádro.
S čím souhlasím je, že koncept GDI je super a mít nějaké takové API v Linuxu, bylo by moc fajn. Stejně tak samotné tiskové řešení v Linuxu je poněkud poněkud.
Ale jádro systému je v Linuxu skvělé.
[42] Do teď jsem dělal v Delphi, teď se učím Python a wx knihovnu a pokud obojí porovnám, tak mezi VCL a wx nevidím velký rozdíl - knihovna tříd obalujících určitá API, obě knihovny mi připadají dost podobné. Pokud jde o API, v Delphi jsem Win API občas použil a bylo to i přes MSDN dokumentaci dost otřesné (asi jako většina ostatních API na všech platformách, jde o nízkoúrovňové programování, ne o hotové třídy). Pokud jde o kompatibilitu, taky mi to připadá podobné, ono i v Delphi se VCL měnila a rozhodně se kompatibilita mezi verzemi nekoná. Skriptování vs. programování, na skriptování mám Bash, v Pythonu se dá velmi pěkně programovat a interpretovaný kód mě osobně nevadí, o data se stará SQL server (běžící nativně), o GUI wx knihovna (běžící nativně), takže zpomalení díky interpretaci nevidím. Samozřejmě jde o DB aplikace, na vědecké výpočty Python nepoužiju. Takže když si vše porovnám, Python a wx mě proti Delphi nijak neomezuje, udělám v tom to co teď, nepotřeboval jsem rok času na studium a shánění dokumentace a program funguje pod Win i pod Linuxem. Jde jen o to chtít začít, ne setrvačností používat to co dosud a nechtít se učit nic nového.
[45]
Pane Ponkrác, souhlasím s vámi, že každé API musí mít svou veřejnou (zdokumentovanou) a neveřejnou (interní) část.
Vy si možná také budete ještě pamatovat, jak v době 8 bitových procesorů (u mne Z80) obdobní jedinci hledali nedokumentované instrukce, radostně je používali a s novou sérií procesoru s novým mikrokódem nevěřícně zírali na nefunkčnost svých programů. A je celkem pravděpodobné, že Intel i AMD mají ve svých procesorech nezveřejněné instrukce i dnes.
[47] LO
No ja nevim, jak to tam praktikujete. Ale dnes je v mode tzv. homeworking, takze pripoustim, ze to delate i z domova a dokonce i v noci.
[50] Veterán
Mohl byste uvest prakticky priklad ? Tech nekolik malo nedokumentovanych instrukci, ktere jsem na Z80 obcas pro zajimavost pouzil, fungovalo vpodstate na vsem vcetne vychodonemeckeho obvodu U880D :-) - proste to hosi v DDR obslehli dokonale.
[51]
Vzpomínám si na jednu hru, jejíž kazeta byla "přilepena" v anglickém časopise o ZX Spectru. Tam bylo přímo uvedeno, že na starších typech neběží právě z důvodu nedokumentovaných instrukcí. V článku byl i soupis několika dalších programů. Ty jsem neznal, ale podle názvu si vzpomínám, že jeden mohl být o astronomii. Ale je možné, že starší Spectra používala nějaké výmětové procesory, viz. použití špatných pamětí a propojce na základní desce volící jejich funkční polovinu.
S přesnými názvy tedy nemohu sloužit. Já momentálně pracně vzpomínám, jak se jmenoval na Spectru tabulkový procesor - Omnicalc?
Nemohu posoudit programátorskou dokumentaci win, ale uživatelská je naprosto prasácká; cokoli jsem v ní kdy hledal, tak se mi relevantní informaci nepodařilo najít, jen blábolení o tom, jak jsou win nejlepší. Opakovaně jsem v helpu např. hledal, jak pod win změnit příponu souboru (to je ta část názvu za poslední tečkou), ale ani na w98, ani wxp prostě toto v helpu není (na w95 to nebylo nutno řešit). Takže když potřebuji rychle změnit příponu, udělám to v DOSBoxu (a následně dořeším dlouhý název), když na to nespěchám, počká to na přebootování do linuxu.
Z hlediska programování mám zkušenosti pouze s makry (word, excel), a to takové, že velice často dochází k jejich rozladění, případně totální likvidaci (nedělá to, co má, případně to vůbec nejde spustit) po upgrade win, případně aplikaci service-packů. (Proto vůbec nemá takové programování pod win smysl, zejména na automaticky upgradujících xp, kdy člověk neví dne ani hodiny, kdy se mu prostřednictvím upgrade zlikviduje práce za celé týdny.) Potom mohou pracovníci MS kvílet jak sbor vysloužilých sexuálních pracovnic, že uživatelé odmítají jejich "operační systém" zaplátovat (a vůbec - proč by měli, za ty peníze by to mělo být propracované, a ne aby člověk byl nucen koupit trapný nedodělek se spoustou závad).
Od programování ve skutečných programovacích jazycích ve win (perl, java, c atd.) mě odradilo především to, že win nedokáží korektně zdrojový text uložit na disk, aby byl bez nějakých dalších skrček (uložení pod jiným názvem, vypnutí textového editoru) dostupný v aktuální verzi pro interpret (překladač). Tento bug byl na w95, w98 a je i na wxp, projevuje se tak, že chybu ve zdrojovém souboru opravíte, ale překladač (interpret) načítá neustále původní, neopravenou, verzi. Jistěže to řeší integrovaná prostředí, ale ještě lépe to řeší linux, kde mám v jedné konzole otevřený textový editor a ze druhé volám program, který s textem pracuje (a vlastnosti "integrovaného prostředí" mi poskytne sám operační systém,. protože je, na rozdíl od win, plnohodnotný).
Opakovaně jsem se také setkal s tím, že win a MSOffice, nainstalované v rámci multilicence z týchž instalačních médií (odborníkem z oddělení výpočetní techniky), nebyla schopna si mezi sebou po síti nebo na disketě korektně předat wordovský nebo excelovský soubor, prostě: co instalace - to originál, nekompatibilní naprosto s ničím.
Faktem je, že dokumentace k linuxu je kvality velice různé, ale na rozdíl od těch win jsem prakticky vždy našel způsob, jak problém vyřešit, nebo nějakým způsobem obejít. A ti i v případech, kdy to bylo psáno anglicky a velice nepřehledně.
Měl bych návrh, jak tenhle problém řešit. Nikoliv nařízením, že každý komerční software musí být i pro další systémy, ale dotacemi (nebo třeba daňovými úlevami) komerčního softwaru, který je multiplatformní (a vzájemně kompatibilní), nebo popř. dotovat komerční software pro open source platformy. Nicméně pokud by i přes dotace bylo pro firmu nevýhodné multiplatformní řešení vyrábět (což by např. u software na zakázku bylo), tak by k tomu nikdo nebyl nucen a zákazník by nemusel platit za to, co nechce.
[43] LO:
BTW: Nechapem vasu uchylku chodit rozputavat Linux vs Windows flame na Linuxovy portal - zda sa mi to ubohe, ale to je vas psychicky problem.
Nedavno sa kolega (ktory primarne pracuje pod Windows!) v nasej firme stazoval, ze jeho vyhladavaci engine nejakym magickym sposobom funguje podstatne rychlejsie pod ext3 ako NTFS. Chvilu riesil, ze bude emulovat ext3 nad NTFS v jednom subore, ale nakoniec to vzdal. Zbytocne su vo Windows prioritizovane IO operacie, ked NTSF filesystem, na ktorom uz dnes vsetko zavisi, je jednoducho v mnohych situaciach pomalsi ako ext3. Opakujem, ze kolega programuje vo Windows a vykon v Linuxe (bez akohokolvek ladenia a optimalizacie) ho jednoducho prekvapil.
Tiez tu zazneli slova, ze MSDN je lepsi sposob dokumentacie ako distribuovana siet projektov s vlastnou dokumentaciou. Vyrazne nesuhlasim s takym nazorom. Ked nieco v Linuxe potrebujem naprogramovat, tak viem ake API (kniznicu) pouzivam a jednoducho na ich strankach, v info alebo v /usr/doc tu dokumentaciu najdem - presne pre to API ktore chcem pouzit a nic ine co ma nezaujima. V MSDN je vsetko jeden velky neprehladny pagac - od Win32 cez .NET az pod DirectX vo vsetkych MS-supported programovacich jazykoch. Ak nieco hladam pre C#, tak dostanem tisic nerelevantych vysledkov hladania pre ine jazyky a veci ktore ma absolutne nezaujimavu (aj ked obmedzim hladanie len na C#). Casto sa tam clovek zacykli ked marne nieco hlada. Ak chcem nieco pre C#, tak priklady nachadzam len vo Visual Basicu - hladat nieco v MSDN mi jednoducho sposobuje psychicku bolest ktoru uz nie som schopny znasat ani za peniaze. Povedzme si rovno - ak by ste sa chceli naucit programovat napr. OpenGL v Jave (vy zrejme v C#) - tak otvorite si dokumentaciu ktora vam bude objasnovat OpenGL v 10 programovacich jazykoch a okrem OpenGL vas bude obtazovat od Win32 API, POSIX az po programovanie pluginov do MS Office? Rozhodne nie! Pouzijete dokumentaciu, ktora ma to objasni v Jave/C# a bude sa zaoberat len OpenGL. A toto je problem celeho MSDN - Microsoft *nechce* aby ste sa na zakladne dokumentacie naucili API pouzivat - na to si musime kupit knihu od Microsoft Press a MSDN je len neprehladna referencna priucka. Je to *bordel* a tvrdit ze je to lepsie ako samostatne dokumentacie v (linuxovych) projektoch je hruba urazka intelektu.
[48] Linkovaný bug je pochopitelně nepříjemný (a bude samozřejmě opraven), ale na pracovní stanici ho těžko vůbec postřehnete. Ono zpomalování na "zlomeček" rychlosti je totiž zpomalení na 15MB/sec (u jednoho adaptéru). Navíc to s vlastním konceptem prioritizace I/O nemá moc společného. Pro zajímavost, jak zabráníte výpadkům playbacku v důsledku nedostatku procesorového času, vytížení disku na kterém je médium apod. na Linuxu? Jistě bude zajímavé srovnat koncept I/O prioritizace s tím, co nabízí Linux.
V čem je kernel Linuxu tak dobrý? Mě by to vážně zajímalo. Můj pohled: jde o monolitický kernel opsaný volání po volání z komerčních unixů (spousta lidí tu třeba o MS-DOSu tvrdila, že je to ukradené CP/M, já zde rámci korektnosti takový výraz nepoužiji). Kernelová rozhraní se každou chvíli mění (copak autoři neplánují dopředu?), pro drivery z politických důvodů neexistuje stabilní interface, navíc kernelové moduly musejí být coby údajná odvozená díla vydané pod licencí GPL (podle slov autorů kernelu). Prioritizace IRQ je na Linuxu pokud vím ještě pořád neznámý pojem. Jak vypadá podpora NUMA a SRAT/SLIT (ACPI System Resource Affinity Table, System Locality Distance Information Table) ve scheduleru, v situaci, kdy Windows oficiálně podporují 64-CPU NUMA stroje? Preempce kernelu je sice už konečně formálně možná, ale díky množství bugů jedou distra zásadně bez preempce (což má skvělý vliv na latency). Správa paměti s "late binding" (což pěkně eufemisticky řečeno) je tragédie, ústící v katastrofu jménem OOM Killer. Podpora large pages neexistuje (před neoficiálním CONFIG_PAGE_SHIFT kernel developeři varují), podpora PAE/AWE nulová. Opravdu funkční threading je na Linuxu horkou novinkou. Dynamické linkování má na Linuxu podle autorů OpenOffice naprosto tragický výkon (což je vidět na rychlosti spouštění aplikací, včetně OOo); popsáno i zde na root.cz. Autoři Adobe Flashe pro Linux museli kvůli nějakému s prominutím debilnímu pluginu do browseru hrabat i do zdrojáků gcc(!), a stěžovali si na problémy s multimédii; popsáno opět i zde na root.cz.
Jinými slovy kernel Linuxu vidím jako průměrný (řekl bych podprůměrný, ale ono zase tolik opravdu dobrých kernelů není), a jeho jedinou devizou je fakt, že je zdarma.
Ano, unixy by potřebovaly obdobu GDI, a obdobně většinu toho, co jsem vyjmenoval v příspěvku [13]. Jenže když to napíšu, tak jsem upalován, že dělám reklamu na Windows. Přitom fakta jsou jasná.
[51] Asi je to zbytečné opakovat, ale pro MS CZ nepracuji.
[53] Zkusíte mi popsat, jak v nápovědě Windows najdu "blábolení o tom, jak jsou win nejlepší"? A zkusil jste někdy nápovědu na Linuxu, Solarisu, AIXu apod. (samozřejmě v GUI)? Zkuste si třeba v SuSE v Help Center najít, jak přidat uživatele, jak změnit rozlišení obrazovky, jak připojit druhý monitor, jak připojit tiskárnu, jak vytvořit partition atd. Ve Windows najdete (prostě hledejte třeba add user, change screen resolution, second monitor, add printer, create partition); na unixech nenajdete zpravidla nic.
Co je proboha DOSBox? Snad ne historický command.com? Jestli o tom nevíte, Windows řady NT mají command interpreter zvaný cmd.exe, který má s DOSem společné jen názvy některých příkazů. Samozřejmě podporuje dlouhé názvy, takže můžete psát rename "můj dopis.doc" "tvůj dopis.doc". Skrývání přípon se nastavuje v options Windows Exploreru. Je to ochrana proti začátečníkům, kteří přejmenovávají soubor "dopis babYčce.doc" na "dopis babičce" (bez přípony).
Makra v MS Office používám rád a často (Excel je pro mě zcela zásadní aplikace, ve které načítám, třídím, filtruji a zpracovávám data z textových souborů, webu, DB atd, a makra mi v tom velmi pomáhají). Mohu říci, že upgrade Windows i aplikace service packů nechávají makra zcela v klidu.
Programy jsou v principu nedodělky se spoustou závad. Programátoři totiž dělají chyby, a nedá se s tím zatím nic dělat. Ale jsou na cestě technologie, které umožní vytvořit řádově spolehlivější systémy. Čekejte je na trhu mezi lety 1010-1015.
Popisované chování (soubor nelze číst, když je otevřený pro zápis) je správné a bezpečné chování. Mimo jiné ve Windows téměř nikdo nepíše v textovém editoru, ale vždy v IDE; textový editor by byl návrat v produktivitě o 15-20 let zpátky. Mimochodem jak vám vlastnosti IDE, jako IntelliSense (doplňování klíčových slov), popisky s parametry, možnost umisťování break pointů, integrovaný debugger apod. nabízí váš "plnohodnotný" OS? :)
Pokračoval bych, ale ze zbytku vašeho postu jsem došel k názoru, že jste Windows viděl z rychlíku, a Linux taktéž, takže nemá smysl se dál bavit.
[56]
Nechodím sem rozpoutávat flame (i když ten se z toho někdy vyvine, pokud jsou mi předhazovány nepravdy, jako v tomto threadu). Rád si občas na root.cz něco přečtu, a když mám na něco vyhraněný názor, nebo když vidím psanou nepravdu, tak přispěji. Když se ale podíváte na blog post, ke kterému tu píšeme, tak uvidíte, že je to FUD, který je napsán buď s vědomím, že kolem něj bude flame, nebo přímo za tím účelem. Přece si autor nemůže myslet, že bude navrhovat zýkonem danou povinnost psát SW multiplaformně, a nikdo se neozve s tím, že je to pěkná blbost.
Prozradím vám jedno malé tajemství. NTFS by default udržuje Last Access Time pro každý soubor. Modifikace adresářové položky je modifikací adresáře, což je zase modifikací nadřazeného adresáře... Efektivně přečtení jednoho souboru může znamenat zápis desítek kB na disk (protože NTFS má by default cluster size 4kB). Pokud na stroji provedete příkaz "fsutil behavior set disable8dot3 1" a provedete restart, Last Access Time se nebude zapisovat na disk, a některé operace se tak výrazně urychlí. Kdyby váš kolega uměl Windows alespoň administrovat, tak by tohle musel vědět. Samozřejmě pro některé lidi je pak paradoxně závěr ten, že ext3 je rychlejší, než NTFS. Přitom NTFS je z těch lepších FS; minimálně v tom, že má vyjma slušného výkonu i ACL, quoty, žurnálování, má transparentní kompresi a šifrování, je ACID transakční (ne, nesouvisí to s žurnálem), umí snapshoty atd.
Správně jste řekl, že MSDN má filtry (obsahové i jazykové). Pokud si je správně nastavíte, nebudete dostávat příklady v jazyce, který vás nezajímá. V MSDN najdete srozumitelně vysvětlené koncepty (což se velmi počítá), typické způsoby použití, referenci, příklady a tutorialy snad úplně ke všemu. Pochopitelně pokud chcete psát v J#, příkladů bude málo.
[59] a- (reklamní bláboly ve win helpu): stačí si tu nápovědu přečíst :-) Uvedené věci jsou i v tom SuSE (a v mnoha dalších linuxových distribucích) přímo v instalační příručce. Jinak stačí většinou man název_programu
b- DOSBox je emulátor DOS pro různé operační systémy. Mimochodem, vznikl proto, že win jsou od verze 98 a výš programovaná tak prasácky, že se na nich DOSovské programy postupně přestávají dát spouštět (w95 měly ještě téměř 100% zpětnou kompatibilitu s DOS - ukázka, že by to šlo, kdyby se chtělo). Pak byl portován na jiné OS, takže paradoxně se dá řada DOS programů spustit snadněji na linuxu než nativně ve win - názorná ukázka, jak si MS sám pod sebou řeže větev. Ono pro řadu programů to DOSovské okno s textem stačí.
Nějaký cmd.exe, který není nijak dokumentovaný, a poskytuje horší možnosti než příkazový řádek v linuxu mi může být leda ukradený.
c- (makra) Viděl jsem na vlastní oči, jak poměrně náročný program (dělali na něm dva lidé skoro rok), byl odstřelen automatickým upgrade MSIE, v podstatě neopravitelně (resp. by oprava dala asi tolik práce a času, jako to celé znova napsat). Provozujeme ho na jiných počítačích s w95 nebo 98, které nemáme připojeny k síti.
d- Nevidím nejmenší důvody, proč by měly být programy "v principu nedodělky". Na linuxu jistě existují beta verze, kde mohou být různé nedořešené problémy, ale stable verze zpravidla skutečně stabilní jsou. Obávám se, že programy MS se málokdy dostanou přes tu beta verzi, akorát že za možnost jejich testování zákazník platí.
e- Popisované chování (soubor nelze číst, pokud do něj jiný program může zapisovat) je zhovadilost, která nijak neovlivní bezpečnost (tu by ovlivnilo leda současné zapisování více programy současně). Ty IDE, o kterých básníte, jsou většinou velmi drahé a málokdy poskytují stejný komfort jako v linuxu kombinace editor - konzola. Doplňování slov, zvýrazňování syntaxe apod. je vlastností řady editorů pod linuxem, i proto jsou zde IDE prakticky zbytečná.
f- Na počítačích jsem začal pracovat v 80. letech, prošel jsem jsem od PMD-85 přes Didaktik, 8 bitový počítač s CP/M, DOS (i s win 3.11), různé verze win až k linuxu. Mohu zodpovědně říct, že jako nástroj pro seriózní práci jsou win to nejhorší (s přihlédnutím k výkonu HW), co jsem měl pod rukama. Také, pokud jsem byl nucen pracovat na w95 nebo w98, jsem nějakých 80% času trávil v DOSovském okně nebo "počítač restartovat do DOS". Mám doma (legálně) i win XP, ale na nic jiného než spouštění her se to nehodí.
Pro mm: Libusb používáme v zakázkových projektech, kde pracujeme například s obvody PLX (dříve Netchip) popř. NXP (dříve Philips). Má to různé mouchy, ale funguje to. Produkty jako jsou PRESTO nebo SIGMA používají ale obvody od FTDI, pro které jsou ovladače dodávané výrobcem. Podpora Linuxu tam sice je, ale z nějakého důvodu není příliš intenzivní. Pokusy o provozování našho software pro PRESTO včetně driverů pod Linuxem jsme už nějaký čas strávili, pokoušeli se o to i někteří naši zákazníci z různých koutů světa, ale výsledky nebyly uspokojivé. Necítím v tom ovšem naši vinu. Proto mě štve, když nás nějaký anonym dává za příklad těch, kteří podporují monopol Microsoftu. --- Jasně, že když do toho vrazíme o hodně víc času (=peněz :-) ), tak to nakonec rozchodíme. My jsme šikovní, vždycky jsme všechno rozchodili...
Pro A.S.P.: Dobrý den, pane docente (možná jste už povýšil, pokud ano, omlouvám se), ač se spoustou vašich nepočítačových názorů nesouhlasím, moc se mi líbí, že používáte DOSovské okno. Já v něm i pod XP trávím většinu času s programy jako Ztree, TSE editor od Semware atd. :-)
Ještě jednou dík za blog ... je to inspekce do myšlení lidí a krásně se projevují předsudky a většinový odpor k konstruktivní inovaci a změnám (zamyslet se a hledat cestu). Chápu názory všech, a umím si představit základ jejich původu, respektive znalosti a zkušenosti na kterých jsou postavené.
Opravdu nevidím takový problém programovat multiplatformně. Interpretované a "multiplatformní" jazyky jsou dostupné již dlouho. A výkon počítačů je řekněme dostatečný na to aby takto vyvinuté aplikace používal. Může být, že speciální velice výkonově náročné operace tam trvají déle, ale to by znamenalo pouze tyto identifikovat (což uznávám je u mnoha horších programátorů problém :) ) a tvořit je platformě závislé.
Samozřejmě teď by se mohlo ozvat hodně lidí s mnoha argumenty proč to není pravda, ale často za tím je právě to co jsem napsal v prvním odstavci.
Dovolím si jedné hodně abstraktní srovnání(prosím nekomentovat je to hodně abstraktní): Pro americký trh se taky nevyvíjí extra notebooky, protože tam mají jiné napětí v síti než u nás (mají jinou napájecí "platformu"). Otázka je co budeme brát jako "podklad" a co jako neodstranitelnou součást programu.
[59] LO
Chodite vyvolavat flame, pretoze vase komentare vacsinou dookola melu stale to iste (MS je vo vsetkom najlepsi - je to uz nudne). Vasa objektivita a pravdivost argumentov bola niekolko-krat spochybnena. Vacsinou prehlasujete vase subjektivne nazory za matematicky overitelne pravdy a nasledne ich agresivne (a casto voci inym aj urazlivo) obhajutete. Ako som uz raz spomenul - ak pre nic ine, tak pre vytrvalost sa vam casto podari "vyhrat" argument - ego si sice posilnite ale realitu nezmenite.
(ext3 vs NTFS) Nie - problem nebol v Last Acess time (bol vypnuty) ale jednoducho vo fakte, ze NTFS je znacne pomalsi v zapise a citani do suboru do nahodnej pozicie (nezarovnane na 4K bloky). Zial, obcas je potrebne priznat, ze MS neexceluje vo vsetkom. Tam kde je rychlost filesystemu dolezita (tzn. vsade) NTFS nema miesto.
Ohladom MSDN som sa uz vyjadril - je to neprehladne a je to len referencna priucka plna chaotickych odkazov. Filter na temu a jazyky nefunguje a nakoniec v samotnom texte vas to posle do prikladov v inom jazyku. Podla toho co pisete ste zrejme skuseny admin ktory sa rad viaze na buzzwordy ale v zivote ste nic algoritmicky zloziteho nanaprogramoval (dokazte opak).
LO :
Vážený pane
Moje rakce nebyla zdaleka ani tak prudká, když jsem četl Váš první příspěvek, jak ta co následovala, když jsem si přečetl ty ostatní od Vás. Znovu vám říkám následující a připojuji se tím i k pánům mm a Ponkráci :
Dle mého názoru toho moc o Linuxu nevíte, takže doporučuji prostudovat nějakou literaturu, pořídit si nějaký Linux a porovnat vaše teoretické znalosti s praxí. Jinak nemá cenu se s Vámi o čemkoliv bavit, zvlášť pokud si pořádně nepřečtete příspěvek na nějž reagujete, ani co jste napsal vy sám...
Pokud chcete zde za každou cenu plivat na Linux a dělat reklamu Widlím, tak si běžte léčit své mindráky jinam.
D.T.Alien
[63]
Já si myslím totéž. Existuje dneska mnoho knihoven (tedy alespoň pro c/c++), která umožňují psát programy rovnou pro několik platforem. Nikdy sice neřeší vše, ale podle mého skromného názoru řešení těch několik aplikačních detailů, závislých na platformě se určitě dá vyřešit bez zbytečně velkých nákladů.
[60] Proboha. Opakuji otázku: jak KONKRÉTNĚ v nápovědě Windows najdu "blábolení o tom, jak jsou win nejlepší"? Já jí používám, a nic takového jsem tam nenešel. Takže prosím KONKRÉTNĚ.
Solaris či Linux, jsem v GUI session, chci přidat uživatele. Jak asi použiji man název_programu, když neznám jeho název? Navíc chci přidat uživatele samozřejmě z GUI; man zpravidla GUI tools ignoruje.
Windows řady 9x mají kompatibilitu s DOSem njelepší, jaké bylo možno dosáhnout. Dokonce mohou používat DOSové drivery. "Nějaký" cmd.exe je default command line shell ve Windows řady NT, a je kompletně popsaný v nápovědě Windows. Zadejte v nápovědě command-line, dostanete mimo jiné Command-line reference A-Z. Souhlasím, že cmd.exe nemá možnosti bashe, ale na druhé straně toho umí daleko více, než tušíte (většina lidí neumí používat ani rozšířenou syntaxi příkazu for, kerá umožňuje třeba rekurzivní procházení adresářů, parsování textů atp). Ovšem vyjma cmd.exe máme už také PowerShell, který má naopak výrazně lepší možnosti, než unixové shelly. Místo spouštění utilit se volají objekty, místo parsování se pracuje se seznamy. V PowerShellu není problém získat seznam oken, vyfiltrovat je podle titulku okna, vytvořit nové okno, umístit do něj tlačítko atp. Okna jsou samozřejmě objekty jako každé jiné.
Automatický update MSIE typicky mění verzi XML parseru, verzi ADO, a to je tak vše, co by vás mělo trápit. Problém to nepředstavuje. Leda byste vy a kolegové spoléhali na nějaké nedokumentované chování. Tam vám mohu poradit jediné - nedělejte to. Znovu tvrdím, že makra v MS Office nejsou nijak ovlivněna SP, updaty atp.
To že aplikace nespadne ještě neznamená, že je dodělaná. Například aplikace bez GUI je zpravidla nedodělaná. Aplikace bez nápovědy či dokumentace je nedodělaná. Totéž aplikace s hrubými chybami ergonomie a usability, nebo nedej bože funkcionality. Ohledně kvality MS SW: například Windows 2000 používalo již v betě více uživatelů, než Linux. Řada firem na betě jela produktivně.
Popisované chování vás chrání před prací na souboru, který používá někdo jiný. Aplikace si může vybrat, jaký přístup mají mít ostatní aplikace k otevřenému souboru.
Ty IDE, o kterých tu básním, jso mnohdy zdarma. Například Visual Studio Express je zdarma. IntelliSense samozřejmě na Linuxu nedostanete. Když v C# napíšu na začátek programu "using System;", na "Console." začne nabízet mimo jiné "Write", řekne mi že jt to metoda, co dělá, a jaké má parametry. Pokud napíšu int můjOšklivýInteger, o řádek níže na "můj" nabídne můjOšklivýInteger. Když nápovědu ke Console.Write, vystavím kurzor na Write, a stisknu F1 (najde to referenci v MSDN). Když chci nastavit breakpoint, kliknu vlevo vedle řádku, kde ho chci nastavit, a je tam. Když kód přeruším, najetím myši na proměnnou vidím její obsah. GUI se samozřejmě píše v GUI designeru, který sám vygeneruje takové ty "nesmysly" typu nové okno třídy okno, v okně je myButton typu button, myButton je růžový atd. IDE také typicky nabízí templaty. Chcete napsat Windows Service (chytřejší obdoba deamonu)? Použijte template, a pište jen to, co se týká vlastního kódu servisu. A samozřejmě snadná integrace komponent, o které jsem psal výše. Textový editor a konzole mají mnohem nižší produktivitu, o čemž snad vyjma vás už nikdo nepochybuje.
Také jsem s počítači začínal v 80. letech, můj první stroj byl SAPI-1. S přihlédnutím ke svým zkušenostem tvrdím, že Windows řady NT jsou nejlepší systém na trhu, a to ať se bavíme o features, poměru cena/výkon, dostupnosti aplikaci a driverů, nebo uživatelské přívětivosti (zde by uživatelé Macu nesouhlasili). Nicméně ani rozdílné preference vás neopravňují k tomu, abyste psal zjevné technické nesmysly, jak jste předvedl.
[64] Moje komentáře se opakují tehdy, pokud se opakují věci, na které reaguji. Například pokud někdo tvrdí, že Windows nejsou dokumentované, nebo jsou dokumentované mizerně, je to nesmysl, který rád uvedu (i opakovaně) na pravou míru. Pokud si někdo myslí, že zdroják je dokumentace, rád ho opravím, protože zjevně neví, jak má dokumentace vypadat. Když někdo tvrdí, že nápověda je plná keců o tom, jak jsou Windows nejlepší, chci to doložit, protože to prostě není pravda.
Řekněte mi, jak plivu na Linux? Když tu D.A.Tiger v [11] šíří FUD (chcete tvrdit, že to není FUD), cítím potřebu reagovat. Zvláštní je spíše to, že když někdo nekriticky tvrdí, jak je Linux technicky skvělý, a já během pár minut vysypu seznam pár desítek velmi zajímavých features, které nemá, tak nikdo není schopen reagovat věcně.
Je možná, že se NTFS v nějaké situaci projevuje hůře, než jiný FS. Je to nepravděpodobné, protože NTFS je z lepších FS, ale může být. Kolega může použít ext3 na Windows, jestli chce. Bohužel pak přijde o většinu features, o kterých jsem psal.
Ohledně MSDN se mýlíte. Referenční příručka neobsahuje vysvětlení konceptů a způsobů použití, neobsahuje tutorialy ani příklady. Souhlasím, že v případě .NETu vás text může poslat i do příkladů v jiném jazyku. Ovšem pokud píšete v C#, dokážete bez problémů přečíst i příklad ve VB.NET, a opačně.
Nejsem admin. Nemyslím si, že bych kdy napsal něco skutečně algoritmicky složitého. Jednak těch algoritmicky složitých věcí až tolik není (většinou jde o přehazování písku lopatou, tedy práci ne příliš náročnou, ale o to více nudnou), a potom už jich většinu napsala hromada lidí přede mnou. Bylo by hloupé znovu vymýšlet kolo, a zbytečně tím ztrácet čas. Mimochodem i admin který neumí napsat hello world má nějaké názory :). Nakonec celé IT platí lidé, kteří nevědí, co je for cyklus, a kteří by abstrakci typu objektové dědičnosti či synchronizace threadů snad ani neměli šanci pochopit. Chápejte, pro tyhle lidi tu IT je; stejně tak auta stavíme pro lidi, kteří si neumí ani vyměnit klínový řemen, a vozy si vybírají podle barvy.
[65] Moc toho o Linuxu nevím? Tak třeba vím, že features jmenované ve [13], které najdete na každé instalaci Windows, na každém Linuxu rozhodně nenajde, a zpravidla je nenajdete vůbec. Nebo vím, že [58] popisuje řadu problémů, nad kterými lidé rádi zavírají oči, a tváří se, že tyto problémy nejsou.
No a když jsme u vás a vašich znalostí, tak si udělejme krátké shrnutí. 1) Jak je to s těmi reklamními bláboly v nápovědě Windows? Už jste nějaké našel, nebo jen šíříte FUD? 2) Nevíte o default command line shellu Windows řady NT (i když je link ve Start Menu). Kdybych nevěděl o existenci bashe (který je pořád jen jedním z mnoha shellů na unixech), nebo tvrdil, že není dokumentovaný, styděl bych se. Na přejmenování souborů používáte emulaci MS-DOSu, protože nic jiného neznáte (dost tristní). 3) Dodělanou aplikaci zaměňujete za nehavarující, což je zásadní miskoncepce. Základy SW inženýrství vás zřejmě minuly velkým obloukem. 4) Asi jste v posledních 5-15 letech neviděl IDE, jinak byste nemohl psát, co jste psal. 5) Neumíte používat Windows Explorer, což je dnes obdobou neznalosti používání Norton Commanderu. 6) Z nějakého důvodu si myslíte, že různé instalace MS Office si nemohou vyměňovat dokumenty, což je zjevně v rozporu s realitou.
Tak nevím. Kdo z nás si potřebuje doplnit znalosti? Objektivně spíše vy.
Zkuste být trochu sebekritický. Jsme v podobném věku, ale rozdíl je v tom, že já nežiju v minulosti, a jsem schopný alespoň používat nové věci.
[67] LO
Nemyslim si, ze sa tu casto opakuje argument, ze Windows su zle zdokumentovane. Skor tu neustale osciluje vas (proti) argument, ze Linux na nedostatocnu dokumentaciu v porovnani s Windows. Myslim, ze je to na oboch stranach nezmyslel. Ak niekomu vyhovuje jedne velka neprehladna biblia plna cyklickych odkazov - zrejme bude povazovat MSDN za lepsiu volbu ako distrubiovana siet dokumentacii k jednotlivych knizniciam. Mne MSDN nevyhovuje - nikdy som sa tam nenaucil koncept. Ano, su tam priklady a tutorialy - ale je to vsetko choaticke zabalene do jednej neprehladnej formy. Jednoducho mne to nevyhovuje a tym diskusia o superiorite MSDN u mna konci. Knihy od Microsoft Press su naopak casto velmi kvalitne.
Urcite aj admin moze mat (casto vysoko hodnotny) nazor. Avsak vase neustale opakovanie a nadhodnocovanie rovnakych argumentov jasne poukazuje ze vase programatorske skusenosti su obmedzene len na urcity druh prace a dalej jednoducho nevidite. V zaujme vasej sebakritiky a objektivity by ste tento fakt mohli zvazit castejsie. Tento portal citaju aj ludia ktori programuju CAD, kernel na meteorologicku vizualizaciu, web browser, ci priamo linux kernel. Verte mi, ze takym ludom sa vase dolezite spravy (napr. o nutnosti prechodu na managed jazyky) zdaju ako z Marsu. Ukazte co ste v C# vo Visual Studiu za pomoci inteli-neviem-co naprogramovali. Ubezpecujem vas, ze sa tu najde mnozstvo PHP programatorov, ktori sa na vasich dielach zasmeju.
;] Co na to říct?
add1
Bohužel jak jsem říkal, Widle už jsem zničil (a velmi se mi ulevilo), takže Vám těžko zkopíruji nějaký příklad. Nicméně V systému ji máte dost a dost můžeme začít hned žvásty, které se vypisují na obrazovku při instalaci systému. Pravdu má pan Ponkrác, že proagandistických keců se dá na Internetu najít mraky i pro Linux, nicméně aspoň mi to nikdo necpe do systému.
add2
Nevím kde jste byl na tom, že k přejmenovávání souborů používám DosBox, a správce souboru jsem si napsal sám.
Nicméně, tvrdit že DosBox je command.com mi přijde opravdu úchylné. Co se týče TotalCommanderu, i pro Linux se najde dost file managerů, stačí se podívat na LinuxSoftware. Jen namátkou : Krusader, BF-Commander, DFM, atd...
add3
Jak jsem řekl, ještě jednou si to přečtěte. Mimo to bazírovat na tom, že aplikace musí mít za každou cenu GUI, jinak je to defacto nedodělek, je taky blábol.
add4
Práce v ide nebo na příkazové řádce je věc osobního přístupu. Jinak např. Anjuta (ta třeba vyhovuje více méně mě), nebo KDevelop. A nedělám si iluze že se určitě dají najít i jiné, z vašeho pohledu "Profesionální". Já si bohatě vystačím s tímto. Já a mnoho dalších, včetně profesionálů.
add5)
Fakt? někde jsem to psal?
Pro Linux např. nativní správce souborů pro Gnome, nebo zmiňovaný DFM. oba dva jsou velmi podobní Exploreru z Widlí.
add6 )
Netvrdil jsem to. S MS office jsem se setkal na škole a od ty doby jsem zapřísáhlým uživatelem Open Office.
Ne nevím všechno. Ani o Linuxu a ani o Windows, a mohu se i já zmýlit, nebo něco nevědět. Koneckonců jedna moje omluva za (možná) chybu tu je. Ale aspoň to přiznám.
Linux mám rád. Líbí se my myšlenky a postoje ze kterých vyšel. Vyhovuje my styl práce pod ním. Dlouhou dobu jsem měl i Windows ( 95, 98, Milenium, XP ) i v práci (2K) přesvědčil jsem se o tom, že Linux je lepší. A chodím to vykládat někam na portál o Widlích?
Mimochodem s tím threading to byl fakt úlet, včetně těch vašich "features". Kdyby jste fakt Linux znal (alespoň jako pokročilý uživatel), tak jste takové řeči nepsal.
Zbytek viz. znovu [65]
[69] Za dobu své praxe jsem mimo jiné používal řadu knowledge base. Základní věcí je umět se správně zeptat. Jinak se ptáte na Google, jinak na Wikipedii, jinak na seznamu firem na Seznam.cz, jinak v MSDN. Například na Wiki když bude psáno "Objekt konzole umožňuje vypsat textový *výstup*", po kliknutí se dozvíte něco o obecném výstupu. V MSDN se dozvíte něco o výstupu v kontextu konzole. Faktem je, že lidé v IT mají často až s podivem velké problémy s prací s jakýmikoliv informacemi.
Na root.cz se vyskytují i velmi zajímaví lidé, souhlas. Ti by také mohli (či měli) vědět, že v C# je možné napsat i kernel operačního systému. Mohli by vědět, že to umožní zvýšit spolehlivost kódu nejspíš o několik řádů (pokud nejsou zaslepení a nemyslí si, že oni sami chyby nedělají). A mohli by vědět, že současnou izolaci procesů lze nahradit mechanismem, který je daleko efektivnější, a díky kterému lze v podstatě eliminovat overhead managed jazyků. A já si od nich rád nechám vysvětlit, jakou alternativu k tomuto postupu nabízí Linux (podle mě žádnou). O to smutnější je, že je pro ně má zpráva jako z Marsu (oni dohadují se o složení sena pro koně, já ukazuji běžící motor, a mluvím o traktoru a automobilu). Jenže tomu, kdo zná pouze PHP a bash, něco takového těžko vysvětlit.
Samozřejmě vám nebudu říkat, co jsem napsal (já navíc nejsem kodér). Ale vězte, že naprostá většina SW pro Windows byla psána v nějaké verzi Visual Studia.
[70]
1. Tak si sedněte k jinému počítači s Windows (jistě nějaký najdete), a řekněte mi, jak KONKRÉTNĚ v nápovědě Windows najdu "blábolení o tom, jak jsou win nejlepší". To je hrozně jednoduché. Dá se prokázat, jestli jste vědomě LHAL, nebo ne. Takže do toho. A kdybyste byl co k čemu, tak si v nápovědě Windows vyhledáte pár tasků o kterých jsem mluvil (třeba změna rozlišení obrazovky), a zkusíte totéž v Help Center SuSE Linuxu, na Solarisu, AIXu a třeba dalším distru Linuxu. Klidně pak ukažte výsledek, a budeme diskutovat o kvalitě nápovědy.
2. Tvrdil jste, že používáte DosBox pro změnu přípony (to je podmnožinou přejmenování souboru). To děláte v důsledku toho, že nevíte, že v preferencích Windows Exploreru máte nastaveno "skrývat přípony známých typů souborů", natož abyste vůbec tušil, proč to tam asi je by default nastavené. Vaše neznalost je ekvivalentní tomu, kdybyste neměl ovládat Norton commander.
3. Ještě jednou si přečtěte, co jsem psal já. "...aplikace bez GUI je zpravidla nedodělaná". Vy na to: "imo to bazírovat na tom, že aplikace musí mít za každou cenu GUI, jinak je to defacto nedodělek, je taky blábol." Ano, to je blábol, ale jak vidíte, tak ne můj. *Zpravidla* proto, že *většina* aplikací by GUI mít měla.
4. Bohužel u těch "profesionálních" IDE typicky chybí celá řada features, nemluvě o velmi omezené platformě, na které stojí. Další věcí jsou podporované jazyky. C/C++ je pro nové business aplikace poněkud out, výhody managed jazyků jsem na root.cz mnohokrát popisoval (a opravdu to nechci psát znovu).
5. Nevím na co konkrétně reagujete, ale všiml jsem si, že správci souborů na Linuxu jsou dost děsiví. Například když vlezete do /dev nebo /etc (obecně kamkoliv, kde máte více než pár souborů), jsou na dlouho mrtví. Windows Explorer od jistého počtu objektů také, ale vydrží daleko víc, a je multithreadový. Navíc je stavěný komponentově, takže není problém přidat komponentu (řekněme knihovnu), která se volá například při stisknutí pravého tlačítka myši na daném typu souboru, přidat toolbar tvořený vlastním kódem atd.
6. Jako uživatel OpenOffice je mi vás trochu líto. Co vidíte dobrého na tak pomalém produktu, který má features Office 97? Leda to, že je zdarma.
Unixy nemám rád. Byly to svého času skvělé systémy, ale dnes patří do šrotu. Ty trapné přežitky typu terminálového systému s escape sekvencemi (proboha), X11, absence řady features, obecná uživatelská nepřátelskost... Ne, to není systém pro dnešní svět. Linux je prostě unix, a proti Windows postrádá velikou spoustu features (viz [13]). Nejsem komunista, nejsem levičák, a mám jisté znalosti ekonomiky a ekonomie, takže vím, že myšlenky FSF jsou utopie.
Co bylo za úlet z threadingem? Říká vám něco LinuxThreads? A viděl jste někdy horší implementaci threadů? Možná na MacOS 9 :)
1) Ok, máte co jste chtěl. Pár dní to bude trvat, ale dobře.
2) Kde prosím vás? Kde jsem to říkal? nebo je to taky lež?
3) To je právě nesmysl. Záleží totiž na úhlu pohledu. Všechno pořád porovnáváte s Windows. Pro mě je v mnoha případech lepší zadat jeden příkaz, nebo vytvořit kolonu. Mnohdy je tento postup minimálně jednou tak efektivní než, se proklikat deseti dialogi.
4) A není chyba spíš někde jinde? Podobně jak v 3)?
5) Já vím co jsou pluginy (a říkejte tomu jak chcete), nebojte, nicméně toto umí mnoho fm i v Linuxu. Že by byli pomalejší při otevírání adresářů? No, možná /dev, nebo /proc. Zjistěte si nejprv něco o těch adresářích a souborech prosím.
6) :) To je váš názor, ale jestli máte Open Office 2.0, jako MS Office 97, tak by jste měl litovat spíš sám sebe. Včetně té narážky na threading (mimochodem, neoběvil se podobnej blábol před několika lety na stránkách Microsoftu? Takže zase opisujete?)
Znovu se ptám: Když nemáte rád Unixy tak proč sem lezete? Abyste nám to řek? Mě osobně je to ůplně putna. Proč se teda divíte, že vás tu někteří nemusí? ( viz. Podporuji monopol Microsoftu [27] )
[71] LO
> Mohli by vědět, že to umožní zvýšit spolehlivost kódu
> nejspíš o několik řádů (pokud nejsou zaslepení a
> nemyslí si, že oni sami chyby nedělají). A mohli by
> vědět, že současnou izolaci procesů lze nahradit
> mechanismem, který je daleko efektivnější, a díky
> kterému lze v podstatě eliminovat overhead managed
> jazyků. A já si od nich rád nechám vysvětlit, jakou
> alternativu k tomuto postupu nabízí Linux
A aku alternativu navrhuje Microsoft? Jeden research projekt ktory nema sancu realneho uplatnenia? Toho sa tu cely cas chytate? Bude sebakriticky a nevyjadrujte sa k veciam, ktorym nerozumiete. Spolahlivost kodu nie je dana len jednym faktorom (navyse beh vo VM nie je ten faktor). Bezpepecnost kodu tiez nie je dana len nemoznostou vznikou buffer overflow (a navyse sa da proti tomu bojovat aj inymi technikami, napr. CPU NX bit). Ak aplikacia nespravne osetruje vstupne data, tak da utocnikovi neopravnene moznosti aj bez spustenia jeho nastrceneho kodu. Jenoducho ak je v aplikacii chyba, tak tak ju magicky managed kod nevyriesi. Vase komentare su ako z Marsu pretoze sme v 2007 a nie 2300 - a ako sa bude kodovat 2300 sa neda odhadnut. Co nas dnes zaujima je ako vyuzit viac-core CPU a zvysit vykon. Nic z toho VM neriesi - naopak, zhorsuje to. Pisat OS v C# je dobry napad - navrhujem, aby ste ho previedli do praxe.
Bedřich Pola [62] DOSovské okno pod XP neužívám. Jen aplikaci DOSBox, která se tváří jako DOS. Provozuji ji převážně na linuxu, na xp jsem ji instaloval více-méně jen proto, abych se ujistil, že to instalovat jde a nehlásal bludy (viz článek EpiInfo v DOSBoxu zde na Rootovi).
LO [66] a- Všude se vyskytují fráze typu "pro vaše větší pohodlí", "snadno uděláme" apod., je to nasládlé a neupřímné jak mluva mormonů.
b- Jste v GUI session: Můžete se přepnout (alespoň na linuxu) do konzoly a řešit problém z konzoly. Můžete spustit emulátor konzoly (z mnoha důvodů dávám přednost tomuto). Pokud ovšem nevíte, jak se jmenuje program, který spouštíte, tak je to o degeneraci uživatele na "klikače". Máte-li na ploše ikonu, je asociována se souborem v adresáři "plocha" (Desktop apod.) a v něm by název spouštěného souboru i cesta k němu měly být. Já osobně spouštím i z GUI (KDE) programy příkazem Alt+F2 - název programu.
c- Osobně nepředpokládám, že by kolegové programovali pomocí nějakých nedefinovaných funkcí, nechci je podceňovat, ale nemají na to. Postupovali předně podle manuálu k Excelu a nápovědy.
d- Aplikace bez GUI (většina toho, co používám) :-)
Aplikace bez nápovědy a dokumentace (většina MS produktů) :-)
A vy jste někdy viděl aplikaci od MS, která by dávala alespoň předpoklad, že se autor GUI zamýšlel nad ergonomií (o tom, že by byl po této stránce úspěšný, raději nemluvit)?
e- Ta produktivita závisí dost na tom, co vlastně chci dělat. Prostředí, která popisujete, většinou mají význam tehdy, když dělám něco, co si autor prostředí myslel, že bych mohl chtít dělat. Spíše překážejí, jakmile chci dělat něco, s čím jejich autor nepočítal. I při produkci obyčejného html platí poučka, že "žádný specializovaný generátor html nedokáže udělat to, co udělá šikovný programátor ručně". GUI designer vesměs to samé v bledě modrém. Nevidím důvod trávit zbytečný čas nad tím, abych to dokopal k tomu, co potřebuji. Ručně v editoru se přijatelného výsledku dočkám vždy dříve. Nehledě k tomu, že nevidím důvod proč dělat GUI k programům typu "načti řádek souboru A, vyřízni z něj znaky č. 5 - 12 a ulož je jako řádek souboru B".
f- Je otázka, co si představujete pod uživatelskou přívětivostí. Pro mě je to stav, kdy počítač dělá to, co chci já, a ne co si tvůrce OS nebo programového vybavení myslí, že bych chtít měl.
g- občas si mě pletete s tigerem.
h- MC považuji za lepší než cokoli grafického, co jsem zatím viděl na win i lin; je ukázkou mentální a programátorské impotence MS, že nedokázali předělat Nortona na win s dlouhými názvy.
i- Ohledně vašeho básnění o thredingu: poprvé jsem tiskl a současně dělal něco jiného pod linuxem, win (i xp) během tisku v podstatě zatuhnou k nepoužití (na identickém PC).
[76] Ještě jedna perlička ze světa win:
Stáhl jsem Active Perl z domovských stránek (tak rok 2000 - 2001) a objevilo se mi (anglicky, takže neinterpretuji nejspíš úplně přesně) "Pro vaše větší pohodlí není Active Perl exe přímo instalovatelný, musíte si pořídit náš superinstalátor, který ho nainstaluje za vás". Takže jsem si pořídil monkeylinux (to byla ta hračka bootovatelná z FAT16 přímo z DOS nebo win restartovaných do režimu DOS) a první krůčky v perlu jsem prováděl tam. Posléze přibyl Red Hat, Mandrake a nakonec Mandriva. Platformu win jsem definitivně opustil asi před rokem (v zaměstnání), kdy jsem po reinstalaci HDD nechal nainstalovat už jen Mandrivu (a win 95 poslal do elektronkového nebe).
Asi před rokem jsem Active Perl instaloval doma na win XP a už tam ta ptákovina se sqjelým instalátorem, který je nutno si pořídit k instalačnímu exe nebyla. Ale k win se rozhodně vracet nebudu, to zůstane jen jako spouštěč her.
[77] :)
No, mě instalátor (jeden spustitelný soubor) Active Perlu vždycky zhavaroval a tak mi nezbylo než spustit instalátor, počkat až se objeví hláška o havárii a poté jej z odpovídajícího dočasného adresáře zkopírovat a znovu spustit instalátor. Pak se to na chvíli seklo. Po nějaké době ( cca 1/2 - 1 min ) se rozběhlo kopírování a zbytek instalace.
Časem jsem objevil TCL/TK a úplně mě nadchl, což znamenalo konec mého kamarádčoftu s Perlem ...
[73]
1. ACK
2. Omlouvám se, sjednotil jsem vás a A. S. Pergill.
3. Základ usability: počítače mohou dělat spoustu věcí. Některé lze udělat triviálně, k jiným je třeba velikého úsilí. Jenoduše by měly jít dělat především ty věci, které uživatelé dělají často. Teď k pointě: aplikace uživatelé zpravidla používají k práci, jako nástroje. Proto by měly jít používat co nejlépe. To typicky znamená s GUI. Vaše preference mohou být jiné (podobně jako mimo heterosexuálů existuje dlouhá řada jiných zaměření), ale praxe jasně vypovídá o tom, že se emaily lépe odpovídají v GUI, programy lépe vyvíjejí v GUI, lépe se účtuje v GUI (v horším případě v TUI), lépe se řídí projekty v GUI, lépe se skládá hudba v GUI. Jakkoliv tomu unixoví admini nevěří (především proto, že mají k dispozici mizerná GUI), z GUI se velmi dobře ovládají služby, přidávají uživatelé, velmi dobře se orientuje na disku atd.
4. Otázkou je produktivita. Ta se dá měřit. Zkuste jít psát účto s vi a gcc, a zkuste o ve VB.NET s Visual Studiem. Než napíšete message loop, vývojář ve VB.NET bude mít komplet dialogy, připojení k DB, bude se z IDE hrabat v tabulkách na DB serveru, a v kódu bude daty triviálně plnit gridy. Navíc když se vývojář ve VB přepíše, s daleko vyší pravděpodobností vůbec nezkompiluje, nebo dostane chybu za běhu. V C/C++ přeložíte spoustu nesmyslů (v PERLu pravda s trochou nadsázky provedete i náhodné mlácení do klávesnice, když u toho mlácení občas přidržíte shift), a v případě chyby za běhu velmi pravděpodobně dojde pouze k přepsaní čehosi kdesi v paměti.
5. Jak jsem říkal, Windows jsou na komponentách postavené. Tu úroveň flexibility si unixový programátor asi ani neumí představit.
6. OOo 2.0 je funkcemi někde na úrovni Office 97, jenom je daleo pomalejší.
Proč bych sem nelezl, když nemám rád unixy?
[74] Bezpečnost je dána řadou věcí. Většina současných expoitů ale stojí na problémech jazyka C/C++. Managed code situaci do značné míry řeší.
Dnes potřebujeme hlavně *výrazně* zvýšit spolehlivost. Už jsem na root.cz několikrát psal, že managed jazyky mimo jiné umožňují zaručovat vlastnosti kódu. Například u metody objektu můžete zajistit, aby (bez ohledu na vstupní data) nikdy nezapsal mimo privátní a výstupní proměnné. Můžete zavést invarianty (třeba v předchozí větě popsaný memory invariant), a máte je fakt zaručené. U C/C++ stačí jeden strcpy, jediný přístup do pole, a analýzou už nezjistíte vůbec nic (může dojít k přepsání čehokoliv).
Obecně je možné managed kód modelovat jako stavový automat, a porovnávat ho s návrhem. Samozřejmě vzhledem k množství stavů je nutné to dělat po částech, ale asi je jasné, že i to má zásadní důsledky. Následně je možné v managed jazyku třeba zjistit, zda v daném kódu kdy může dojít k deadlocku. A pokud zjistíte, že k němu dojít nemůže, tak k němu fakt dojít nemůže (ne že na vstup pošlete o 1000 větší integer, a kód zapíše do paměti někam úplně mimo, a vše je v háji). Lze také porovnávat specifikaci (tedy stavový diagram jako reprezentaci designu) s implementací. Na tomhle pracuje mimo jiné skupina FSE (Foundations of Software Engineering). Veřejně dostupnými výsledky této skupiny jsou Spec Explorer, Pex a AsmL. Porovnejte tento přístup se stylem "tak po sobě ten zdroják ještě jednou přečtu", případně "kompiluje to, nepadlo mi to, tak to zkusím vypustit".
Výkon managed code lze zásadně zvýšit tím, že se procesy oddělí výše popsaným způsobem (při kompilaci je ověřeno, že kód nehrabe mimo své stavové proměnné), což minimalizuje overhead context switche.
MS má OS napsaný v C# (pravda, zatím technologie není zralá pro trh). Převádí aplikace ve Windows pod .NET, a nové části platformy píše v .NETu a pro .NET. Odstavil MFC, postupně utlumuje Win32 API, a nové features uvádí jen pro .NET. Když chcete psát aplikaci pro Windows v C++, MS vás vede k C++/CLI (Common Language Infrastructure), kde používáte .NET jako primární API. Proč si myslíte, že to MS dělá? Protože se nějakému managerovi zalíbila písmenka N, E a T, nebo proto, že velmi dobře ví, že tato technologie je (na rozdíl od C/C++) cestou vpřed?
Lidé ze Systems and Networking Research Area (včetně těch z Operating Systems Group, kteří si hrají se Singularity) se dnes snaží přijít na to, co v budoucnu dělat se stroji s tisíci jader/CPU.
No, to bychom měli MS. Jak si stojí komunita? Pracuje už na implementaci prioritizace I/O operací, když už má žurnálový FS? Jakou budoucnost technologie komunita nabízí, a co pro to dělá?
[75] a. Padla tu konkrétní slova o "blábolení o tom, jak jsou win nejlepší" v nápovědě. To prostě je pravda, nebo není pravda.
b. Ve Windows máte nápovědu, která vám na "add user" řekne, jak přidat uživatele. V Linuxu podobné pokusy (uváděl jsem příklady) doparají tristně. Samozřejmě to můžete "vyřešit" tak, že přepnete do konzole, a budete znát příkaz. Ale v GUI také můžete vědět, kde uživatele přidat. Ale co když nevíte? Byla tu spousta řečí o tom, že nápověda Windows je špatná. Nápověda unixů je daleko horší.
c. Bez konkrétních argumentů je to diskuze o tom, jestli jste fialového slova fakt viděl, nebo ne.
d. MS samozřejmě ergonomii velmi řeší. Mimo jiné by nevyprodukoval 3D desktop s nausea effectem (rozvlnění hladiny při kliku myší). Třeba samotné 13 let staré Start Menu s task barem bylo výsledkem dlouhého výzkumu. Samozřejmě to nebylo na téma "jak napsat kaskádové Start Menu a taskbar", ale "jak nejlépe zajistit přistup k programům, a jak běžnému uživateli zažít multitasking". Intefrace většiny open source je prostě spatlaný, jak to autorům přišlo pod ruku. I když v poslední době existují snahy to zlepšit.
e. Nebudu se opakovat, viz [79] 3, 4
Mimochodem jestli vám přijde efektivnější psát GUI v editoru kódu, než v designeru, tak je to řekněme úsměvné. Samozřejmě IDE usnadní i psaní konzolových aplikací.
f. viz e
g. Všiml jsem si, omlouvám se.
h. Někteří lidé mají rádi Norton-style, protože s ním vyrosli. Já vyrostl s Xtree Gold, takže mi Windows Explorer celkem vyhovuje. A pro začátečníky je tree view zcela zásadní k pochopení práce s počítačem.
i. Zřejmě se jedno o tisk přes paralelní port. Prostudujte si, jak LPT port vypadá, a pochopíte, proč se při jeho obsluze počítač cuká (busy looping). V Linuxu máte zřejmě nastavený EPP či ECP port, ve Windows se přebírá nastavení BIOSu. Dnes prodávané tiskárny mají pravidelně USB porty.
[76] Podepsané drivery jsou důležité. Asi totiž nevíte, že drivery jsou primárním důvodem pádu počítače (potvrzeno několika studiemi). Když si koupíte HW s neověřeným driverem, který napsalo prase (driverů jsou desítky tisíc, takže se to snadno může stát), můžete jen nadávat, že vám počítač věčně padá. Certifikované drivery procházejí tvrdým testováním, a podpis dostanou jen pokud projdou.
[77] Takže vy měníte operační systémy kvůli tomu, že k PERLu je nutné stáhnout instalátor? A víte něco o věci zvané Windows Installer (to asi bude ten "superinstalátor")? To je taková lepší obdoba balíčkovacího systému, kterou stsrší verze Windows neměly. Na té stránce vám nejspíš jinými slovy psali něco jako "pro vaše větší pohodlí tu nemáme tarball, ale RPM balíček, k jehož instalaci si musíte stáhnout RPM Installer". Vy jste opravdu zábavný případ.
Nebudu vás radši ani oslovovat, nechci se před ostatními shodit rozsahem jmen, které mě momentálně v souvislosti s vámi napadají.
1) Vaše odpovědi a argumenty jsou absolutně o ničem. Nemá smysl na ně nadále ani reagovat a už to ani dělat nebudu. Píšete o něčem o čem nemáte ani páru, kecáte tu nesmysly, které si přečtu i na stránkách Microsoftu.
Jest-li si vás najali, aby jste jim dělal propagandu, tak mohu jen říct, že to byli zbytečně vyhozené peníze.
2) Nebojte ty příklady určitě seženu. Starám se o počítače docela dost lidí, a příští týden přijdou na řadu jedny XP.
Dám si určitě záležet. Vy jste mě tu na několika místech vlastně nazval lhářem (prý šířím FUDy) a já z vás udělám osla. ( i když podle reakcí jiných čtenářů, je to nošení dříví do lesa ). Tohle totiž nepřenesu přes srdce já.
3) Je mi jasné co si mám myslet o člověku, který se mě ptá co má společného s bezpečností systém, který je nebezpečné i instalovat, nebo prohlásí, že CUPS je lepší spooler, a porovnává Open Office s MS Office 97.
Ale co mě opravdu, zvedlo ze židle byla vaše nehorázná odpověď na mou otázku, proč sem chodíte, když nemáte rád Linux. Nestojíte mi vůbec za to abych se s vámi nadále nějak o něčem bavil, nebo na vaši přítomnost i reagoval.
D.T.Alien
[83] Je váš problém, že nemáte argumenty. Podívejte se, co jste vyplodit v příspvěku [11], a jak jste odpověděl na příspěvek [13], kterým jsem vás upozornil, že jste poněkud vedle. Teď naposledy jste zase předvedl, že ani nechápete význam certifikace driverů a HW, protože vám ten koncept naprosto uniká.
1. Jestli kecám nesmysly, máte možnost na ně konkrétně upozornit. Jestli nemůžete upozornit, protože nemáte potřebné znalosti, tak to není můj problém.
2. Člověče, vždyť vy ze sebe děláte osla opakovaně. Kdybyste se nechoval, jak se chováte, nenechával bych vám to tak sežrat. V [18] zaměňujete bezpečnost za nějaký problém s instalací, nechápete že existuje rozhraní dokumentované a rozhraní interní (neznalost konceptu?), tvrdíte že na Vistě nejde většina aplikací běžících na předchozích verzích Windows (blud), zaměňujete grafický subsystém a CUPS (článek na titulní stránce o WMF/EMF by vám mohl objasnit alespoň velmi hrubý základ), netušíte o čem je prioritizace I/O operací (zato víte, že jí má Linux lepší) atd. Vyjma takovýto zjevných technických kiksů se vaše příspěvky v podstatě omezují na výroky typu "Vaše odpovědi a argumenty jsou absolutně o ničem", "dle mého názoru toho moc o Linuxu nevíte" a "a použijte taky hlavu než něco napíšete". Tím ale mezery v argumentaci nezakryjete.
LO: Jak nastavím na konzoli utf-8 kódování? Jak ve windows opravím chybný boot sektor, když nemám běžící systém, floppy, cdrom, pouze usb? Můžu například nainstalovat Windows na usb klíčenku? Jak zajistím, aby se mi v registrech a ve filesystému nezůstal bordel po odinstalovaných programech? Bude v některých budoucích verzích umět windows přejmenovat jméno účtu tak, aby se změnil název všude? Tedy i název adresáře s uživatelem?
A nebo jak nastavím v GUI minimalizaci aktuálního okna? Jak minimalizuji okno pouze do titulku? Je opravdu nutné, aby Windows Vista děsil uživatele žádostí o administrátorské potvrzení když chci mazat soubor, který má nastaven hidden atribut? (Typické v kolekcích muziky, kde si Explorer, nebo WMP dělá *.db soubory.) Jaké máte rozumné odůvodnění proč systém smaže soubor, který má nastaven atribut pouze pro čtení?
[85] [86] Taco
Vista umí symlinky, ale doporučil bych vám je nepoužívat (bez ohledu na systém), pokud k tomu není dobrý důvod.
Konzole Windows běží v UCS-2. Pro zpětnou kompatibilitu je možné jí používat i s 8-bit znakovými sadami. S UTF-8 nebylo počítáno (ježto Windows jedou UCS-2/UTF-16), ale omezenou podporu UTF-8 lze dosáhnout, pokud máte převodní tabulky mezi UFT-8 a UCS-2, a zároveň nastavíte na konzoli kódovou stránku 65001 (UTF-8).
Z USB klíčenky standardně moc neuděláte, byť lze Windows "napatlat" na klíčenku. Stejně Windows instalujete z CD/DVD, takže mechaniku na počítači asi máte. Když nemáte, použijte externí USB CD/DVD mechaniku.
Windows standardně z klíčenky nelze provozovat, ale "napatlat" se to dá. Otázkou je praktický přínos.
"Bordel" po odinstalovaných aplikacích buď uklidí uninstall, nebo ho můžete smazat ručně. Na unixech vám "bordel" zůstává úplně stejně (konfiguráky, položky v nich, sdílené knihovny nainstalované kvůli dané aplikaci). Opět je otázkou, komu/čemu ten "bordel" vadí.
Název home adresáře uživatele není shodný s názvem jeho účtu. To zjistíte velmi rychle, pokud máte lokálního uživatele Franta, a doménového uživatele Domain\Franta. Přejmenování účtu tedy nemění jméno adresáře. Lze ho změnit v Registry z účtu admina, ale běžně se to nedělá. Jinou možností je přejmenovat adresář na něco dočasného, zrušit profil uživatele, založit ho znovu (bude založen s novým jménem uživatele v názvu adresáře), a poté profil nahradit původním obsahem.
Otázku ohledně minimalizace nechápu. Do titulku minimalizovat standardně nelze (proboha proč?), ale možná najdete rozšíření window manageru, nebo si ho můžete napsat :). A kde má minimalizace do titulku podle autora aplikace smysl (například Winamp), provést jí lze.
Na soubory s atributem hidden uživatel nemá normálně hrabat. UAC lze vypnout.
Nevím, jestli systém smaže soubor, který má nastaven flag read-only. Pokud to tak je, holt to tak autor zamýšlel.