Sistem Programlama Nedir?

Sistem programlama temel olarak, geliştiricilerin sistemle daha alt seviye bir katman üzerinden iletişim kurduğu dolayısıyla geliştirmelerin sisteme daha yakın bir noktada yapıldığı yazılım geliştirme modeline karşılık gelir. Sistem programları geliştirilirken kullanılan diller aşağı seviyeli olma eğilimindedir. Bunları yazmak için belli miktar teori ve mühendislik bilgisi gereklidir. Sistem programlama, yazılımın ağır sanayisi niteliğindedir. Bu nedenle ülkemizde bu alanda çalışan ve kendini geliştirmeye çalışan insan bulmak biraz sıkıntılı olmaktadır.



Tipik sistem programları şunlardır:

  •  İşletim Sistemleri
  •  Derleyiciler ve yorumlayıcılar
  •  Editörler
  •  Debug Programları
  •  Virüs ve Antivirüs yazılımları
  •  Haberleşme programları
  •  Gömülü sistem programları
  •  Aygıtların programlanması, aygıt sürücüler
  •  Veritabanı motorları
  •  Sanallaştırma yazılımları
  •  Oyun motorları
  •  ...

Sistem programlamadan günümüzde pratik olarak, yüksek seviyeli dillerde uygulama geliştirmek yerine (C#,Java, Ruby vb.) daha alt seviye diller yoluyla gerçekleştirilir. Sistem programlama faaliyetleri için en çok kullanılan diller C, C++ ve Sembolik Makine (spesifik ve performans gerektiren konular için makine dili gerekebilmektedir) dilleridir. İşletim sistemi çekirdeği ile standart C kütüphanesindeki fonksiyonlar ve sistem çağrıları yoluyla iletişim kurulmasını gerektirir. Sistem programlamanın daha alt seviyeli dillerde yapılıyor olması, bu konuda kazanılan deneyimlerin yüksek seviyeli dillerde işe yaramayacağı anlamına gelmez. Aksine alt seviyeyi bilmek pekiştirici bir etki yaratır. Bununla birlikte yüksek seviyeli bir dille çalışırken sistem programlama kısımları bizim için çoğunlukla görünmez veya zor görünür olur. Bu nedenle uğraştığımız alanlar veya karşılaşacağımız kavramlar üst seviye dillerde çalışanlar için çok anlam ifade etmeyecektir. Kısacası programlamanın ayrı bir dünyasına giriş yapıyoruz. Yarı yolda kalmamak dileğiyle hepimizi kolay gelsin.