Názor k článku Proč se má vyplatit vývoj pro Linux? od Miloslav Ponkrác - "Pokud vynecháme jednočipy a další jednoúčelová zařízení, použít...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 6. 2008 22:59

    Miloslav Ponkrác
    "Pokud vynecháme jednočipy a další jednoúčelová zařízení, použít nějakou přenositelnou knihovnu vůbec nemusí být pracnější než použít tu nepřenositelnou."

    Nemusí - pokud je přenositelná knihovna dobře napsána tak, aby si programátor nepřipadal, že se nedrbe pravou rukou za levým uchem a tím mu práce trvá déle, než pokud danou knihovnu nepoužije (tento problém má odhadem tak 95% všech knihoven). Dále pokud přenositelná knihovna obsahuje vše co je potřeba, aby to dokázalo pokrýt vše, k čemu by programátor musel sahat přímo na pltfromu (problém v této oblasti má naprostá většina knihoven, bohužel optimistický odhad mé skromné osoby by se pohyboval někde mezi 98-99% knihoven).

    Další problém je licence - řada knihoven má třeba GPL licenci, tudíž je pro komerční programy de facto nepoužitelná, takže nepadají v úvahu.

    Mohl bych uvádět dál a dál - ale lakování na růžovo s tím, že přenositelné knihovny vyřeší všechny problémy lidstva velmi rychle vezmou za své, pokud získáte programátorské zkušenosti v drsném komerčním prostředí, kde je kladem důraz na výsledky, náklady, funkčnost a termíny.

    "Dobrý programátor si je vědom alespoň důsledků své práce. Například jestli jeho kód poběží na 64 bitovém procesoru a podobně."

    K čemuž naprosto nepotřebuje psát přenositelně. Přenositelnost mezi procesory je relativně sranda. Proč? Protože prostě stále jste na stejné platformě operačního systému s celým okolím. Například Windows existují pro 32 i 64 bitů, Linux rovněž, BSD rovněž, atd. atd. Dáte-li si trochu pozor, přenositelnost na 64 bitů není nic složitého.

    "Co je podle vás cílem práce programátora? Zplácaný program, který na WIN98 pojede bez problémů a na WIN2000 si neškrtne? I tohle je totiž otázka přenositelnosti."

    Cílem práce programátora je vyřešit daný problém efektivním způsobem. A cíle jsou velmi různorodé a abstraktně a virtuální bez dalšího upřesnění se nemá smysl bavit. Protože programátorská práce i cíle jsou velmi různorodé.

    "Škoda, že taky někdy neodpovíte na co se vás člověk ptá - třeba ten nepřenositelný program v Javě, nebo ve starších reakcích jak vypadá ten "pravý" namespace, pravidla x volnost v projektu. Rýpat umí každý, z odpovědi na výše uvedené otázky bych si třeba mohl alespoň něco odnést."

    Někdo se na nic neptal - pouze napsal, že takhle je to nejlepší. Namespace je v Javě řešen asi takto - představte si, že jste ve vile o sedmi místnostech. A v pondělí byste mohl být pouze v místnosti první a nikde jinde, v úterý můžete pobývat jen ve druhé místnosti a tak dále. To je zhruba svázanost javovského namespace v Javě. Zatímco v jiných jazycích namespace fungují tak, že můžete pobývat v libovolné místnosti kderýkoli den v týdnu. Javisté pak říkají, že jejich namespace je jediná správná, protože přílišná volnost škodí, a že je škodlivé být ve více, než jedné místnosti jeden den - a že to tak zavádí správný řád. Že je naprosto nepřípustné být ve stejný den část dne v koupelně a pak v obýváku, protože to zavádí chaos. Je to analogie, ale takto se to nějak má vyjádřeno lidským jazykem.