Programlama, bilgisayara çeşitli görevleri gerçekleştirmesi için talimat vermenin bir yoludur. Bu talimatlar makinelere nasıl çalıştırılacağını veya çalıştırılacağını söyleyebilir. Programlama, bilgisayara ne yapması gerektiğini söyleyen, sorunlara çözüm üreten ve bu çözümleri algoritmalarla destekleyen bir öğretim sürecidir.
Günümüzde birçok özelliğe ve yüksek işlem gücüne sahip bilgisayarlar veya donanımlar var. Hatta süper bilgisayar adı verilen, harcanan milyonlarca dolarlık donanımlar bile kullanılıyor. Ama bu bilgisayarlara ne yapacaklarını söylemedikçe, dünyadaki en aptal cihazlardan farklı olmayacaklar. Programlamanın tanımı, bilgisayarları hayatımızda bu kadar önemli kılmak için devreye giriyor.
Programlamanın çok sayıda tanımı vardır, ancak benim için en anlamlı tanım;
“Programlama, bilgisayarların sorunları nasıl çözdüğüne dair talimatınızdır.”
Burada önemli olan iki anahtar kelime grubu vardır: Siz ve Sorunları Çözme.
Siz: Bilgisayarlar, programcı (Siz) olmadan işe yaramaz. Bilgisayarlar yalnızca sizin yapmalarını istediğiniz şeyi yapar.
Sorunları Çözme: Bilgisayarlar, sorunları çözmek için kullanılan araçlardır. Elbette bilgisayarlar karmaşık görünen aygıtlardır, ancak programcılar sorunları çözer ve bilgisayarlar bu sorunları kolaylaştırmak için vardır.
Bilgisayar programları, bilgisayarların çalışmasını sağlayan şeylerdir. Programlar olmadan, modern bilgisayarlar bile elektriği ısıya dönüştürmekten başka bir işlev sağlamaz. Bilgisayarımızdaki işletim sistemi, tarayıcılar, e-postalar, oyunlar, video oynatıcılar programlardır.
Programlama yaratıcı bir çalışmadır: bir problemi çözmenin doğru ya da yanlış yolu yoktur. Aynı şekilde, bir resmi boyamanın doğru veya yanlış bir yolu yoktur. Ancak yapılacak seçimler var. Bir yol diğerinden daha iyi olabilir, ancak bu diğer yolların yanlış olduğu anlamına gelmez! Bu yollara Algoritmalar denir.
Programlar, bilgisayarlar için bir kullanım kılavuzu görevi gören bir metin dosyasıdır. Bir uygulamayı başlattığınızda, bilgisayara metin dosyasını okumasını ve içindeki komutları yürütmesini söylersiniz. Bilgisayarın işlem gücüne bağlı olarak, bir sistem muazzam miktarda taramayı tarayabilir ve bunları inanılmaz hızlı bir şekilde takip edebilir.