# C++ Giriş

**"Merhaba Dünya",** artık an itibari ile C++ programlama derslerine başlıyoruz. Bunun için ilk olarak C++ nedir, nerelerde kullanılır, neden tercih etmeliyim gibi soruları cevaplandırarak eğitimimize başlayabiliriz

## 1. C++ Nedir?

**C++**, 1979'da Bell Labs'da Bjarne Stroustrup tarafından geliştirilen **derlemeli** ve **nesne yönelimli** bir **orta düzey** programlama dilidir. C++, Windows, Mac OS ve UNIX'in çeşitli sürümleri gibi çeşitli platformlarda çalışır.

{% hint style="info" %}
Yazılan bir kodu başka bir programlama diline çevirdikten sonra çalıştıran ve koddaki hataları yakalayan, kodun iyileştirilmesini daha kod çalıştırmadan yapan çeviricilere **derleyici (compiler)**, kodu satır satır veya bloklar halinde çalıştırıp sırası gelmeyen satırları hiç çalıştırmayan, sırası gelmeyen satırlardaki hataları göremeyen ve kodun bütününe ait iyileştirmeleri yapamayan çeviricilere de **yorumlayıcı (interpreter)** adı verilmektedir. Detaylı bilgi için [bakınız.](https://techdifferences.com/difference-between-compiler-and-interpreter.html)
{% endhint %}

## 2. C++ İle Neler Yapılabilir?

* C++ dilinin orta seviyeli bir dil olmasından dolayı diğer yüksek seviyeli programlama dillerinden gerekli optimizasyon yapıldığında daha performanslı olduğu söylenebilir.
* Nesne Yönelimli Programlama desteği sayesinde modern programlamaya imkan vermesinden dolayı Sürücü yazılımları, Oyun, Görüntü işleme, İşletim sistemleri gibi hızın önemli olduğu yerlerde kullanılır.
* C++ öğretme ve araştırma için yaygın olarak kullanılır çünkü temel kavramların başarılı bir şekilde öğretilmesi için yeterince temizdir.
* OpenCV görüntü işleme kütüphanesi ilk olarak C ile geliştirilmiş daha sonra C++ ile geliştirilmeye devam etmektedir.
* Unity ve bir çok oyun motoru C++ ile geliştirilmiştir.
* TensorFlow, Apache MXNet gibi Yapay Zeka araçları da C++ ile geliştirilmiştir.
* Chrome tarayıcısı ve Chrome, Node.js V8 JavaScript moturu C++ ile geliştirilmiştir.
* Benzer şekilde bir çok programlama diline ait derleyici yine C++ ile geliştirilmiştir.
* C ++, donanımın gerçek zamanlı kısıtlamalarla doğrudan manipülasyonuna dayanan aygıt sürücülerini ve diğer yazılımları yazmak için çok kullanışlıdır.
* Apple Macintosh veya Windows çalıştıran bir PC  C++ ile yazıldığı için kullanılan işletim sistemleri üzerinde çalışan uygulamalar yazmak için kullanılabilir.

## 3. Neden C++ Kullanmalıyım?

* **C++ programlama dili**ni tercih etmenizin birçok sebebi olabilir ancak ben burada önemli gördüğüm avantajlarını sizlerle paylaşacağım. İşte **C++ dili**ni seçmenin sebepleri;
* **C++ dili** genel amaçlı bir programlama dilidir. İsterseniz düşük seviyede kodlar isterseniz de yüksek seviye kodlar kullanarak programlama yapabilirsiniz.
* **C++,** **doğrusal**, **yapısal** aynı zamanda da **nesne tabanlı** bir programlama tekniklerine imkân tanır.
* Günümüzde ki güncel işletim sistemi olan **Windows**, **Linux**, **Mac OS** gibi işletim sistemleri C++ ile yazılmıştır. Sürücüler veya donanımlarla ilgili iletişim kuran programlar yapılacaksa **en iyi** **tercih C++ dili** olacaktır.
* **C++**, en karmaşık ve zorlu algoritmaların altından kolaylıkla kalkabilir. Tamamen **nesne tabanlı** ve **modern** bir programlama dilidir.
* **C++ dili** ile isterseniz düşük seviyede kod isterseniz de yüksek seviyede kodlar yazabilirsiniz. Yani isterseniz sadece donanım seviyesinde işlemler dahi yapabilirsiniz. Buda size hem kolaylık hem de büyük bir esneklik sağlayacaktır.
* **C++** günümüzdeki teknolojiye çok iyi bir şekilde ayak uydurmayı başarmıştır ve &#x43;**++ dili**ni kullanarak, hem donanım tabanlı **mikro kontrolör uy** hem de **.NET** teknolojisini kullanarak **masaüstü**, **web** ve **mobil uygulamalar** geliştirebilirsiniz.
* **C++** dilini kullanan büyük bir kitle vardır. Buda sizlere hem çalışma ve öğrenme kaynağı açısından yeterli doküman bulmayı hem de bir sorun yaşadığınızda kolay bir şekilde yardım bulabileceğinizi göstermektedir.
