Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

C++ (programlama dili) nedir, ne için kullanılır?

C++ programlama dili nedir, ne için kullanılır? C++ nasıl bir tasarım felsefesine sahiptir? C++ nesne yönelimli bir programlama dili midir? C++ öğrenmeye nereden başlamak gerekir? Bu yazıda yukarıda geçen sorulara yanıt verilmesi amaçlandı.

Giriş

Tanım

C++ genel kullanım amaçlı bir programlama dilidir. Danimarkalı bilgisayar bilimcisi Bjarne Stroustrup tarafından C programlama dilinin uzantısı olarak geliştirilmiştir. Dil zamanla önemli ölçüde genişledi ve modern C++ artık düşük seviyeli bellek işleme olanaklarına ek olarak nesne yönelimli, genel ve işlevsel özelliklere sahip olmayı başardı.

- ADT Çözümleri -
Yönetilen Hizmetler Görseli
Advanced Dynamics Teknoloji'de işletmeler için dış kaynaktan hizmet modeliyle Yönetilen Hizmetler çözümleri sunuyoruz.

C++ programlama dili neredeyse her zaman derlenmiş bir dil olarak uygulanır ve birçok satıcı, Free Software Foundation, LLVM, Microsoft, Intel, Oracle ve IBM dahil olmak üzere C++ derleyicileri sağlar, bu nedenle birçok platformda kullanılabilir.

Standardizasyon

C++, Uluslararası Standardizasyon Örgütü (ISO) tarafından standartlaştırılmıştır ve en son standart sürüm ISO tarafından Aralık 2020’de ISO/IEC 14882:2020 (gayri resmi olarak C++20 olarak bilinir) olarak onaylanmış ve yayınlanmıştır.

Tarihçe

1979’da Danimarkalı bir bilgisayar bilimcisi olan Bjarne Stroustrup, C++’ın atası olan “C with Classes” üzerinde çalışmaya başladı. Yeni bir dil yaratma motivasyonu, Stroustrup’un doktora tezi için programlama deneyiminden kaynaklandı.

Stroustrup, Simula’nın büyük yazılım geliştirme için çok yararlı özelliklere sahip olduğunu, ancak dilin pratik kullanım için çok yavaş olduğunu, BCPL’nin ise hızlı ancak büyük yazılım geliştirme için uygun olamayacak kadar düşük olduğunu savundu. Stroustrup, AT&T Bell Laboratuarlarında çalışmaya başladığında, dağıtık bilgi işlem açısından UNIX çekirdeğini analiz etme sorunu yaşadı.

Doktora deneyimini hatırlayan Stroustrup, Simula benzeri özelliklerle C dilini geliştirmek için yola çıktı. C dili genel amaçlı, hızlı, taşınabilir ve yaygın olarak kullanıldığı için seçildi. C ve Simula’nın etkilerinin yanı sıra, ALGOL 68, Ada, CLU ve ML dahil olmak üzere diğer diller de bu yeni dili etkiledi.

Kullanımı

C++, sistem programlamaya ve gömülü kaynakları kısıtlı yazılımlara ve büyük sistemlere entegre etmeye yönelik olarak tasarlanmıştır ve tasarımında öne çıkan özellikler performans, verimlilik ve kullanım esnekliğidir. C++ aynı zamanda, yazılım altyapısı ve masaüstü uygulamaları, video oyunları, sunucular (örn. kritik uygulamalar (örneğin telefon anahtarları veya uzay sondaları) gibi alanlarda kullanılır.

Bir programlama dili öğrenmeye başlamadan önce onun yetenekleri hakkında bilgi sahibi olmalı ve ne için kullanıldığına bakmalısınız. C++, güçlü bir genel amaçlı programlama dilidir. İşletim sistemleri, tarayıcılar, oyunlar vb. geliştirmek için kullanılabilir.[1] C++, prosedürel, nesne yönelimli, işlevsel vb. gibi farklı programlama yollarını destekler. Bu, C++’ı esnek olduğu kadar güçlü kılar.

C++, oyun geliştirmede en yaygın kullanılan programlama dillerinden biridir. Örneğin C++ şu oyunları geliştirmek için kullanılmıştır: World of Warcraft, Counter-Strike ve StarCraft gibi oyunlar, Unreal Engine gibi oyun motorları ve Xbox, PlayStation ve Nintendo Switch dahil olmak üzere oyun konsolları.[2]

Tasarım felsefesi

C++ programlama dili var olduğu günden bu yana bir dizi ilke tarafından yönlendirilmiştir: Bunlar aşağıda şu şekilde sıralanabilir:

  • Gerçek problemler tarafından yönlendirilmeli ve özellikleri gerçek dünya programlarında hemen kullanışlı olmalıdır.
  • Her özellik uygulanabilir olmalıdır (bunu yapmanın oldukça açık bir yolu ile).
  • Programcılar kendi programlama stillerini seçmekte özgür olmalı ve bu stil C++ tarafından tam olarak desteklenmelidir.
  • Programları ayrı, iyi tanımlanmış bölümler halinde organize etmek için olanaklar sağlanmalı ve ayrı ayrı geliştirilmiş bölümleri birleştirmek için olanaklar sağlamalıdır.
  • Tip sisteminde örtülü ihlal yok (ancak açık ihlallere izin verilir; yani programcı tarafından açıkça talep edilenler).
  • Kullanıcı tarafından oluşturulan türlerin, yerleşik türlerle aynı desteğe ve performansa sahip olması gerekir.
  • Kullanılmayan özellikler, oluşturulan yürütülebilir dosyaları olumsuz etkilememelidir (ör. daha düşük performansta).
  • C++ altında bir dil olmamalıdır (birleştirme dili hariç).
  • Programcının amacı bilinmiyorsa, manuel kontrol sağlayarak programcının bunu belirlemesine izin verilmelidir.

Nereden başlamak gerekir?

C++ için W3Schools, Codeacademy ve freeCodeCamp gibi eğitim hizmetleri üzerinden ilk eğitimler başlatılabilir. Ancak bu tür eğitim hizmetlerinden istifade etmek için öncelikle temel düzeyde bir İngilizce bilmeniz gerekir. Eğer Türkçe dersler almak isterseniz Youtube’da Yazılım Bilimi kanalını ziyaret edebilirsiniz.

Dipnotlar


[1] “Learn C++ Programming – Programiz.” https://www.programiz.com/cppprogramming. Erişim tarihi: 10 Ağu. 2022.

[2] “What is C++ used for? – Codecademy.” 10 May. 2021, https://www.codecademy.com/resources/blog/whatiscplusplususedfor/. Erişim tarihi: 10 Ağu. 2022.

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...

React ‘hook’ nedir ve ne için kullanılır?

React hook, React JavaScript kitaplığındaki bir özelliktir. Hook'lar, sınıf bileşenlerine ihtiyaç duymadan, fonksiyon bileşenlerinde durum (state) ve diğer React özelliklerini kullanmaya olanak tanır. İlk...

IPv4 ve IPv6 nedir? Aralarındaki farklar nelerdir?

Her gün internete bağlanıyoruz, ancak teknik olarak internete nasıl bağlandığımızla ilgili bir fikriniz var mı? İnternet, modern yaşamın ayrılmaz bir parçası haline geldi ve...

Daha fazla blog içerik

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...