Kodlama olarak da bilinen bilgisayar programlama, yazılım oluşturma sürecidir. Yazılım demişken yazılımın da ne olduğuna değinelim. Yazılım, bir bilgisayarın gerçekleştirmesi için bir talimat kümesidir.
Programlama, algoritması çıkarılan bir problemin uygun bir yazılım dili ile kodlaması işlemidir. Böylece bilgisayar tarafından çalıştırılabilir bir uygulama yazılmış olunur. Birçok programlama dili ve birçok farklı bilgisayar türü mevcut olsa da, önemli ilk adım, çözümün olması gerektiğidir. Bir algoritma olmadan program olamaz.
Özetle: Bilgisayara kullandığımız dil ile ne yapacağını söyleme işi olarak da ifade edebiliriz.
Bilgisayar bilimi programlamanın konusu değildir. Bununla birlikte, programlama, bir bilgisayar bilimcinin yaptığı şeyin önemli bir parçasıdır. Programlama, genellikle sorunların çözülmesi için bir dili temsil eder. Bu nedenle, dilin temsili ve onu oluşturma süreci disiplinin temel bir parçası haline gelir.
Algoritmalar, problem örneğini ve istenen sonucu elde etmek için gerekli olan adımı temsil etmek için gerekli olan veriler açısından bir problemin çözümünü tanımlar. Programlama dilleri, hem süreci hem de verileri temsil etmek için notasyonel bir yol sağlamalıdır. Bu amaçla, dillerin yapısında bulunan kontrol yapıları ve veri türleri programlamanın yapısını sağlar.
Kontrol yapıları, algoritmik adımların uygun fakat kesin bir şekilde temsil edilmesine izin verir. En azından, algoritmalar sıralı işlem gerçekleştiren, karar verme için seçim yapan ve tekrar eden kontrol için yineleme gerçekleştiren yapılar gerektirir. Dil bu temel ifadeleri sağladığı sürece, algoritma gösterimi için kullanılabilir.
Bilgisayardaki tüm veri öğeleri, binary dizeleri olarak temsil edilir. Bu dizeleri işlemek için veri tiplerine sahip olmalıyız. Veri türleri, bu ikili veri için bir yorum sağlar, böylece verileri, çözülmekte olan problem ile ilgili olarak anlamlı bir şekilde düşünebiliriz. Bu düşük seviyeli, yerleşik veri türleri (bazen ilkel veri türleri olarak adlandırılır) algoritma geliştirme için yapı taşlarını sağlar.
Örneğin, çoğu programlama dili tamsayılar için bir veri tipi sağlar. Bilgisayarın belleğindeki ikili basamak dizeleri, tamsayı olarak yorumlanabilir ve tamsayılarla genel olarak ilişkilendirdiğimiz genel anlamlar (ör. 7, 1453 ve -257) dikkate alınabilir. Buna ek olarak, bir veri türü, veri öğelerinin katılabileceği işlemlerin bir açıklamasını da sağlar. Tamsayılarla toplama, çıkarma ve çarpma gibi işlemler yaygındır. Sayısal veri türlerinin bu aritmetik işlemlere katılabilir.
Sıkça bizim için ortaya çıkan zorluk, problemlerin ve çözümlerinin çok karmaşık olması gerçeğidir. Bu karmaşa, dil tarafından sağlanan yapılar ve veri türleri, karmaşık çözümleri temsil etmek için kesinlikle yeterli olsa da, genellikle problem çözme süreci boyunca çalışırken dezavantajlıdır. Bu karmaşıklığı kontrol etmenin ve çözümlerin bulunması için çeşitli yöntemlere ihtiyacımız vardır.
Bu nedenle programlama ciddi derecede zaman ve emek isteyen zorlu bir disiplin kümesidir. Problemin belirlenmesinden başlayıp, programın tamamlanıp test aşamasına kadar bir dizi disiplin ile uzun soluklu bir süreçtir.
Add Comment