49
« : 04.11.2011 13:53:11 »
ben de c++'a bir turlu isinamadim. ms'teyken tamamen c++'ta yazdigim projeler de oldu. belki oradaki nahos tecrubemin de etkisi vardir. genel olarak hata yapmasi cok kolay ve o hatayi ayiklamasi zor bir dil. bir seyi yapmanin 50 yolu olmasi ve bu yollarin genelde birbiriyle pek uyumlu olmamasi (CString, std::string, char* vs) ayrica problem. c'de de durum cok farkli degil (open, fopen, _open vs) ama ebat olarak daha kucuk oldugundan ayni hataya dusme ihtimalin daha az.
linus'un argumanlarinda dikkate alinmasi gereken iki nokta var:
- "c++'in cektirdigi acilar". e bu dogru? compiler hatalarinin anlasilmazligi, name mangling'in yarattigi tamamen karmasik isimler, delete[] ile delete vs. tuzaklarla dolu bir dil.
- "abstraction oyuncaklari uzun vadede geri alinamaz yuke donusurler". linus'un siyah gordugu noktanin beyaz oldugu gibi gri taraflari da mevcut. ama bir gercek ki gelistirmede ilerleken kendi mezarini derinlestirmediginden surekli emin olman lazim. object-oriented cayirlarinda nese icinde kosarken evin yolunu bulamayacak kadar uzaklasmis olabiliyorsun. bu tabi ki c++'a degil oop her dile uyarlanabilecek bir konu.
bunun otesinde tahmin ediyorum ki linus kendine c++ ile yapabilecegi her seyi rahatca yapabildigi bir framework ve know-how birikimi yaratmistir. o yuzden verimlilik hakkinda kendisi acisindan hakli olabilir.
ayni thread'de enteresan argumanlar da sozkonusu bir tanesi var ki skate'i de destekliyor: hidden complexity. yazdigin kodun neye derleyecegini kestirmen c'ye kiyasla bir hayli guc. ozellikle stl kullanirken.