[linux-programlama] Re: ' { '

---------

From: Serdar Koylu (serdarkoylu@fisek.com.tr)
Date: Mon 21 Jul 2003 - 22:22:55 EEST

  • Next message: ATILIM BOY: "[linux-programlama] agent smith nasil cogaliyor ???"

    Selamlar..

    Programcilik ile tasarimcilik ayri ayri kavramlar olarak anlamak gerekiyor once. Delphi vs. tasarimi kolaylastiran diller. Ama siz programcilik dediginizde bir muhendislik disiplininden bahsediyorsunuz. Burada, bolca hesap, matematik analiz kadar soruna matematiksel yaklasimda gerekli.

    C neden insanlar programciligi ogretir (daha kolay ogretebilir) ?

    C ile ogrenmeniz gereken dile mahsus konu sayisi son derece azdir. Toplasaniz 10 - 15 komutla bu is biter. C makineye yakin bir sinifa girmekle, size makinedeki gizemli kapilari acmak yonunde bir firsat sunar. Oysa ust duzey dillerde bilhassa hazir kita komponentler sayesinde ne olup bittigini bilmeniz gerekmez. Basit bir client yazdiginizi dusunun. windows uzerinde winsock, Linux uzerinde BSD socket'lerini bilmek aslinda yeterli olur. Ne SYN/ACK/ESTAB... cevrimi vs. bilmek gerekir, ne de diger bir baska sey. Ama bunlari bilmeden yazacaginiz kodun ne kadar iyi bir client olabilecegini hic akliniza getirebiliyormusunuz ?

    Size bu ucta bir ornek gibi gelebilir. Ama C ile ugrasirken gerek elinizdeki kaynak sayisi, gerekse, bilhassa string denen kavramin olmayisi sizi pek cok seyi ogrenmeye muhtac birakir. Sonucta o size bir anahtar gorevi gorur.

    Bugun pek coklari, Delphi, VB vs. ile bir kac komponent eklemis olmakla, tabiri caizse IDE kullanmayi ogrenmekle programciligi ogrenmeyi birbirine karistiriyor. Diger yandan bu ust duzey dillerin repertuari oyle genis ki sizi asil insani pisirecek olan fonksiyonlardan uzak tutuyor. Oysa C ile hersey size kalmis. Siz bir dosyayi ac dediginiz zaman C sizin adiniza asla bir dialog box cikarip "Permission Denied" yazivermez ekrana.. Sonucta, bir dosyayi acmaya kaltiginizda basarili olup olmadiginizi kontrol etmek sorumlulugunu ogrenirsiniz. Benzeri bir suru ornek verebiliriz.

    Kavramlari karistirmak cok fazla ypilan bir yanlis bu noktada. Ki bunu bende cok fazla yapiyorum. Asil onemli olan konu su ki, her ikimizde birer teze sahibiz. Siz once kolay dillerle bir seyler yapmayi ogrensin. Sonra sil bastan ederiz, C ogretiriz gibi bir yaklasim icindesiniz. Ama guncel uygulamalarin kabiliyetlerini dusununce bu gereksiz bence. Hadi, 1980 li yillarda filan yasariz, SQL, Veritabanlari, Calisma tablolari filan gibi uygulamalar olmaz ortalikta, kabul ederim. Ama bugun bu tur uygulamalari ogrenmek, baslangic duzey programcilik ogrenmekten kat be kat daha kolay ve yapabileceklerinizin siniri cok daha genis.. Benim istedigim, kendine "Programci" diyen insanin gercekten her soruna bir cozum bulabilir olmasi. NTOP'a veya IMAP serverine bakinca, arkada neler donuyor olabilecegini sezebilmesi. Sonucta onune gelen ise, en dogru ve olumlu yonden yaklasabilmesi.

    Java ve Garbage collector.. Javanin en guclu taraflarindan biri. Bunu anlamak icin malloc mekanizmasini anlamak gerekmiyor mu ? Iste, C'de ogreneceginiz malloc mekanizmasi burada da cikacak karsiniza.

    Isim geregi bilhassa Windows uzerinde yazilmis tonla uygulamayla muhatap oluyorum. Bordro'su, hasta takip programi, cafe programi, muhasebe programi vs. Bazilarinin icinde yapilan hatalari gorunce bu kadarina da pes diyorum sonunda. Bunun sonucu olarak, ne yapabiliriz programci yetistirme konusunda diye dusununce, en iyi yolun ise C ile baslamakta oldugunu goruyorum kendimce..

    > kızmaya başladınız :)
    > amacım sizi kızdırmak değil...

    Ne kizayim ki ? Bana dokunan bir konu yok :)) Birileri programcilik ogrenmek istiyorsa, bende yillardan beri programcilik yapan eski bir dinozor olarak onlara yol gostermek istiyorum. Hepsi bu..

    > >Bence programcilik en kolay C ile ogrenilir.
    > Ben sadece bu değerlendirmenizin yanılıyor olduğunuzu belirtmek...belkide
    > ben yanılıyorum :)

    Iyice bir dusunun. Niyetiniz, 3-4 ayda, yarim yamalak tasarim yapabilen ama pek cok seyden bihaber insanlar yetistirmek mi ? Yoksa belki uzun bir sure (bence 18 - 24 ay, duzenli calisma) sonunda, tas gibi isler cikaran, gelecegin Stallman ve/veya cox'larini yetistirmek mi ?

    Universitelerde vs. verdigimiz programlamaya giris seminerlerinde sordugum bir kac soruyu size de sormak isterim.

    Turkiyede 80 kadar universitenin hemen hepsini birer Bilg.Prg. MYO'su var. Bu yilda 80 x 20 = 1600 tane programci yetistirmek anlamina gelir. Bu okullarin mufredatina bakarsaniz, agirligin Delphi/VB ve ASP/HTML uzerinde oldugunu gorursunuz.

    1. Sizce nerede ne is yapiyor bu mezunlar ? Bu soruya verilan cevaplar, Excel ile form dolduruyor ile amelelik yapiyor arasinda geziniyordu. Sizce bu programcilar nerede ?

    2. Bu okullardan mezun olan birisinin, piyasada hangi ucretle ne is yapacagini soyleyebilirmisiniz (Torpil mevzulari mustesna olmak kaydiyla).

    3. Acaba bu okullardaki hocalar mi kotu ? Yoksa ogrenciler mi kotu ? Yada, yanlis her seyin basinda mufredatta mi ?

    Elbette pek cok kritik konu var. Her gun pek cok eleman araniyor ilani gelir. Programcilik yaptirmak isteyenler, programcidan ziyade, muhendis ararlar. Demekki, programcilik mezunlari programcilik yapamiyor. Benim niyetim, programci olanlarin gercekten program yapabiliyor olmasi. Bugun, program yazip satip, sattigi her yerde bir oda uydurup programin basina maasli bir personelini oturtan firmalar taniyorum. Yazdiklari program nerdeyse her 2-3 gunde bir siyirdigi icin balatalari basinda biri olmasi daha ucuza patliyor nitekim.

    Olaya soyle bakin. HTML XML Bilumum W3C standartlari bilmekle FrontPage biliyor olmak arasindaki fark. Ben diyorum ki, gidin bunlari ogrenin, siz gerek yok, kasmayin kendinizi, FrontPage ve DreamWeaver var, onunla ugrasin. Elbette her iki yaklasimin da faydali oldugu insanlar var. Ama is programcilik olunca, programlama gibi eziyetli bir mevzu yerine, Spreadsheet vs. gibi konularda uzmanlasmak cok daha iyi olabilir.

    Dedigim gibi, bana veya bulundugum camiaya sorulursa, ben C ile ugrasin derim. Ama siz yok, Java ogrenin misler gibi diyebilirsiniz.

    > Sanırım yazışmayı bırakmak daha anlamlı olacak...Fikrimi belirttim...Amacım
    > sizi kırmak yada sinirlendirmek değil...

    Ben bu listeyi programcilik ogrenmek isteyenlerin de takip ettigini dusunuyorum. Sanirim bu tartisma onlara da faydali oluyordur. Sizin yaklasiminizi makul gorenler sizin tavsiyelerinize, benimkini makul gorenler benimkine uyar saniyorum. Gidip kimseyi neden C ogrenmektense Python ogreniyorsun diye dovecegimiz filan yok :)))

    Saygi ve sevgiler..


  • Next message: ATILIM BOY: "[linux-programlama] agent smith nasil cogaliyor ???"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.