No, budete se divit, ale zrovna před pár týdny mi volali z firmy, které jsem napsal před 17i lety menší fakturační a výpočtovej program, že by tam potřebovali pár úprav. Když dneska to GUI nebo vlastní kód vidím, tak bych se skoro styděl, ale jak vidno, pořád slouží ke spokojenosti uživatelů :) A proč to pořád funguje? Protože M$ alespoň částečně drží zpětnou kompatibilitu a přinejhorším pomůže Virtual PC.
Tak dlouhá reakce na vtip... Ale chápu, sebeabsurdnější tvrzení dnes může být myšleno vážně a kdo to má poznat.
Když už tedy vážně, tak v tvrzení "Vždyť zmetky ani nejsou levnější" se skrývá jeden "drobný" háček, ony nejsou levnější, pokud umíte vytvářet i nezmetky. A to je právě ten základní nesamozřejmý předpoklad.
Ono se dokonce vyrobit zmetek může dost prodražit, tedy už jsem aspoň viděl takové chyby, u nichž mi přišlo, že vytvořit je vyžadovalo netriviální extra úsilí oproti tomu napsat to normálně/logicky.
Sice nemůžu vyloučit, že si dotyční teorii o potřebě kurvítek osvojili a začali ji aplikovat, ale pravděpodobnější je, že nějaký student dostal zadání, které byl sice schopen pochopit, ale už ne tak úplně vyřešit, "naštěstí" hodný strýček Google poskytl hotové kusy kódu, které dělaly více méně to, co se požadovalo.
No a přichází pointa, najít a zkopírovat sto řádek obskurního kódu už může být levnější než napsat deset vlastních.
My jsme se nedávno s kolegy shodli, že by se do software měla dávat kurvítka. Aby to alespoň jednou za rok spadlo na hubu a vyžadovalo ruční zásah. Už nás nebaví, když najednou přestanou tiskárny na logistice tisknout loga a my zjišťujeme, že v roce 2004 někdo naprogramoval nějaký program, co se chová jako LPD služba a do tiskových úloh ta loga přidával. Kdo si to má po těch letech pamatovat? A jak vůbec zjistit, jak to funguje? Tak jsme to opravili v moderním duchu a je to fajn. Sice nám ten tisk teďka přetěžuje internetové připojení (ono 50KB bitmapa v každém štítku generovaném na ERP serveru v Amsterdamu už se při tisíci štítcích za hodinu docela pozná), ale máme z toho mnohem lepší pocit.
Ale dost ironie. Prostě se snažím říci, že dodnes používáme in house made programy, kterým je 10+ let. Ten kód nikdy nebyla perla, některé kousky jsou docela nečitelné hacky. Ale fungovaly tehdy a fungují i dnes. Je to o stylu práce, o přístupu ke kvalitě. Zákazník možná chce něco, na co sám zítra zapomene. Ale ode mne dostane něco, co i zítra bude fungovat. I pozítří. Neznám žádný objektivní důvod, proč by měl dostat zmetek. Vždyť zmetky ani nejsou levnější, takže ani na peníze se to svést nedá.
PS: To frikulínské řešení s tiskem štítků jako bitmapou jsme vypli. A kolega byl proškolen, jak upravit Makefile tak, aby se ten LPD server zkompiloval na 64bit a mohl tak sloužit dalších 10 let.
Berte to tak, že se konzumerismus dostal už i do programování, zákazník chce dnes něco, na co sám zítra zapomene, tak mu to dnes splácám a on mi to dnes zaplatí. Proč bych si na to měl zítra vzpomenout? Nejde o dobře zakamuflovanou versus dobře vykonanou práci, jde primárně o práci dobře zaplacenou.
A za dvacet let? To už ani nebude existovat zařízení, na kterém by se ten můj kód (ať už perla či zmetek) dal vůbec spustit (pomineme-li nějaký fanouškovský emulátor).