From: Baris Metin (baris@metin.org)
Date: Mon 05 May 2003 - 21:23:08 EEST
Selamlar,
Mon, May 05, 2003 at 04:49:01PM +0000 , Eray YASYERLI :
> C ve C++ arasindaki farklar nelerdir?
Cevaplamasi zor bir soru :). Aslinda yalnizca bu soru icin bile yazilir
da yazilir :).
Kisa olarak, siklikla karsilasacaginiz, cevap; C++'in nesneye yonelik
bir programlama dili oldugudur. Kismen dogru. Aslida C++ nesneye yonelik
programlamayi cok daha kolay ve olanakli hale getiriyor demek daha
mantiklidir sanirim. C ile de nesneye yonelik yazilimlar
gelistirebilisiniz. Ornegin, Gtk+ kutuphanesi, kernel icerisindeki FS
kodu, vs...
Alan Cox, nesneler derleyicide degil, insanin beyninde olmalidir der.
Bunun dogrulugunu ben tam olarak kestiremiyorum, ama sonucta Alan Cox
demise dogrudur herhalde derim :))...
"Peki bu nesneye yonelik programlama dedikleri de ne oluyor ?". Konuyla
ilgi kitaplar yazilmistir. Internet uzerinden pek cok dokumana da
ulasabilirsiniz. Ama sonuc olarak karsiniza siniflar (class), bu
siniflardan olusturulan nesneler (object), miras alma (inheritence),
veri gizleme (abstraction) ve encapsulation (bunun turkcesini
hatirlayamadim :) kavramlari gelecektir. Bu kavramlarin herbiri icin de
yine detayli aciklamalar ve ornekler gerekiyor, dolayisi ile bunlari
bulmayi size birakmak en uygunu :).
Bunun yaninda C++ derleyicileri olusacak pek cok hatayi size derleme
esnasinda bildirecektir. Belki ogrenim acisindan programinizi C ile
yazmis olsaniz bile bir C++ derleyicisi kullanmak daha mantikli
olabilir, bir egitimciye sormak lazim :).
Genel oneri oncelikle C bilgisine/alt yapisina sahip olunmasidir. Daha
sonra C++'a gecis daha rahat olacaktir. Bu yontem benim icin ise
yaramisti. Belki C++'a geciste nesneye yonelik programlama aliskaligi
kazanmak icin kendinizi biraz zorlamaniz gerekir.
Bunun disinda C ogrenmek bence bir zaman isidir. Gercekten ben C
programliyorum demek icin bence cok yogun bir calisma ile minimum bir
seneye ihtiyac vardir. Yoksa C'nin yazim kurallarini ogrenmek yalnizca
birkac saatinizi alir. Serdar Hoca C'de 7-8 tane soz oldugunu soyler,
aslinda preprocessorlar ile daha fazladir :))). Bunlari ogrenmek de en
fazla o kadar zaman alir. Ama C ile calismak icin yazdiginiz programinda
nasil calistigini bilmeniz gerekir. Yani yaz, sal cayira, calissin
modeli pek islemez :).
> linux ve windows altinda bu dilleri hangi programlar araciligiyla
> yazabilirim?
Hep soylerim, genelde de soylenir, "Gcc elde edebileceginiz en iyi
derleyiciler arasindadir.". Linux altinda C/C++ yazilimlari gelistirmeyi
planliyorsaniz gcc en iyi arkadasiniz olmali. Aslinda Linux altinda
"yazilim gelistirmeyi" planliyorsaniz C, dolayisi ile gcc en iyi
arkadaslariniz olmali demek daha dogru...
Windows icin bir oneri yapmayacagim. Zaten onerim Windows icin program
yazmamaniz olacaktir. Bence, birilerinin ticari urununu uzerinde
calisicak yeni yazilimlar gelistirerek guclendirmek, hatta bu
yazilimlari gelistirebilmek icin bile bu birilerinin sundugu araclara
tomar dolusu para odemek hic mantikli degil. Size kalmis...
> en son sorum ise turkce ve ingilizce farketmez bana tavsiye edebileceginiz c
> ve c++ kaynaklari ( kitap da olabilir.) varmi?
Mutlaka temel bir C kitabi alin. Temel kaynak olarak kullanilabilecek
guzel Turkce kitaplar var. Bunlari rahatlikla bulabilirsiniz. Bu asamayi
gectikten sonra, Linux programlama ile ilgili pek cok kaynak
bulabilirsiniz. Ornek kod bulma sikintisi hicbir zaman cekmezsiniz...
Ali Vardar'in Linux programlama kitaplari bu noktada da ihtiyacinizi
karsilayabilecek boyuttadir. Daha sonra zaten siz yolunuzu cizersiniz...
Karsilasmaniz muhtemel olan Turkce programlama kitaplarina para verilmez
lafina ise gonul rahatligi ile kulak tikayabilirsiniz. Ara sira duydugum
icin belirtmek istedim.
iyi calismalar,
-- Baris Metin -- Attached file included as plaintext by Ecartis -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: http://metin.org iD8DBQE+tqwM/NpXVJSThIIRAn8UAJ44t/3Y4FxLS52KVEG9CnuyIVtjtgCfYIZZ WB0um0Xvxz2PJU2vFnI6jRg= =xPaz -----END PGP SIGNATURE-----