Kodlama Dilleri ve C’nin Yeri— C000

eceiremsiser
TechSheet
Published in
3 min readFeb 26, 2024

--

Herkese merhabalar, bu yazımla birlikte uzunca bir C maratonuna başlıyoruz. “C nedir?” sorusundan önce kodlama evrenimizin alfabelerine bakalım.

C Dili

Bildiğiniz üzere bilgisayarlar insan dilinden anlamaz. Bilgisayarlar ikili (binary) sayı sistemi üzerinde çalışır, yani her veri sadece “1” ve “0”lardan oluşur. Bilgisayar her veriyi ikili sayı sistemi üzerinden işler ve depolar. Bu nedenle “1” ve “0”lar, bilgisayarların işlemesi için temel yapı taşlarıdır ve elektrik sinyallerinden oluşur. Ancak biz manuel olarak 1 ve 0 yazmıyoruz çünkü bu işe kalkışsak milyonlarca satır yazmamız gerekir ve kodun takip edilmesi çok zor bir hâl alır. Bunun için oluşturulmuş yazılım dilleri var. Donanıma yakın seviyede yazılmış ilk dillerden biri Assembly’dir. Bu dil aktif olarak yazılmıyor aslında. Kimse bunu bilmenizi de beklemez ama bir örnek görmüş olun:

Assembly dilinde “Hello, World”

Bu dili, projeler geliştikçe anlamak ve takip etmek zorlaşmıştı. Teknoloji geliştikçe bu dilde yazılan kodlar çok alan kaplamaya başlamıştı ve yenilerine ihtiyaç duyulmuştu. Zaman geçtikçe donanımdan daha uzak ve insanların daha rahat anlayacağı diller ortaya çıkmıştır. Bunlar ikiye ayrılır:

Compiled (Derlenen) Diller, kodun bir kaynak kodundan makine diline çevrilmesiyle oluşan yürütülebilir (executable) bir dosya oluşturur. Derlenen dillerin örnekleri arasında C, C++, Go ve Rust bulunmaktadır.

Interpreted (Yorumlanan) Diller, kodun yürütülmesi sırasında yorumlanarak çalışır. Bu nedenle yorumlanan dillerde kodun derlenmesi gerekmez. Yorumlanan dillerin örnekleri arasında JavaScript, Ruby ve PHP bulunmaktadır.

Yazılım dilleri Yüksek Seviyeli Diller ve Düşük Seviyeli Diller olarak da ikiye ayrılabilir. Bunun için yazımız var, tekrar bahsetmiyorum. Zaten aşağıdaki kodların görsellerinden de hissedeceksiniz.

Şimdi kod örneklerimize bakalım (kodlar vscode uygulamasında yazılmıştır.):

Python’da “Hello World!” yazımı
C’de “Hello World!”

Gördüğünüz üzere C kodu çalıştırıldığında {gcc deneme.c -o deneme} gibi bir ifade var fakat Python’da yok. İşte buradaki “gcc” bir derleyici. Derleyicinin seçimi, genellikle kullanıcı tercihlerine, proje gereksinimlerine ve platforma bağlı olarak yapılır.

Peki neden C’yi kullanalım? C’nin kullanım alanları neler?

C, düşük seviyeli programlama dillerinden biridir ve diğer yüksek seviyeli dillere göre daha fazla kontrol ve esneklik sağlar. C işaretçiler kullanarak dinamik bellek yönetimi sağlar. Bu nedenle sistem yazılımı, gömülü sistemler, sürücü geliştirme gibi alanlarda kullanılır. Verilen görsellerde de gördüğünüz üzere C daha katı ve ne yaptığınızı diğer dillere kıyasla daha çok bilmeniz gereken bir dildir.

Her iki dilde de belirli seviyede ilerlemiş biri olarak söylüyorum, C’ye ön yargı ile başlanır ancak algoritmayı ve işlemlerin aslında bilgisayara ne ifade ettiğini daha çok anladığınız bir dildir. Aslında derdinizi anlatmaya başlamak bu aşamada başlıyor çünkü Python çok bir dert vermez. C’de aldığınız hataları araştırıp sormak zorunda kaldığınız zaman şu dört aşama gelişiyor:

  1. Sorunu anlamak
  2. Sorunu ifade edebilmek (burada idrak kısmı iyice devreye giriyor)
  3. Araştırma ve soruşturma aşamaları (kaynak taramaları vs.)
  4. Bulduğunuz sonuçları anlamak ve sentezleyerek hatayı düzeltmek
    (işte bu kısım bizi asıl geliştiren kısım)

Şimdilik programlama dillerine dair bilgileri öğrenmiş ve C öğrenmek konusunda bir motivasyon oluştuğunu düşünüyorum. Bir sonraki yazımda C’de kod yazma süreçlerini anlatacağım. Buraya kadar geldiyseniz alkış atmayı unutmayın! Sonraki yazımda görüşene kadar kendinize de çok iyi bakın!

--

--

eceiremsiser
TechSheet

I am a computer engineering student at Ankara University, where I am eager to learn new information and research new solutions in my field.