Ja bych programatory rozdelil do 3 kategorii, na matematiky, fyziky a inzenyry.
Matematici pisi program a jejich hlavni pozadavek je, aby byl elegantni a cisty. Casto jde o profesory nebo studenty CS.
Fyzici pisi program a zajima je reseni noveho problemu, nikoli zapis programu. Casto jde o "hackery", v puvodnim vyznamu toho slova.
Inzenyri pisi program a potrebuji svuj problem, k nemuz je reseni v obecne podobe znamo, vyresit co nejdriv. Casto to jsou komercni programatori.
Podle toho i programovaci jazyky se deli do 3 kategorii. Matematici-programatori maji radi Haskell, Scheme, Joy, APL a podobne; pri vyberu jazyka je jejich hlavnim kriteriem elegance a cistota specifikace. Fyzici-programatori maji radi Common Lisp, Forth, Perl; pri vyberu jazyku je jejich hlavnim kriteriem dostatek moznosti se v tom jazyce realizovat, jeho expresivita, i na ukor elegance. A konecne inzenyri-programatori maji radi C++, Javu, C#, Fortran; ani ne tak proto, ze by slo o nejak elegantni jazyky, ale protoze pro ne existuje mnozstvi knihoven a nastroju, ktere mohou okamzite pouzit.
Nezminil jsem C a Python, protoze ty stoji tak nejak v tabore jak fyzikalnim (jsou dost expresivni), tak inzenyrskem (maji spoustu knihoven).