logologo

C++

Elektrik Ve Elektronik+1 Daha
fav gif
Kaydet
viki star outline
indir.png
C++
Yaratıcısı
Bjarne Stroustrup
İlk Geliştirilme
1979 ("C with Classes" adıyla)
İlk Ticari Sürüm
1985

C++, C programlama dilinin bir uzantısı olarak geliştirilmiş, yüksek performanslı ve genel amaçlı bir programlama dilidir. Programcıya hem donanım üzerinde alt seviye kontrol imkânı hem de nesne yönelimli programlama gibi üst seviye soyutlama yetenekleri sunarak benzersiz bir esneklik sağlar.

Tarihçe

C++'ın temelleri, Danimarkalı bilgisayar bilimcisi Bjarne Stroustrup tarafından 1979'da Bell Laboratuvarları'nda "C with Classes" (Sınıflarla C) adıyla atıldı. Amaç, C'nin hızını Simula dilinin nesne yönelimli özellikleriyle birleştirmekti. Dil, 1983'te C'deki artırma operatörüne (++) bir gönderme olarak C++ adını aldı.


Bjarne Stroustrup (Bjarne Stroustrup Blog)

Temel Özellikleri

C++, onu diğer dillerden ayıran bir dizi güçlü özelliğe sahiptir:


  • Performans ve Kontrol: Doğrudan bellek yönetimi ve donanıma yakın çalışma yeteneği sayesinde C ve Assembly dillerine yakın bir performans sunar. "Sıfır ek yük" (zero-overhead) ilkesi, kullanılmayan özelliklerin performansa etki etmemesini hedefler.
  • Çoklu Paradigma Desteği: Programcıları tek bir stile zorlamaz. Nesne Yönelimli (OOP), Jenerik ve Prosedürel programlama paradigmalarını aynı proje içinde kullanmaya olanak tanır.
  • C ile Uyumluluk: C dilinin bir üst kümesi olarak tasarlandığı için mevcut C kütüphaneleri ve kodları C++ projelerinde rahatlıkla kullanılabilir.
  • Geniş Standart Kütüphane (STL): Konteynerler (vektör, liste vb.), algoritmalar (sıralama, arama vb.) ve yineleyiciler gibi yeniden kullanılabilir bileşenler sunarak yazılım geliştirmeyi hızlandırır.
  • Taşınabilirlik (Portability): Standartlara uygun yazılmış bir C++ kodu, farklı işletim sistemleri ve platformlar için çok küçük değişikliklerle veya hiç değişiklik yapmadan derlenebilir.

Kullanım Alanları

C++, performansın öncelikli olduğu hemen her alanda kendine yer bulur. Başlıca kullanım alanları arasında oyun geliştirme (Unreal Engine gibi motorlar), sistem programlama (işletim sistemleri, derleyiciler), gömülü sistemler (otomotiv, IoT cihazları), yüksek frekanslı finansal ticaret (HFT), masaüstü uygulamaları (Adobe Photoshop, Google Chrome) ve bilimsel hesaplama yer almaktadır.

Avantajları ve Dezavantajları

Her güçlü araç gibi C++'ın da getirdiği avantajlar ve dikkat edilmesi gereken zorluklar vardır.

Avantajları

  • Yüksek Performans: Donanıma doğrudan erişim ve verimli soyutlama mekanizmaları sayesinde özellikle hız-kritik uygulamalar için idealdir.
  • Ölçeklenebilirlik: Küçük bir komut satırı aracından, milyonlarca satır kod içeren büyük işletim sistemlerine veya oyun motorlarına kadar her ölçekteki projede kullanılabilir.
  • Geniş Kullanım Alanı: Oyun geliştirmeden finansa, gömülü sistemlerden bilimsel hesaplamaya kadar neredeyse her alanda bir kullanım yeri vardır. Bu durum, geniş bir bilgi birikimi ve topluluk desteği anlamına gelir.

Dezavantajları

  • Karmaşıklık: Çok sayıda özelliğe sahip olması ve esnek yapısı, öğrenme eğrisini oldukça dik hale getirir.
  • Manuel Bellek Yönetimi: İşaretçiler (pointers) ile bellek yönetimi tamamen programcının sorumluluğundadır. Belleğin serbest bırakılmasının (delete) unutulması, "bellek sızıntılarına" (memory leaks) yol açabilir. Modern C++'ta bu sorun akıllı işaretçiler (smart pointers) ile büyük ölçüde azaltılmıştır.
  • Uzun Derleme Süreleri: Özellikle şablonların (templates) yoğun kullanıldığı büyük projelerde derleme süreleri diğer dillere kıyasla oldukça uzayabilir.

Kaynakça

Stroustrup, Bjarne. "An Overview of C++." SIGPLAN Notices 21, sy. 10 (Ekim 1986): 7–18. Erişilme Tarihi: 18 Haziran 2025. https://dl.acm.org/doi/pdf/10.1145/323779.323736

Stroustrup, Bjarne. "A History of C++: 1979-1991." In History of Programming Languages-II, editörlüğünü Thomas J. Bergin, Jr. ve Richard G. Gibson, Jr. yaptığı, 699–769. New York, NY: ACM Press, 1996. Erişilme Tarihi: 18 Haziran 2025. https://dl.acm.org/doi/pdf/10.1145/234286.1057836

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
Ana YazarEfe Ali Bozkurt18 Haziran 2025 16:43
KÜRE'ye Sor