Vtip je v tom, že ty mašiny neznají "skoro" a "téměř". Znají jen "jo" a nebo "ne".
Takže zadání typu todle se "skoro nestává" znamená že se to stává a je pak hrozného divení se proč se tím má kdo zaobírat a anylyzovat to. Počítači je prakticky (ano optimalizace atp.) jedno jak často nějaká situace nastane. Pokud ji má umět zpracovat, tak to prostě musí vymyslet/udělat.
Tadle zdánlivě jednoduchá věc činí mnoha řídícím pracovníkům a vizionářům zatěžko ji pochopit.
Co programy umějí je dáno tím co je v zadání. Mnohdy to vymýšlí programátor (one man show projekty), spíše nějaký zadavatel. A zde opět platí počítačové pravidlo: co si kdo zadá, to dostane. Sra**y na vstupu, sra**y na výstuopu.
Nápad "vzdělávat programátory" je stejně skvělý, jako když by jste tvrdili, že když vzděláte dlaždičkáře, budete mít hezčí koupelnu. Místo aby jste si zaplatili pořádnýho architekta/projektanta, kdy se tím nehodláte zaobírat osobně a chcete po někom aby to za vás vymyslel.
Nemuzou ... prectete si to znova. Nejde neco "skoro" naprogramovat nebo "obcas" ... nebo jakkoli jinak neurcite. SW bud nejakou funcionalitu ma nebo nema.
Muzu z vlastni zkusenosti uvest ... rekneme takova trivialni vec jako vydej zbozi zakaznikovi ...jednoducha akce, to prece kazdy vi, ze jednoduse na zaklade nejaky akce trebas skladnika se zbozi odepise ze zkladu, trivka...
A pak to prijde ... on nekdy zakaznik zaplati, a nez dojde do skladu, tak si to rozmysli. Nekdy si to rozmysli jen z casti ... pripadne trebas i dojde do toho skladu ... dostane to zbozi, a to se mu nelibi ale taky do toho skladu nemusi vubec dotazit ... a dokonce se ani nevrati na prodejnu ... nebo si zbozi i vyzvedne ... ale rozlezi se mu to v hlave nez dojde k autu ... nebo se ve skladu zjisti, ze zbozi je nejak poskozeno ...
Samo, moh bych pokracovat dalsima 150ti variantama co vsechno muze pri vydeji zbozi nastat ... a software stim vsim musi nejak pocitat a musi umet tu situaci resit.
S tím rozhodně souhlasím.
Lidem vadí na programech mimo jiné tyto dvě věci:
1) U nich něco nefunguje. Tedy v návrhu a implementaci byla pominuta nějaká situace, která byla považována za nepravděpodobnou - ale přesto se občas stane.
A to je samozřejmě chyba a špatně.
2)Někdo udělal analýzu i implementaci důkladně, takže program je připraven na nečekané situace jak z hlediska vstupních dat, tak i z hlediska uživatelova HW/SW - takže vývoj trval hodně dlouho a byl drahý.
A to je samozřejmě chyba a špatně.