# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://derslik.kerteriz.net/c++/c++-giris.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
