From: Savas Alparslan (Garanti Teknoloji) (SavasAl@garanti.com.tr)
Date: Tue 22 Jul 2003 - 09:51:54 EEST
> -----Original Message-----
> From: msakarya@infotech.com.tr [mailto:msakarya@infotech.com.tr]
>
> hatirliyorum. Sonuc ol=3D
> arak
> egitim 2 yada 4 sene olmasindan
> ote hala eski kafayla siyah beyaz dusuncelere sahip insanlarin yada
> egitimcilerin bu olayi asmasi gerektigini
> dusunuyorum bilmem anlatabildimmi
>=0D
Ben de 92-94 arasinda DEU IMYO Bilg. Prog.'da okudum. Bizim mufredatta=
haftada 10ar saat klavye kullanimi, autocad falan gibi dersler vardi.=
Bilgisayarlar ise 80286, 640KB RAM ve 5 1/4 disket (hard disk yok) idi.=
Dikkat ederseniz tarih oncesinden bahsetmiyorum.
Ama hocalarimiz 25 yas civarlarinda insanlardi ve bu mufredata uymadilar.=
Bizi ilk assembly ile baslattilar. Acayip kasildik, bircok insanlar=
gelecek seneki OYS'ye hazirlanmaya basladilar. (Cok cok da iyi yaptilar)
Sonra QBasic. Eh biraz kasilmayi birakip algoritma ogrenelim. Dizileri=
dinamik almaya gerek yok. Muhim olan algoritma, diziyi 1000'lik=
tanimlarsin, kafa yormazsin o asamada.
Artik COBOL, DBase. Veritabanina dalmak lazim. Tamam bircok sey hazir, ama=
tablolari tasarlamak, ekranlari ayarlamak falan gibi seyler ogreniliyor.
Tekrar basa donelim. Pascal ile biraz bilimsel takilmak. Ama Turbo Pascal=
oldugu icin biraz da hacklemek. Ekrana hizli yazdirmak icin $B000=
segmentinden baslayan hafizaya direk yazdirmak. Biraz ufkun genisse=
dunyadaki tum monitorlerin yesil olmadigini anlayip kosula gore $B800=
segmentinden de yazdirabilmek.
Sonrasinda C. Diskete sigabilen Turbo C 2.0 tabii ki. Onunla da string=
kutuphaneleri kastirmak, Pascal'da yapilan seyleri C'ye aktarmak.=
Cakilinca makinenin BIOS setupinin bile bozulabilmesi.
Neyse, sonucta programcilik ogrenimi biraz zigzag cizmeli diye dusunuyorum.=
Simdi cok C'ye Assembly'e takilan kisiler ust duzeyde de bariz hatalar=
yapabiliyorlar. Gordugum en komik ornek Cinsiyet tablosu yapilmasi ve her=
SQL SELECT'de benzeri birsuru tabloya iliski kurdurularak veritabani=
performansinin icine edilmesi.
Ama ust duzey programlama dillerinde yazanlar da temelleri bilmeli. Mesela=
Java'da dongu icinde + operatoru ile stringleri ekleyerek ve her seferinde=
bu operasyonun yeni bir string nesnesi yaratacagini bilmeyerek garbage=
collector'de grizu patlamasi yaptirmak var. Ya da ilk once bir=
StringBuffer yaratmak ve hatta bu string buffer'i ilk basta 64K'lik yer=
ayirtarak her eklemede realloc() yaptirmamasini saglamak (tabii stringin=
cogu durumda o boyutlarda olacagini hissetmek lazim) ve super hizli hale=
getirmek de var. Bu karari vermede programciligin temellerini bilmek buyuk=
yarar saglar.
Ama bir yandan da programci gelismeleri azimle takip etmeli. Cunku hersey=
yerinden oynayabiliyor. Derleyiciler optimizasyon yapiyor ornegin. Buyuk=
ihtimalle C ile yazilmis bir programin GCC ile derlenmis hali benim=
aynisini assembly ile yazmamdan daha hizli olacaktir. Ayni sekilde yeni=
Java sanal makineleri (JVM) calisma zamani sirasinda stringleri + ile=
eklemeyi algilayip daha hizli kodu uretebilirler, benim 64K tahminimden=
daha iyisini istatistiksel yontemlerle tahmin edebilirler. Benim tum=
optimizasyon kastirmam bosa gidebilir, o sirada + ile ekleme yapan=
vatandas iki kat fazla program yazip parayi goturebilir vs vs
Savas
This message and attachments are confidential and intended solely for the=
individual(s) stated in this
message.If you received this message although you are not the addressee you=
are responsible to keep
confidential the message.The sender has no responsibility for the accuracy=
or correctness of the
information in the message and its attachments.Our company shall have no=
liability for any changes
or late receiving,loss of integrity and confidentiality,viruses and any=
damages caused in
anyway to your computer system.
Bu mesaj ve ekleri mesajda gonderildigi belirtilen kisi/kisilere ozeldir ve=
gizlidir.Bu mesajin muhatabi
olmamaniza ragmen tarafiniza ulasmis olmasi halinde mesaj iceriginin=
gizliligi ve bu gizlilik yukumlulugune
uyulmasi zorunlulugu tarafiniz icin de soz konusudur.Mesaj ve eklerinde yer=
alan bilgilerin dogrulugu ve
guncelligi konusunda gonderenin ya da sirketimizin herhangi bir sorumlulugu=
bulunmamaktadir.Sirketimiz
mesajin ve bilgilerinin size degisiklige ugrayarak veya gec ulasmasindan,=
butunlugunun ve gizliliginin
korunamamasindan, virus icermesinden ve bilgisayar sisteminize verebilecegi=
herhangi bir zarardan
sorumlu tutulamaz.