I když váš dlouhý text čtu po desáté, pořád tak nějak nechápu, co tím vlastně míníte. Takže popořadě: Na jednu stranu se profesionálové dívají z vejšky na všechny, kteří 99,5% kódu opíšou pomocí strejdy googla odjinud (přičemž každý ví, že tahle cesta vede do pekel, protože se pak bezmyšlenkovitě opisuje a nic netvoří) Pozor, je opisování a opisování. Není nic špatného na tom zkopírovat kus kódu, kterému rozumíte, posíváte se, jak funguje, a zaintegrujete ho do své aplikace. To je správné kopírování. Špatné kopírování je takové, když člověk něco najde na Googlu, zkopíruje to do projektu, a pak na fórum napíše dotaz, co mu tam nejede, ze kterého vyplývá, že ani netuší, co je to proměnná. To naštěstí není tento případ. Ale barák taky nestavíš domrtě z vlastního. Koupíš cihly,dřevo, ... No a pak to poskládáš, jak potřebuješ I to je jedna možnost, jak vyvíjet aplikace, a přiznejme si, že provgramátoři v .NETu ji používají hodně. Ono je to efektivní - někdo chytrý vymyslí knihovny tak, aby se daly používat obecně, a ostatní je pak používají k různým účelům. Jen v ojedinělých případech je výhodné a smysluplné si vše psát odznova, většinou to dělají lidé, kteří jsou líní naučit se nějakou knihovnu, případně se snaží napsat si knihovnu vlastní (což se jim ne vždy povede, většinou to skončí tím, že z toho vznikne bastl obsahující jen funkce, které autor potřeboval, a pořádně neotestované). To ale není moc daleko od kréda běžného hackera: "Vymýšlet něco, co už bylo vymyšleno, je blbost." Tak tohle tvrzení nechápu. Hackeři se snaží využít hlouposti uživatelů k vydělání peněz anebo dělají cracky pro aplikace, což jsou hodiny a hodiny hrabání se v assembleru a následné změny pár bajtíků. Mimochodem vymýšlet něco, co už bylo vymyšleno, je opravdu blbost, ať už to říká kdokoliv. Líbí se mi, jak se pak oficiální programátorská scéna rozčiluje na Tučňáky a příznivce OpenSource. Co je to oficiální programátorská scéna? Já třeba tučňáky rozčiluju a open source moc nemusím, což ale vůbec neznamená, že je to obecný světonázor (ono je to spíš opačně - open source je přece to dobro a světový mír, díky kterému se budeme mít všichni dobře, protože nebudeme už podporovat tu zlou moci a penězchtivou organizaci; prostě všechno bude všech). Kdyby takhle přemýšleli staří programátoři, asi bychom tu dnes neměli If Array.IndexOf ... nebo strlen a spol. Vy děláte, jako kdyby ti mladí programátoři žádné knihovny nepsali a jenom používali to, co napsali ti staří (to je šílená demagogie, když se nad tím zamyslíte). Copak dneska nevznikají nové knihovny? Copak mladý člověk nemůže napsat svou vlastní knihovnu? To je výsada starých? Ten kluk by měl dostat metál, že svý poznání obohatil o svůj kód. A když mu to funguje a jinde nedělá bordel, tak je to jedině ok. To, že někdo umí For cyklus a podmínku (jakože tazatel je umí) a správně je použije, to opravdu není na metál. To je naprosto základní znalost. Už v předchozím příspěvku jsem napsal, že je dobré si to ze začátku zkusit napsat ručně, aby se člověk procvičil, ale neustálým opakováním konstrukcí If a For se právě naopak tazatel už nikam dál neposune, bude jen opakovat to, co už umí. Vymyslet 3 řádky kódu není opravdu nějaká zázračná programátorská schopnost, to je nutnost od úplného začátku. Ten, kdo tohle neumí, nemůže programovat. V tomto kontextu chápu céčkaře a ještě víc machry v JSA. O těch, co dělají v LISPu ani nemluvě. Oni céčkaři nepoužívají knihovny? Jo, maximálně když píšou pro nějaká malá embedded zařízení nebo ovladače do jádra, jinak se knihovny normálně používají. A neznám nikoho, kdo by psal něco užitečného v LISPu, tohle jsou jazyky spíš pro akademické a výukové účely než pro praktické programování (netvrdím, že se v nich nedá napsat normální aplikace, ale obecně se používají naprosto minimálně). Na závěr bych ještě zdůraznil, že předchozí příspěvek jsem napsal tak, jak jsem ho napsal, proto, že tazateli někdo poradil funkce IndexOf, Find a FindAll, které tady na pár místech na webu již máme popsané, ale tazatel byl líný si o nich něco zjistit a vymyslel si své řešení. Opakuji ještě jednou - pro naučení se je to velmi dobré, pro praktické použití na stopadesáti místech v aplikaci je vlastní řešení For cyklem a podmínkou nesmysl, když na to existuje knihovní funkce. Dobrý programátor se pozná podle toho, že zná knihovny, zná jazyk a sám nepíše věci, které už základní knihovny obsahují. Jsou výjimky a speciální případy, kdy to má smysl, ale sem nepatří tento případ.
|