EYLÜL_PC_SHOP
Would you like to react to this message? Create an account in a few clicks or log in to continue.

EYLÜL_PC_SHOP

EYLÜL_PC_SHOP
 
AnasayfaAnasayfa  Latest imagesLatest images  AramaArama  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 C ile C++ Arasındaki Farklar

Aşağa gitmek 
YazarMesaj
Admin
Admin



Mesaj Sayısı : 99
Kayıt tarihi : 29/12/08

C ile C++ Arasındaki Farklar Empty
MesajKonu: C ile C++ Arasındaki Farklar   C ile C++ Arasındaki Farklar EmptyPerş. Ocak 01, 2009 8:33 pm

C diline (veya) C++ diline yabancı olan fakat merakla izleyen çoğu kimsede ilgi uyandıran bir konu olacağı düşüncesiyle bu makalenin faydalı olacağını ümit ediyoruz.

Öncelikle şunu belirtelim; bu makalenin konusu bir takım teknik konuları veya kod parçalarını incelemekten ziyade bu dillerin temel farklılıkları üzerinde olacak.

Programlama dillerinde tasarım yönünden eksiklikler olabilmektedir. Şu ana kadar 1500 civarında programlama dilinin varlığından söz ediliyorsa bunun en önemli nedeni dillerin daha çok spesifik amaçlar için tasarlanmasıdır. C++ dilinin ortaya çıkışını bu bağlamda ele alabiliriz. C++ dili C dilinden türemiştir. Yani C++ dili; C’deki eksiklikler giderilerek ve C’ de olmayan birçok ek özellik getirilerek ortaya çıkmıştır diyebiliriz.

C++’ ın en başta gelen farklılığı ise Nesne Yönelimli (Object-Oriented) olmasıdır. Buna karşın C fonksiyonel bir dildir (procedural). Peki tam olarak nedir Nesnel Yönelimli Programlama? Kısaca değinecek olursak; C dilinde (veya fonksiyonel herhangi bir dilde) program yazarken programımızı fonksiyonlara parçalar ve tasarlardık. Yani programımızın temel parçası fonskyionlar idi. C++ da ise programlarımızın temel birimi nesnelerdir. Örneğin bir satranç oyununu simule eden programı yazdığımızı düşünelim. Programda bazı nesnelerin Satranç tahtası, Piyon, Vezir, vs olacagini düşünebiliriz. Bu şekilde program yazmak hepimizin farkedecegi gibi daha kolay ve en önemlisi de gerçeğe daha uygundur. Zaten nesne yönelimli programlamanın ortaya çıkışında yatan ilham kaynaği da diyebileceğimiz en önemli unsur gerçek dünyayı modelleyebilmektir.

Farklı bir örnekle konuyu açıklamaya çalışalım. Mesela programımızda otomobil diye bir nesnemizin olduğunu düşünelim. Bu nesnenin direksiyon, fren, kapı gibi elemanları oldugu gibi gitmek, hızlanmak gibi özellikleri de olmalıdır. Hatta bu alt elemanların da kendilerine ait elemanlari ve özellikleri olduğunu ve otobomil nesnesinin de üyesi olduğu daha kompleks bir nesne olduğunu düşünebiliriz. Işte C++ bize böyle karmaşık yapıyı kolayca tasarlayabileceğimiz bir araç sunuyor. Bu yapıyı program içinde C de olmayan yeni bir anahtar sözcük (keyword) olan class (sınıf) ile kuruyoruz. class yapılarının C deki struct veri yapısına benzediği kısmen doğrudur fakat artık class yapıları içinde fonksiyon tanımlayabiliyoruz.

Basit bir örnekle açıklayacak olursak; C de oluşturduğumuz iki tane farklı yapı düşünelim. X ve Y yapilari. X’ i Y’ ye kopyalamak için Y = X; gibi bir ifade kullanamazdık. C++ ile kopyalamanın ne şekilde olacağını belirterek bunu doğal olarak yapabiliyoruz.

Bu noktada sorabilecegimiz en önemli soru şudur : Bu işlemi biz C dilinde de farklı bir yolla yapabilirdik, o halde neden C++? Şunu belirtelim ki C++ ile yazabildigimiz tüm programları kesinlikle C diliyle de yazabiliriz. Fakat programımızın boyutu büyüdükçe, karmaşıklıgı arttıkça ve zamanın bizim için çok önemli oldugunu düsündüğümüzde artık yazabilmekten ziyade hızli, kolay ve efektif bir şekilde program yazmanın gerekliliği ortaya çıkıyor ve bu noktada Nesne Yönelimli Programlamanın ihtiyacını hissediyoruz.

Aslında burada belirtilmesi gereken diger bir husus daha vardır. C ile de şüphesiz nesnel programlama yapabiliriz. Fakat bunu yapabilmek oldukça zordur. C++ ise Nesne yönelimli programlamaya imkan vermekten öte zaten bu paradigmaya göre tasarlanmıştır ve yapısındaki araçlar sayesinde bunu kolaylaştırmıştır.
Sayfa başına dön Aşağa gitmek
http://fetle.yetkinforum.com
 
C ile C++ Arasındaki Farklar
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» C İLE C++ ARASINDAKİ FARKLAR

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
EYLÜL_PC_SHOP :: Programlama :: C/C++-
Buraya geçin: