From: Recai Oktas (roktas@omu.edu.tr)
Date: Mon 21 Jul 2003 - 20:00:00 EEST
* Ismet Sonmez <isonmez@bsy.com.tr> [2003-07-21 18:53:30+0300]
> [...] Her algoritma her dilde ayn=FD y=F6ntemle yaz=FDlmayaca=F0=FD i=E7in
> dile =F6zel y=F6ntemler =F6=F0retilir.Ama sonu=E7 ayn=FDd=FDr.
>=20
> Algoritma t=FCm programlama dillerinde ayn=FDd=FDr.Sadece komutlar=FD
> farkl=FDd=FDr.C programc=FDs=FDda pascal programc=FDs=FDda ayn=FD algorit=
may=FD
> d=FC=FE=FCn=FCrler fakat bunu koda d=F6kt=FCkleri zaman farkl=FD komutlar
> kullan=FDrlar.
>=20
> Yani farkl=FD dil kullanan insanlar=FDn KIT ufuklara sahip olmas=FD onun
> kulland=FD=F0=FD dilden de=F0il kendi zekas=FDndand=FDr.
Dil ile o dili cevreleyen kultur ve gelenekleri birbirinden
yalitamazsiniz. Bir problemi ele alis seklinizi de bu gelenek disinda
tutamazsiniz. `C' icat edildigi gun itibar=FDyla bu gelenegi ortaya
koymustur (bkz. `The C Programming Language'). Fakat `C'den de ote bu
soyledigim konunun en carpici ornekleri Perl ve Lisp'dir.
Amacimiz bir dili degerlendirmek degil fakat merami ifade icin ornek
kullanmam gerekiyor. `Python'i ele alin mesela. `Perl' kulturunde
yetismis bir gelistiriciye bu dil cok fazlasiyla `verbose' gelecektir.
Hele hele `regexp' desteginin bir kitaplikla saglanmasi, dilin
cekirdeginde olmamasi affedilmez bir aciktir onun icin ;-) Ote yandan
hic kimse `Perl'in en iyi dil oldugunu da iddia edemez. Fakat CPAN'iyla
`perlmonkers'lariyla vesaire bu dil; tarzini, slang'ini, gelenegini
olusturmustur.
Peki bu gelenek konusuyla `KIT ufuk' konusunu nasil baglayabiliriz? Ben
Serdar Bey'in musaadesiyle bu lafi biraz daha alengirli fakat daha dogru
bir terimle ifade edeyim: `dusunme patern'i. Belirli bir yazilim
sorununu cozerken programci cesitli metaforlarla bu ise baslar ve
gelenegin kendisine sundugu arac kutusuna da siklikla basvurarak cozumu
kodlar. `Dusunme patern'i lafi butun bu sureci kapsiyor.
Gelenegin icinde bu mesajin icerigini asan cok sey var: `gdb' ile hata
takip etmek, `tags' ile kodu incelemek, `diff' ile patch uretmek, `cvs'
ile kod bakimini yurutmek, GNU veya Berkeley make + betiklerle tekrarli
isleri hal yoluna sokmak, `docbook' veya daha iptidai olarak
`troff/texinfo' vb ile dokumantasyonu ihmal etmemek, kodu herseyden once
tutarli ve tercihen gelenege uygun sekilde yazmak, cumle bitislerinde
cift bosluk kullanmak ve fakat `emacsen' degilseniz en azindan mutlaka
bir bosluk kullanmak :-) vesaire... Gelenek demek detay demektir.
Java, Delphi konularina gelince. (Turkiye'de ornegini bugune kadar pek
gormemis olsam dahi) suphesiz bu dillerin de kendine has kulturleri var.
Onemli fark su ki `Perl, Lisp, Python, Linux, BSD ...' gibi alt
kulturleri iceren `ozgur yazilim' ust platformunda bu diller zengin bir
alt kultur olusturacak kadar ragbet gormemistir diye dusunuyorum.
(Listede `C' yok, cunku o belki de en ortak payda) Bu sadece bir vakia,
yani dillerin kendisine iliskin bir elestiri yapmiyorum veya bu dillerin
ait oldugu ust kulturun ne oldugu konusuna da girmiyorum. Anlatmaya
calistigim hususlar acisindan bunun bir onemi yok cunku.
Saygi ve sevgilerimle,
-- roktas