1.1 - Ders 1: C Hakkında

Bilgisayarların arkasında görünmeyen ama hayatımızı ayakta tutan diller vardır. C programlama dili, bu dillerin en köklü ve en önemlilerinden biridir. Bugün kullandığımız işletim sistemlerinden akıllı cihazlara kadar pek çok teknolojinin temelinde C yer alır. Bu derste C dilini teknik terimlere boğulmadan, herkesin anlayabileceği şekilde anlatacağım.

C, 1972 yılında Dennis Ritchie tarafından Bell Labs’te geliştirilmiş, genel amaçlı, prosedürel ve derlemeli bir programlama dilidir. Donanıma yakın çalışabilmesi ve yüksek performans sunması nedeniyle bilgisayar biliminin temel taşlarından biri kabul edilir. C, bilgisayara “ne yapacağını” adım adım anlatmamızı sağlayan bir dildir. Özellikle bilgisayarın donanımına yakın çalışması sayesinde çok hızlı ve verimli programlar yazılabilir. Basitçe söylemek gerekirse: C, bilgisayarın kalbine en yakın dillerden biridir.

C’nin önemi sadece eski olmasından gelmez. Aksine, bugün hâlâ aktif olarak kullanılmasının çok güçlü nedenleri vardır:

  • İşletim sistemleri (Linux gibi) büyük ölçüde C ile yazılmıştır
  • Gömülü sistemler (çamaşır makinesi, otomobil, akıllı saat) C kullanır
  • Hız gerektiren uygulamalar C ile geliştirilir
  • Birçok modern dil (C++, Java, C#) C’den esinlenmiştir

Yani C’yi öğrenmek, sadece bir dil öğrenmek değil, bilgisayarın nasıl çalıştığını anlamak demektir. C ile şunlar yapılabilir:

  • Bilgisayar programları
  • Oyun motorları
  • Cihaz yazılımları
  • Sürücüler
  • Bilimsel ve mühendislik uygulamaları

Kısacası: Donanım varsa, C orada çalışabilir. Temel Özellikleri:

  • Düşük seviye erişim: Bellek adresleri, pointer’lar ve bit düzeyinde işlemler yapılabilir.
  • Yüksek performans: Derlenmiş dil olduğu için hızlı çalışır.
  • Taşınabilirlik (Portability): Aynı C kodu, küçük değişikliklerle farklı platformlarda çalışabilir.
  • Minimalist yapı: Küçük bir standart kütüphaneye sahiptir.
  • Manuel bellek yönetimi: malloc, calloc, free gibi fonksiyonlar kullanılır.

İlk bakışta C biraz karmaşık görünebilir. Bunun nedeni, C’nin bilgisayara çok fazla özgürlük tanımasıdır. Bilgisayarın hafızasını, belleğini ve çalışma şeklini doğrudan kontrol edebilirsiniz. Bu şu anlama gelir:

  • Hızlıdır 
  • Güçlüdür 
  • Ama dikkat gerektirir 
  • Yanlış bir satır kod, programın çökmesine neden olabilir. Bu yüzden C, disiplinli düşünmeyi öğretir.

C öğrenen biri:

  • Programlamanın mantığını kavrar
  • Bellek, hız ve performans konularını anlar
  • Diğer dilleri öğrenirken zorlanmaz
  • “Bu program nasıl çalışıyor?” sorusuna cevap bulur
  • Birçok yazılımcı için C, programlamaya bakış açısını değiştiren bir dildir.

Sonuç olarak; Teknoloji ne kadar gelişirse gelişsin, sistemlerin en alt katmanında C hâlâ çalışıyor. C’yi öğrenmek, bilgisayarın dilini öğrenmektir. C bilen biri, sadece kod yazmaz; sistemi anlar.