Bohužel termín "generické programování" je v dnešní době poněkud zamlžen, zejména se smíchal s parametrizací typy (tj. šablonami). Proto budu raději používat "generické programování dle A. S.", tj. tak ja ho definuje A. Stepanov. A "generické programování dle A. S." == STL. A to je to, co já vyznávám.
Tohle je naprostá blbost. Lehká interpretace zní: Protože neumím genericky programovat, raději používám STL dle A.S., což mi zaručuje (jakýsi certifikat), že genericky programuji.
Jenomže generické programování v původním slova smyslu nemá s šablonama nic společného (resp. je jenom používá pro implementaci), je to způsob návrhu programu založený na maximální možné abstrakci algoritmů, do značné míry antagonický k objektové analýze a návrhu. Z toho plyne tvůj pocit, že je STL špatně navrženo. Ve skutečnosti je STL výborně navržená věc, ale vycházející z principů, které tobě zjevně nevyhovují (to je v pořádku, mě zase nevyhovuje třeba funkcionální programování).
Lehká interpretace: Říkáš, že se pletu, že tomu vlastně nerozumím, protože si myslím, že generické programování jsou templaty. A vyzdvyhuješ STL, kterému taky vlastně nerozumíš, ale jakýsi mesiáš A.S. ti řekl, ře to je generické programování. Následně templaty přirovnáš k funkcionálnímu programování. he?... |