From: ougur@infotech.com.tr
Date: Thu 04 Dec 2003 - 11:10:58 EST
beni dinlemiyorsunuz bile.
ben genellemeler yapiyorum,
buyuk projelerin yonetimsel
sorunlardan bahsediyorum, israrla
benim programciligima geliyor olay.
isi kisisellestirmeyin.
size belli bir saygim var,
ama bilip bilmeden konusmayin.
kulvarlarimiz farkli, ben sizin isinizi
sizde benim isimi yapamazsiniz.
size c de kolay gelsin.
Ozgur Ugur
=
=
=20
Serdar K=D6YL=DC =
=
=20
<serdarkoylu@fisek.com.tr> To: li=
nux-programlama@liste.linux.org.tr =
=20
Sent by: cc: =
=
=20
linux-programlama-bounce@liste.li Subject: =
[linux-programlama] Re: Hangi gui arac=FD kullan=FDlmal=FD? =
=20
nux.org.tr =
=
=20
=
=
=20
=
=
=20
04.12.2003 17:28 =
=
=20
Please respond to =
=
=20
linux-programlama =
=
=20
=
=
=20
=
=
=20
Selamlar..
Simdi gene C veya Java hatta Delphi kavgasi cikarmak istemiyorum.
Yanlis bilinen sey sudur. Pek coklari programcilik denen seyi
tam kavramadan programciyim diyerek ise sarilir. Daha kotusu bu meslek
cok yeni bir meslek ve henuz oturmus halde degil. Hal boyleyken
kaynakvs. de bulmak cok zor oluyor.
Simdi ben diyorumki, programciliga yeni basliyorsaniz veya gelistirmek
istiyorsaniz C ogrenin, C kullanin.
Ama program yapacaksaniz, ki bu artik tam bir programci oldugunuz
onkabulunu gerektirir, o zaman, o isi yapmaya en uygun olan dili rahatc=
a
secer kullanirsiniz. BU C'De olabilir, Java'da, Delphi'de..
Java ornegin, otomatik garbage collector ozelligi sunar. Ama buna neden=
ihtiyac oldugunu, cop verilerin nasil basa bela oldugunu anlayamayan
Java kullanicisi, bu ozelligi bilmeden istismar ediverir. Bunu
yaptiginin farkinda bile degildir. Oysa C ile ugrasmis birisi, cop
verilerin yaratilmamasi icin ugrasir, ayni sekilde verilerine sahip
olmanin ciddiyetiyle davranir.
Sizi hakir gormek noktasinda soylemiyorum. Ama gercekten iyi bir
programci olsaydiniz, bu sorunlari vs. en basinda gorur, cozerdiniz.
Ben iyi bir programciyim demek istemiyorum, ama 1993 yilinda yazilmis,
isci ve memur bordrosu programlari, ki her iki ayda bir formul
degisikligi gerekir, hala kullanilabiliyor.
Esneklik, genisleyebilirlik, modulerlik filan genelde pazarlama da
kullanilan sloganlardan ibaret kaliyor maalesef. Halbuki iyi bir
programci isini bu kaidelere uygun yapmali. O zaman iste musterinin
sonradan surdugu argumanlari kolayca asabilirsiniz.
Programcilik temelde analiz demektir. Maalesef biz coderlikle
programciligi karistiriyoruz. Coder, onune hazir analiz edilerek
getirilmis olan problemi koda cevirir.
Psikolojik yanilgi, bilgisayar sektorundeki basdondurucu degisim hizini=
n
diger sektorlerde de yasandigi seklindedir. O musteri size ilk
geldiginde ihtiyaclari neydiyse, su anda aynisi. Sizin bu noktada onlar=
i
da en basindan gormeniz gerekirdi.
C'nin bir guzel yanida sudur. Kod yuku fazla oldugu icin temel
yapitaslarini idrak ederek tekrarlayan kod yazmaktan korunmayi ogretir.=
Bu genelde Java vs. kullanicilari tarafindan es gecilir. Sonucta
programin flat bir modelde olmasi sorunu ortaya cikar. Oysa, C
kullanicisi I/O islevlerinden hesaplama islevlerini ayirmak gerektigini=
kisa surede farkeder. Yani kodunu katmanlar halinde yazar. Diyelim ki
veritabani erisimi icin komple bir modul olusturur once. Asla bu modulu=
n
sundugu modelin disina cikmaz. Basitce orneklersek, bugunku kasa
tutarini hesaplarken:
int kasatutari(date tarih)
{
. db =3D dbconnect(SQLSERVER, USER, VS.);
. q =3D db.executeSQL("SELECT .... WHERE TARIH=3D" + tarih +";");
. write("Toplam =3D", q.field("TOPLAM").value);
}
seklinde bir yapi kullanmaz asla. Ne yapar, mesela once bir DB Arabirim=
i
yazar. Sonra bunun uzerine kendi programina yonelik olarak gereken
sorgulamalari vs. yuruten bir API koyar. Bu API sonucu bulur. Bunu
yazdirirken de asla printf(); echo vs. kullanmaz, kendi giris cikis
islevini kullanir.
Ornegin raporlarda, hic bir zaman kod ile rapor uretmemek gerektigini
bilir. Bir rapor motoru yapmali, bu motor ile rapor bilgilerini toplayi=
p
bir format olusturucu ile dilediginiz formata gore cikti vermelisiniz.
Diledigi zaman kullanici kendi raporunu ekleyebilmeli, mevcut raporlari=
diledigi gibi duzenleyebilmelidir.
Bunlari hemen herkes biliyordur sanirim. Ama herkes hasta olur delphi
veya VB'ye. Koyuyorsun bir grid, birde ADODB. Bagliyorsun birbirne ve
bitti, oldu sana rapor. Ya sonuc ? O program kac gun dayaniyor ? ekleme=
,
duzeltmeler vs. nasil ugrastiriyor ? Hatta sunu yapar coklari,
form dizayn eder, form icine gridi koyar, eliyle teketek hepsinin satir=
basliklarini, genisliklerini filan ayarlar. Oysa, yapilmasi gereken,
runtime olarak formun ayarlanmasidir. Yani, sutunlar vs. hepsi runtime
olusturulmali, basliklar filan program tarafindan oraya
yerlestirilmelidir. Neye bakarak ? Veritabani modulune mesela, bu ne
demektir ? Siz veritabanina bir field ekleyip cikardiginizda, sistemin
tamami bundan haberdar olur, gidip birde bilmem ne raporundaki gridi vs=
.
duzeltmeniz gerekmez. Bilmem anlasilabiliyor mu ?
C insana bu tur dusunmenin anahtarini verir. Ama bugun cogu proje icin =
C
hamalliktir. Ben kendi adima C ile muhasebe programi yazmayi hamallik
olarak gorurum. Ama en guzeli sunu yaparim. Gercekten kritik olan
noktalara C'yi koyarim. Diger taraflarda da hangisi uygunsa oluyorsa,
bana en kisa surede en saglam is cikartacaksa onu..
Saygi ve sevgiler..
On Thu, 4 Dec 2003 16:22:56 +0200
ougur@infotech.com.tr wrote:
>
> not: azcik(?) c biliyorum ama yaptigim isleri c ile
> yapmayi pek gozum kesmiyor bu gorunumden
> sonra.
>
=