Pa na neki nacin o tome govorim :) uzmi u obzir dve mogucnosti:
1. Niska apstrakcija (u tom slucaju moras da raspolazes sa znanjem koji nije maciji kasalj, za takvo programiranje ti pre svega treba solidno matematicko znanje, moras da znas citav niz teorija kao sto su recimo formalni jezici, konacni automati, izuzetno detaljno poznavanje strukture podataka i kako se oni zapravu implementiraju na niskom nivou, kako ces da parsiras stablo ako nemas pojma o pointer aritmetici? Moras da imas prilicno siroko znanje da bi uopste seo i napisao najsugaviji program koji je samo malo kompleksniji od "Hello World". I kako ces to predati onima koje to prvo ne interesuje, drugo hoce nesto sad i odmah (kupuju knjige tipa "Learn C++ in 24 hours"), a trece vecina njih nisu ni u stanju da isprate sve to a jos manje da shvate na bilo kom nivou.
Sa druge strane, obrati paznju ono sto sad ovde malo pricamo u vezi templates i gramatike jezika, to su stvari u kojima sam pre 10-ak godina bio dosta duboko... i sad znam u nacelu sta govoris ali moram priznati da bih morao da ponovim materiju da bih uhvatio detalje - pre 10 godina sam pisao kompajler, sad da mi zivot zavisi od toga ne bih mogao da napisem bez nekoliko dana ponovnog ucenja i ponavljanja bukvalno sa zero productivity, kako kazu boot time bi mi bio gori nego Windows-ov :). Covek ako nesto zna a ne koristi jednostavno mu izlazi iz produktivnog domena, nemoguce je sve to drzati u glavi a jako je tesko imati karijeru u kome ces skupiti dovoljno iskustva sa svim stvarima... uglavnom ces neke stvari znati samo u teoriji i veoma tanko u praksi a neke stvari ces vremenom polako zaboraviti.
2. Visoka apstrakcija gde sve to sto sam naveo nije neophodno (bolje je ako se zna ali nije neophodno). Lakse je nauciti nekoga da pozove qsort() - mada ni to nije uvek jednostavno zbog function pointera :) nego nekoga obuciti da napise qsort(). Lakse je nekoga obuciti da uz pomoc System.Xml klasa parsira XML fajl nego da pise parser za tekstualni ili binarni fajl.
Znaci ukratko sve je ovo povezano i to na razlicitim nivoima, nema univerzalnog resenja a pogotovo nema resenja na jednom mestu. Uvodjenjem vece apstrakcije necemo automatski dobiti rezultate jer i za to treba obuciti ljude, ali cinjenica je da je takva obuka i laksa i brza i jeftinija odnosno dostupnija sirem krugu ljudi i sa tacke provajdera i sa tacke risivera :) da koristim opet engleske izraze.
Potpis
&&y