Dobrý programátor je lepič kódu. Práca kvalitného vývojára je založená na kooperácii a deľbe práce. nebude znovu onbjavovať koleso keď ho už objavil niekto pred ním a vyladil ho k dokonalosti, dobrý programátor sa sústredí len na riešenie problému. Väčšinu času venuje štúdiu, knižníc, frameworkov a návrhových vzorov. Je lacný rýchly a efektívny.
a uvedomujes si, ze podle tve logiky autori tech knihoven, frameworku a navrhovych vzoru jsou prave ti spatni programatori? :-]]
To právě záleží na situaci. Pokud už adekvátní knihovna existuje, je psaní nové (uděláme si to po svém, ať to stojí, co to stojí) holý nesmysl. Pokud adekvátní knihovna neexistuje, ale existuje přijatelný základ, je nejlepší udělat další abstrakci. Až jako poslední instanci beru vytvoření celé nové knihovny od začátku do konce.
U jazyků to vidím podobně. Pokud je majoritní jazyk (třeba Java) použitelný a máme k dispozici vyspělou platformu a lidi, kteří jazyk ovládají, zůstaňme u ní. Pokud si můžeme zvolit jiný jazyk nad dobrou platformou a je to oprávněné (velikost projektu, schopní vývojáři, zkušenosti s novým jazykem), použijme ten jiný jazyk. Pokud máme velký existující projekt v Lispu, nebudeme ho přepisovat do jiného jazyka, ale rozšíříme Lisp podle potřeby o nové konstrukce pomocí maker. Ale pokud ta makra mají pouze vytvářet konstrukce, které novější jazyky dávno mají, nevidím moc důvodů pro nový projekt nepoužít jiný jazyk.
Dosud jsme se bavili vesměs na teoretické rovině. Jediné dva praktické příklady, které jsem tu viděl, bylo opožděné vyhodnocení výrazu (uzávěr s pamětí - protiargumentoval jsem lambdou s dekorátorem), uzamykání vstupu do funkce (protiargument opět dekorátor) a viděl jsem dva odkazy (simulace LINQ pomocí Lispu a parsování binárních souborů). Podle mě vesměs nic, co by nešlo v jiných jazycích udělat také za srovnatelných obtíží. Věřím například, že ta lispovská řešení s makry budou po překladu pomocí SBCL/rychlého Scheme kompilátoru rychlejší než třeba Python (u Scaly nebo haskellovské monády už bych byl k tomu zrychlení skeptičtější). Ale pouze v kontextu většího projektu by se vidělo, jak velká je skutečně výhoda použití maker (obdoba Amdahlova zákona).