Bu yazı serisi, C++ programlama dili hakkında tuttuğum notları içerir.
Programlama Dili Nedir?
Bilgisayar en temelde 2 parçadan oluşur. Bunlar işlemci (yani CPU), bellek yani(RAM). İşlemci, bellekte bulunan komutları okur ve verilen komuta göre bellekte bulunan veriyi değiştirir/manipüle eder. Yani bellekte 2 şey tutuyoruz:
- Veri: resim, müzik, sayı, metin …
- Komut: İşlemcinin, veri üzerinde yapmasını istediğimiz işlemi ifade eder.
Programlama dili, bu komutların bütünü; program, ise bu komutların anlamlı bir şekilde bir araya gelmiş halidir. Muhtemelen anlamsız olarak da getirebilirsiniz fakat o zaman çok bir işe yaramayacaktır.
Machine language is the lowest level of programming language that directly corresponds to the instructions executed by a computer’s hardware. It consists of a series of binary numbers that represent specific instructions and data. In simple terms, it is the language that computers understand at their core.
https://www.lenovo.com/us/en/glossary/machine-language/?orgRef=https%253A%252F%252Fwww.google.com%252F
En düşük seviyeli programlama diline makine dili (machine language) denir. Makine dilinde yazılan komutlar direk olarak işlemci üzerinde çalışabilir. Düşük seviyeli (low level) diller, donanım seviyesine daha yakındır. Yüksek seviyeli (high level) diller ise konuşma diline daha yakındır.
Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.
https://tr.wikipedia.org/wiki/Programlama_dili
Yüksek seviyeli dilleri çalıştırabilmek için öncelikle düşük seviyeli bir dile çevirmeliyiz. Bu çevirme işlemine derleme (compile), çeviren yazılıma derleyici (compiler) denir.
Derleyicilere alternatif olarak yorumlayıcı (interpreter) dediğimiz programlar vardır. Bu programlar yazılmış olan yüksek seviyeli kodu alıp parça parça çalıştırır.
In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
https://en.wikipedia.org/wiki/Interpreter_(computing)
Algoritma Nedir?
Algoritma, bir işi yapmak için tanımlanan adımların/komutların bütünü. Örneğin yemek tarifi, bir algoritmadır. Öyle midir acaba? İnceliyelim:
- Algoritma, sonlu adımdan oluşmalı. Yemek tarifleri de maksimum 10-20 adımdan ibaret. ✅
- Algoritmanın 0 veya daha çok girdisi olabilir. Yumurta, un, su, şeker … ✅
- Algoritmanın en az bir çıktısı olmalı. Kek✅
- Algoritmanın her adımında sonlu zamanda bitirilebilecek anlamlı bir iş yapılmalı. 2 yumurta kır; yumurtaları 1dk çırp; … ✅
- Algoritmanın her adımı kesin olmalı. Herhangi bir kafa karışıklığına sebep verecek bir anlatım yapılmamalı. Aynı tarifi bir robot, ben, Avustralyalı bir arkadaş kullandığımızda üçümüz de aynı keki, aynı tadla yapabilmeliyiz ama bırakın tadı tutturmayı keki bile yapamıyoruz.❌
Deneme Zamanı
- Okula/işe gitmekle alakalı bir algoritma kurun. Daha sonra bu algoritmayı eleştirel bir gözle inceleyip hatalarınızı bulmaya çalışın.
- Bir probleminizi ele alın ve o probleminizin çözümü için bir algoritma yazın.


Leave a Reply