RE: [Linux-programlama] java hakkında

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Mon 06 Dec 2004 - 12:42:05 EET


Selamlar..

> Ben elle dugme yaparim, acarim notepad'de yazarim, assembly'ye en hizli calistiririm, oturur harware yaparim demek o kisinin programlama bildigini degil, hala aklinin 70'lerde kaldigini, kendini tatmin etmekten baska bir ise yaramadigini gosterir.
> En iyi program pythonla yazilan, veya bios interruplari kullanarak yapilmis program degildir. En iyi program ihtiyaclari karsilayan, sorunsuz calisan programdir. Program amac degil aractir. Programcilik ta oyle. Hedefin neyse onu karsilayacak en uygun araci, en hizli gelistirecegin ortami secersin. Oyle en asi takilan low level coder'a "Ulan rampalarin ustasisin, linux'un kralisin" dersek, halimiz yaman.

Low-level takılmakla bunun ne ilgisi olaki ? Kimsenin ne assembleri,
gidin dogrudan opcode'lar ile yazın dediği filan yok. Ama hep bunu
anlıyorsunuz. Kızmıyorum, çünkü bu yıllardan beri başımda bir sorundur.

Bir düğmenin artında yatanlar, gerçekten bilimesi gereken şeylerdir.
Bunları bilmek gerekir. Ama bizim ülkemizde bilmek farklı bir olgu.
Bilmek denince sanki oradaki tüm çevrim, sabitler, yöntemler vs.
makineli tüfek gibi takır takır saymak olarak anlaşılıyor.

Öncelikle konu bilmek kavramıdır. Burada button için örenğin şunları
bilmek önemlidir: AREA, EVENT, BITMAP, COLOR, COLORMAPPING vs. Ama
fareye basılınca düğmeye (yada pencereye) bir event gelir, bu eventin
kodu şudur. Yanında X pos, Y Pos, farenin Z tuşu bilgisi bulunur vs. vs.
İşte bilmek gereken mekanizma budur. Burada EVENT'in bilmem X11 veya
xt/xlib içinde bilmem hangi constant olduğunu ezbere söylemek değildir.
Bilen adam demek, lazım olunca bilgiyi nerede bulacağını bilen adam
demektir. Kaldı ki, herşeyi bilmek pek ihtimal dahilinde değildir.

Maalesef, bilgiyi nerede bulacağını bilmek denince çokları "tamam,
google, evreka.. Dahi oldum millet.." tribine girmektedir. Önemli olan
neyi arayacağını, nasıl arayacağını bilmektir. Bu da ilgili konuyu
anlamış olmayı gerektirir.

> java swing kendi grafik library'sini kullanir. SWT gtk kullanir. Bakin bakalim bildiginiz gtk'mi, veya yazdiginiz herhangi baska bir dile benziyor mu?
>
> Programlama zor zenaattir, once ateste pismen, ardindan nirvanaya ulasman, bu uzun meskatli yolda kendini koruman, kendi text editorunle oturmadan 90 saatte yazman gibi terimler kisiyi hedefinden saptirir. Ufkunu acip, buyuk yazilim projeleri gerceklestirmeni engeller.

Nirvanaya ulaşmak değil mevzu. Eğer iyi programcı iseniz sizin için
Windows = X Milyon, Linux kernel = Y Milyon satır koddan ibaret olur.
Eğer o kadar iyi biliyorsanız, Programcılıktan milyon dolarlar kaldıran
Checkpoint yerine millet sizin ürününüzü alırdı. İşi bilen programcı
için Checkpoint'i yazmak sadece bir zaman sorunudur. Sizin (veya önemli
değil, kendine programcıyım diyen diğerlerinin, başta kendim olmak
üzere) en büyük sorunu, yetersiz bilgi üzerine olmaktır. Eğer yeterince
donanımlı programcılar yetişse bu ülkede kurumsallaşma artarak
yazılımdan para kazanmanın yolu açılacaktır. Şimdi pazarlama vs. gibi
tali sorunlarla listeyi meşgul etmeyelim, hepsi bilinen şeyler. Eğer
ürün olsa, talep te olur. Millet parasını bir kaç adama endekslemez.
Eğer gerektiği zaman ürünü sürdürebileceği adamı önceden çalıştırdığı
adamın fiyatına bulabilecekse yatırım yapar. Şimdi gireceğim CheckPoint
gibi bir şey yazmaya, 2 yıl sonra adam çekip giderse? Sokakta
programcıyım diye gezen bir ton adam var ama elinden iş çıkmıyor, buyur
burdan yak..

Elbette "Bu ülkede programlama bilen yok" demiyorum. Ama programlama
bildiğini iddia edenlerin %1'nin ancak yeterli bilgiyle donanmış
olduğunu bizzat görüyorum. Dahası, bu kitlenin %90'ı programcılık
bilgisi açısından %1..%5 bilgiye sahip. Bunları kınama veya yerme
amacıyla söylemiyorum. Benim içimden geçen bu insanlara programlama
eğitiminde doğru yönü işaret ederek şu istatistikleri biraz daha iyi
hale getirmek.

Şimdi, herkes kendinin %1/%10/%90 dilimlerinden hangisinde olduğuna göre
baltasını çıkarıp savaş dansına başlayacaktır. Ama bunun belki beni
rezil, sefil vs. etmeye faydası olabilir. Ama bu davranış, yapanı bir
milim yukarıya taşımayacaktır. Bu teze kendimde dahilim elbet. TR'deki
tüm programcıların bir şey bilmediğini ispatlamak, benim bilgimin bir
mikron artmasına yolaçmaz.

Ee, peki neden karamsar tablo çiziyorum ? Karamsar değilim. Ama bir sürü
yere gittik, bir sürü seminer vs. verdik. Maalesef "programcı" sıfatı
taşıyan insanların, kursun kapısından çıkmış bir MCSE gibi nasıl
cascavlak dolaştığını gördük. Ekmeğini yazılımdan kazanan birisi olarak
bu durum beni üzüyor.

Konu şu. Bir form, üç düğme, bir DB Connect vs. ile yapılan program
karın doyurmuyor. Eğer ciddi anlamda kazanmak istiyorsanız yada hobiniz
daha adrenalinli, daha zevkli olsun istiyorsanız, işin içine
girmelisiniz. Bir dağcı için mutluluk İstanbul'un yedi tepesinden birine
çıkmak olmamalı. Belki everest veya K2'ye imza atamazsınız, ama en
azından Uludağ'a, Muratdağı'na, Ağrı'ya vs. çıkabilirsiniz.

Ya sürüden biri olun, tık, tık, tık ile iş yapmaya çalışın. Yada işi
öğrenin, adınız zirveye yazılsın, en yükseği olmasada.. Malum, kimse
güzeltepe'ye çıkana, itibar da, para da vermez..

Saygı ve sevgiler..

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.