[linux-programlama] Re: Hangi gui aracı kullanılmalı?

---------

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Thu 04 Dec 2003 - 10:28:35 EST

  • Next message: ougur@infotech.com.tr: "[linux-programlama] Re: Hangi gui aracı kullanılmalı?"

    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 rahatca
    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 hizinin
    diger sektorlerde de yasandigi seklindedir. O musteri size ilk
    geldiginde ihtiyaclari neydiyse, su anda aynisi. Sizin bu noktada onlari
    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 modulun
    sundugu modelin disina cikmaz. Basitce orneklersek, bugunku kasa
    tutarini hesaplarken:

    int kasatutari(date tarih)
    {
    . db = dbconnect(SQLSERVER, USER, VS.);
    . q = db.executeSQL("SELECT .... WHERE TARIH=" + tarih +";");
    . write("Toplam =", q.field("TOPLAM").value);
    }

    seklinde bir yapi kullanmaz asla. Ne yapar, mesela once bir DB Arabirimi
    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 toplayip
    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.
    >


  • Next message: ougur@infotech.com.tr: "[linux-programlama] Re: Hangi gui aracı kullanılmalı?"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.