From: msakarya@infotech.com.tr
Date: Tue 22 Jul 2003 - 09:03:05 EEST
Konuyu simdiye kadar uzaktan izlemekle yetindim ancak taslar ard arda
kafama vurmaya baslayinca mudahale
istegi dogdu birden. Oncelik MYO mezunu biri olarak neden bilg. prog. b=
u
kadar asagiladiginizi anlamiyorum
bence bu kompleksten baska bir sey degildir. Yanlis anlamayin bu size
yonelik bi sey degil evet ben 2 senelik
mezunuyum ama bazi yonlerden bakinca cogu benimle ayni anda mezun olmus=
muhendisten cok cok daha
iyi bilgiye sahibim ve bunu gerek kendi icinde bulundugum gerekse
disaridaki arkadas cevremden gorebiliyorum
(ayni sirkette benden once mezun olmus ve daha az maas alan muhendisler=
var
) Matematik konusunda ise
sonuc olarak bizde okulda belli matematik dersleri ald=FDk sadece fizik=
kimya
gibi dersler almadik buyuk bir
eksik oldugunuda dusunmuyorum acikcasi. Ayrica bazi muhendislere yazili=
m
egitimi verirken ( :) ) adamlarin
matris degince yuzume nasil bos bos baktiklarini hatirliyorum. Sonuc ol=
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
=
=20
Serdar Koylu =
=20
<serdarkoylu@fisek.com.tr> To: li=
nux-programlama@liste.linux.org.tr =20
Sent by: cc: =
=20
linux-programlama-bounce@liste.li Subject: =
[linux-programlama] Re: ' { ' =20
nux.org.tr =
=20
=
=20
=
=20
21.07.2003 22:29 =
=20
Please respond to =
=20
linux-programlama =
=20
=
=20
=
=20
Selamlar..
Programcilik ile tasarimcilik ayri ayri kavramlar olarak anlamak gereki=
yor
once. Delphi vs. tasarimi kolaylastiran diller. Ama siz programcilik
dediginizde bir muhendislik disiplininden bahsediyorsunuz. Burada, bolc=
a
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 sun=
ar.
Oysa ust duzey dillerde bilhassa hazir kita komponentler sayesinde ne o=
lup
bittigini bilmeniz gerekmez. Basit bir client yazdiginizi dusunun. wind=
ows
uzerinde winsock, Linux uzerinde BSD socket'lerini bilmek aslinda yeter=
li
olur. Ne SYN/ACK/ESTAB... cevrimi vs. bilmek gerekir, ne de diger bir b=
aska
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 olmay=
isi
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 birbiri=
ne
karistiriyor. Diger yandan bu ust duzey dillerin repertuari oyle genis =
ki
sizi asil insani pisirecek olan fonksiyonlardan uzak tutuyor. Oysa C il=
e
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 bi=
rer
teze sahibiz. Siz once kolay dillerle bir seyler yapmayi ogrensin. Sonr=
a
sil bastan ederiz, C ogretiriz gibi bir yaklasim icindesiniz. Ama gunce=
l
uygulamalarin kabiliyetlerini dusununce bu gereksiz bence. Hadi, 1980 l=
i
yillarda filan yasariz, SQL, Veritabanlari, Calisma tablolari filan gib=
i
uygulamalar olmaz ortalikta, kabul ederim. Ama bugun bu tur uygulamalar=
i
ogrenmek, baslangic duzey programcilik ogrenmekten kat be kat daha kola=
y ve
yapabileceklerinizin siniri cok daha genis.. Benim istedigim, kendine
"Programci" diyen insanin gercekten her soruna bir cozum bulabilir olma=
si.
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 muhata=
p
oluyorum. Bordro'su, hasta takip programi, cafe programi, muhasebe prog=
rami
vs. Bazilarinin icinde yapilan hatalari gorunce bu kadarina da pes diyo=
rum
sonunda. Bunun sonucu olarak, ne yapabiliriz programci yetistirme konus=
unda
diye dusununce, en iyi yolun ise C ile baslamakta oldugunu goruyorum
kendimce..
> k=FDzmaya ba=FElad=FDn=FDz :)
> amac=FDm sizi k=FDzd=FDrmak de=F0il...
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=F0erlendirmenizin yan=FDl=FDyor oldu=F0unuzu belirtm=
ek...belkide
> ben yan=FDl=FDyorum :)
Iyice bir dusunun. Niyetiniz, 3-4 ayda, yarim yamalak tasarim yapabilen=
ama
pek cok seyden bihaber insanlar yetistirmek mi ? Yoksa belki uzun bir s=
ure
(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 sordu=
gum
bir kac soruyu size de sormak isterim.
Turkiyede 80 kadar universitenin hemen hepsini birer Bilg.Prg. MYO'su v=
ar.
Bu yilda 80 x 20 =3D 1600 tane programci yetistirmek anlamina gelir. Bu=
okullarin mufredatina bakarsaniz, agirligin Delphi/VB ve ASP/HTML uzeri=
nde
oldugunu gorursunuz.
1. Sizce nerede ne is yapiyor bu mezunlar ? Bu soruya verilan cevaplar,=
Excel ile form dolduruyor ile amelelik yapiyor arasinda geziniyordu. Si=
zce
bu programcilar nerede ?
2. Bu okullardan mezun olan birisinin, piyasada hangi ucretle ne is
yapacagini soyleyebilirmisiniz (Torpil mevzulari mustesna olmak kaydiyl=
a).
3. Acaba bu okullardaki hocalar mi kotu ? Yoksa ogrenciler mi kotu ? Ya=
da,
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. Bugu=
n,
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 olmas=
i
daha ucuza patliyor nitekim.
Olaya soyle bakin. HTML XML Bilumum W3C standartlari bilmekle FrontPage=
biliyor olmak arasindaki fark. Ben diyorum ki, gidin bunlari ogrenin, s=
iz
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=FDr=FDm yaz=FD=FEmay=FD b=FDrakmak daha anlaml=FD olacak...Fikrim=
i
belirttim...Amac=FDm
> sizi k=FDrmak yada sinirlendirmek de=F0il...
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..
=