Ana sayfa Bilgisayar C ve C++ Arasındaki Farklılıklar Nelerdir ?

C ve C++ Arasındaki Farklılıklar Nelerdir ?

182
PAYLAŞ
C ve C++ Arasındaki Farklılıklar Nelerdir ?

C ve C++ Arasında Ne Gibi Farklılıklar Var ?

C ve C++, ilk duyduğunuzda sanki iki aynı şeymiş gibi geliyor. Bu yazımızda sizlere, doğaları gereği birbirinden oldukça farklı olan bu programlama dilleri arasındaki farkları sizlere anlatmaya çalışacağız. Her ne kadar C ve C++'in güncelliklerini kaybettiği iddia edilse de C++ halen daha Nesne Tabanlı Programlama dili denince ilk akla gelen dil. C ise program ve yazılım geliştiricileri tarafından hala daha büyük oranda kullanılıyor.

Eğer Bilgisayar Mühendisliği veya benzeri bir bölüm okuyorsanız, en çok duyacağınız sorulardan biri " C ve C++ dilleri arasındaki temel farklılıklar nelerdir ?" olacaktır. Birçoğunuzun aklına hemen birkaç farklılık gelse de, bu iki dili birbirinden ayıran tüm farklılıkları saymak elbetteki biraz zaman alacaktır. Gelin beraber, bu farklılıkların bulunduğu bir liste yapalım ve iki dil arasındaki farklılıklara yakından göz atalım.

Teknik bilgilere geçmeden önce iki dille ilgili de giriş seviyesinde bilgiler vermek faydalı olacaktır. C, belki de dünyada en yaygın olarak kullanılan programlama dili. Dennis Ritchie tarafından 1969-1973 tarihleri arasında AT&T laboratuvarlarında geliştirilen C, bu dilin kullanıldığı programların çok hızlı çalışması sebebiyle yazılımcılar arasında bir hayli popüler. C++ ise, C'nin bir takım eksikliklerini gidermek için geliştirilmiş ve öncülüne yeni özellikler eklemeyi hedefleyen bir programlama dili. Bu özelliklere C'de bulunmayan Nesne Tabanlı Programlama desteğini örnek verebiliriz.

C ve C++ Arasındaki Temel Farklılıklar

# C C++
1 C, prosedürel (başka bir deyişle yapısal) bir programlama dilidir. C++, prosedürel (yapısal) olmasının yanı sıra, aynı zamanda nesne tabanlı bir programlama dilidir.
 2 C dilinde çözüm, bir dizi prosedür veya adımla gerçekleştirilir. Bu nedenle, C bir fonksiyon odaklı bir dildir. C ++, tüm çözümü nesneler açısından modelleyebilir ve çözümü daha iyi organize eder. C ++, nesne tabanlı bir dildir.
 3 C'de sanal fonksiyon kavramı yoktur. C ++ sanal fonksiyon kullanma imkanı sunar.
 4 Operatör yüklemesi (işlem yükleme) C'de mümkün değildir. C++ Operatör yüklemesini destekler.
 5 C fonksiyonlarındaki değişkenler güvenli değildir. Veriye diğer dış fonksiyonlardan kolayca erişilebilir. C ++ 'daki tüm değişkenler nesnelerin içine konabilir. Bu, daha iyi veri güvenliği sağlar.
 6 C, orta seviyeli bir dildir. C ++ yüksek seviyeli bir dildir.
 7 C programları modüllere ve prosedürlere ayrılmıştır. C ++ programları sınıflara ve işlevlere ayrılmıştır.
 8 C programları yukarıdan aşağıya yaklaşımını kullanır. C ++ programları aşağıdan yukarıya yaklaşımımı kullanır.
 9 C'de main () fonksiyonu diğer fonksiyonlardan çağrılabilir. C ++'da main () fonksiyonu diğer fonksiyonlardan çağrılamaz. Programın yürütülmesi main() fonksiyonundan başlar.
 10 C'de isim uzayı (namespace) desteği yoktur. C++ isim uzaylarını destekler.
 11 İstisnai durum yönetimi C'de kolay değildir. Diğer fonksiyonları kullanarak yapılması gerekir. İstisnai durum yönetimi C++'da Try ve Catch kullanılarak yapılır.
 12 C'de kalıtım (inheritance) mümkün değildir. C ++ nesneye yönelik bir dildir ve bu yüzden kalıtım mümkündür.
 13 C'de, tüm değişkenlerin bir kapsamın (scope) başında bildirilmesi gerekir. C ++, kapsamın herhangi bir yerindeki değişkenlerin bildirilmesine izin verir.
 14 C'de fonksiyon yüklemesi (function overloading) mümkün değildir. C ++'da fonksiyon yüklemesi (function overloading) mümkündür
 15 C'de dosya okuma ve yazdırma işlemleri scanf() ve printf() fonksiyonları ile yapılır. C++'da cin>> ve cout>> kullanılır.
 16 C programları .c uzantılı dosyalara kaydedilir. C++ programları .cpp uzantılı dosyalara kaydedilir.
 17 C'de veri ve fonksiyonlar arasında eşleme yapmak zordur. C ++'da veri ve fonksiyonlar, nesneler aracılığıyla kolayca eşleştirilir.
 18 C'de polimorfizm (polymorphism) desteklenmez. C++'da polimorfizm desteklenir.
 19 C yalnızca yerleşik veri türlerini destekler. C ++ hem yerleşik hem de kullanıcı tanımlı veri türlerini destekler.

C ve C++'ın Ortak Yönleri

C++, daha önceden de belirtiğimiz gibi, C'nin güncellenmiş halidir. Bu yüzden çoğu C++ derleyicisi, C programlarını da derleyebilir. Aşağıdaki venn şeması, bu iki programlama dilinin ortak yanlarını gösteriyor.

c-plus-plus-shares-most-of-c

Aşağıdaki grafikte ise kullanıcıların, 2002-2015 yılları arasında hangi programlama dillerini daha çok tercih etiğini görebilirsiniz.

comparison-programming-languages

Yukarıdaki grafikten de görebileceğiniz gibi C'nin popülerliği, 13 yıldır aşağı yukarı aynı kalmayı başarmış. İki dil arasındaki temel farklılıklar bunlar. Eğer listede unuttuğumuz bir şey varsa yorumlarda bizi uyarabilirsiniz !

Keçi ile kalın !