From: Dogan Zorlu (doganzorlu@doganzorlu.com)
Date: Tue 22 Jul 2003 - 01:15:03 EEST
Content-Type: Text/Plain;
charset="iso-8859-9"
Content-Transfer-Encoding: quoted-printable
Konu gayet hos gelisiyor ve sevgili Serdar'=FDn "Eski Dinazor" deyimine u=
ygun
birisi olarak ben de birkac fikir beyan etmek istedim. 88 y=FDl=FDndan be=
ri C
ile nerdeyse 10 a yak=FDn =E7ok buyuk projede =E7al=FD=FEt=FDm (Hepsi de =
database
uygulamalar=FDyd=FD). Yazd=FD=F0=FDm kod 2-3 milyon sat=FDr=FD ge=E7ti ne=
rdeyse zira t=FCm
katmanlar=FD C ile yazd=FDm. De=F0i=FEik projelerde de=F0i=FEik diller de=
kulland=FDm
zamanla.. En sonunda =FEunu anlad=FDm ki asl=FDnda programlama dili bir a=
ra=E7.
Yap=FDlacak i=FEe g=F6re hangisinin uygun olaca=F0=FDn=FD belirlemek, zam=
an zaman hayat
meselesi olabiliyor.=0D
=0D
C ile =E7al=FD=FEmak =F6ncelikle problem =E7=F6zme kabiliyetini geli=FEti=
riyor ki bu
g=FCn=FCm=FCzde pek=E7ok yaz=FDl=FDmc=FD arkada=FEta maalesef g=F6remedi=F0=
imiz bir beceri.
=DDkinci olarak anlama kabiliyetini geli=FEtiriyor. E=F0er C yi anlam=FD=FE=
san=FDz,
di=F0er dillerin yap=FDlar=FDn=FD anlaman=FDz =E7ok daha kolay olacakt=FD=
r. Fakat yine de
temelde ki=FEinin d=FC=FE=FCnsel kapasitesine ba=F0l=FD bir olay bu. Ben =
100 binlerce
sat=FDr C yaz=FDp her sorunu gelip bana soran programc=FDlar da g=F6rd=FC=
m. C yi
yutmu=FElard=FD ama preblem =E7=F6zme becerileri geli=FEmemi=FEti maalese=
f :(=0D
=0D
Ama dedi=F0im gibi, bir database uygulamas=FDn=FD C ile yazmaya kalkmak o=
lduk=E7a
anlams=FDz =FEayet database i de siz yazm=FDyorsan=FDz. Projeye g=F6re se=
=E7ersiniz dili
Ekibiniz e=F0er kaliteli elemanlardan olu=FEuyorsa, 2-3 ayl=FDk bir zama=
n se=E7ilen
dili verimli kullanabilecek kadar bir beceriyi edinmeye yetecektir. Ama u=
zun
vadede =E7ok daha fazla zaman kazand=FDracakt=FDr. Hatta hatta projelerin
b=F6l=FCmleri bile birbirinden farkl=FD dillerle yaz=FDlabilir. Dedi=F0im=
gibi
yap=FDlacak i=FEe en uygun olan=FD se=E7mek =F6nemli. Se=E7ilen dilin di=F0=
erleriyle
etkile=FEebilmesi en =F6nemli fakt=F6r bence. Donan=FDm seviyesi ihtiya=E7=
lar=FD C ile,
database seviyesi ihtiya=E7lar=FD 4GL ile ve web servislerini java ile
yazabilirsiniz bir uygulaman=FDn ve olduk=E7a da kaliteli olabilir.=0D
=0D
Bir kez C ile her=FEeyi kendiniz yazmaya ba=FElad=FD=F0=FDn=FDzda bu bir =
al=FD=FEkanl=FD=F0a
d=F6n=FC=FE=FCyor. Kimsenin k=FCt=FCphanesini be=F0enmeyip hepsini kendin=
iz yapmaya
kalk=FDyorsunuz ve zaman denilen kavram birden acayip =F6nemli bir hal al=
=FDyor.=0D
=0D
Bu ba=F0lamda program yazmaya ba=FElamak i=E7in, =F6nce makina dilinde as=
sembler, o
assembler ile C, o C ile i=FEletim sistemi, daha sonra =FCzt d=FCzey bir =
dili ve
daha sonra de=F0i=FEik sunucular=FD falan hepsini kendiniz kodlamak zorun=
da
kal=FDrs=FDn=FDz. Her=FEeyin i=E7 y=FCz=FCn=FC bu detayda =F6=F0renmeye k=
alkarsan=FDz i=FE
=FCretemezsiniz. Zira siz o basamaklardan birisini =F6=F0renirken yeni
teknolojiler =E7=FD=F0 gibi gelmektedir. Bilgi =F6mr=FC 10 y=FDl =F6nce =
oldu=F0undan 10 kat
daha k=FDsa =FEimdi.=0D
=0D
Sevgiler,=0D
=0D
-------Original Message-------=0D
=0D
From: linux-programlama@liste.linux.org.tr=0D
Date: 21 Temmuz 2003 Pazartesi 22:35:52=0D
To: linux-programlama@liste.linux.org.tr=0D
Subject: [linux-programlama] Re: ' { '=0D
=0D
Selamlar..=0D
=0D
Programcilik ile tasarimcilik ayri ayri kavramlar olarak anlamak gerekiyo=
r
once. Delphi vs. tasarimi kolaylastiran diller. Ama siz programcilik
dediginizde bir muhendislik disiplininden bahsediyorsunuz. Burada, bolca
hesap, matematik analiz kadar soruna matematiksel yaklasimda gerekli. =0D
=0D
C neden insanlar programciligi ogretir (daha kolay ogretebilir) ?=0D
=0D
C ile ogrenmeniz gereken dile mahsus konu sayisi son derece azdir.
Toplasaniz 10 - 15 komutla bu is biter. C makineye yakin bir sinifa girme=
kle
size makinedeki gizemli kapilari acmak yonunde bir firsat sunar. Oysa us=
t
duzey dillerde bilhassa hazir kita komponentler sayesinde ne olup bittigi=
ni
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. A=
ma
bunlari bilmeden yazacaginiz kodun ne kadar iyi bir client olabilecegini =
hic
akliniza getirebiliyormusunuz ?=0D
=0D
Size bu ucta bir ornek gibi gelebilir. Ama C ile ugrasirken gerek elinizd=
eki
kaynak sayisi, gerekse, bilhassa string denen kavramin olmayisi sizi pek =
cok
seyi ogrenmeye muhtac birakir. Sonucta o size bir anahtar gorevi gorur. =0D
=0D
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 as=
la
bir dialog box cikarip "Permission Denied" yazivermez ekrana.. Sonucta, b=
ir
dosyayi acmaya kaltiginizda basarili olup olmadiginizi kontrol etmek
sorumlulugunu ogrenirsiniz. Benzeri bir suru ornek verebiliriz. =0D
=0D
Kavramlari karistirmak cok fazla ypilan bir yanlis bu noktada. Ki bunu be=
nde
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=20
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. =0D
=0D
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.=0D
=0D
Isim geregi bilhassa Windows uzerinde yazilmis tonla uygulamayla muhatap
oluyorum. Bordro'su, hasta takip programi, cafe programi, muhasebe progra=
mi
vs. Bazilarinin icinde yapilan hatalari gorunce bu kadarina da pes diyoru=
m
sonunda. Bunun sonucu olarak, ne yapabiliriz programci yetistirme konusun=
da
diye dusununce, en iyi yolun ise C ile baslamakta oldugunu goruyorum
kendimce..=0D
=0D
> k=FDzmaya ba=FElad=FDn=FDz :)=0D
> amac=FDm sizi k=FDzd=FDrmak de=F0il...=0D
=0D
=0D
Ne kizayim ki ? Bana dokunan bir konu yok :)) Birileri programcilik ogren=
mek
istiyorsa, bende yillardan beri programcilik yapan eski bir dinozor olara=
k
onlara yol gostermek istiyorum. Hepsi bu..=0D
=0D
=0D
=0D
> >Bence programcilik en kolay C ile ogrenilir.=0D
> Ben sadece bu de=F0erlendirmenizin yan=FDl=FDyor oldu=F0unuzu belirtmek=
=2E..belkide=0D
> ben yan=FDl=FDyorum :)=0D
=0D
=0D
Iyice bir dusunun. Niyetiniz, 3-4 ayda, yarim yamalak tasarim yapabilen a=
ma
pek cok seyden bihaber insanlar yetistirmek mi ? Yoksa belki uzun bir sur=
e
(bence 18 - 24 ay, duzenli calisma) sonunda, tas gibi isler cikaran,
gelecegin Stallman ve/veya cox'larini yetistirmek mi ?=0D
=0D
Universitelerde vs. verdigimiz programlamaya giris seminerlerinde sordugu=
m
bir kac soruyu size de sormak isterim. =0D
=0D
Turkiyede 80 kadar universitenin hemen hepsini birer Bilg.Prg. MYO'su var=
=2E
Bu yilda 80 x 20 =3D 1600 tane programci yetistirmek anlamina gelir. Bu
okullarin mufredatina bakarsaniz, agirligin Delphi/VB ve ASP/HTML uzerind=
e
oldugunu gorursunuz.=0D
=0D
1. Sizce nerede ne is yapiyor bu mezunlar ? Bu soruya verilan cevaplar,
Excel ile form dolduruyor ile amelelik yapiyor arasinda geziniyordu. Sizc=
e
bu programcilar nerede ?=0D
=0D
2. Bu okullardan mezun olan birisinin, piyasada hangi ucretle ne is
yapacagini soyleyebilirmisiniz (Torpil mevzulari mustesna olmak kaydiyla)=
=2E=0D
=0D
3. Acaba bu okullardaki hocalar mi kotu ? Yoksa ogrenciler mi kotu ? Yada=
,
yanlis her seyin basinda mufredatta mi ? =0D
=0D
Elbette pek cok kritik konu var. Her gun pek cok eleman araniyor ilani ge=
lir
Programcilik yaptirmak isteyenler, programcidan ziyade, muhendis ararlar=
=2E
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 bi=
r
personelini oturtan firmalar taniyorum. Yazdiklari program nerdeyse her 2=
-3
gunde bir siyirdigi icin balatalari basinda biri olmasi daha ucuza patliy=
or
nitekim. =0D
=0D
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 ugras=
in.
Elbette her iki yaklasimin da faydali oldugu insanlar var. Ama is
programcilik olunca, programlama gibi eziyetli bir mevzu yerine, Spreadsh=
eet
vs. gibi konularda uzmanlasmak cok daha iyi olabilir.=0D
=0D
Dedigim gibi, bana veya bulundugum camiaya sorulursa, ben C ile ugrasin
derim. Ama siz yok, Java ogrenin misler gibi diyebilirsiniz.=0D
=0D
=0D
> San=FDr=FDm yaz=FD=FEmay=FD b=FDrakmak daha anlaml=FD olacak...Fikrimi =
belirttim..
Amac=FDm=0D
> sizi k=FDrmak yada sinirlendirmek de=F0il...=0D
=0D
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 goren=
ler
benimkine uyar saniyorum. Gidip kimseyi neden C ogrenmektense Python
ogreniyorsun diye dovecegimiz filan yok :)))=0D
=0D
Saygi ve sevgiler..=0D
=0D
=2E=20
-- Binary/unsupported file stripped by Ecartis --
-- Type: image/gif
-- File: IMSTP.gif