Programlama, bir bilgisayara ya da cihaza nasıl davranacağını, hangi durumlarda ne tepki vereceğini ve bu tepkiler sonucunda nelerin etkileneceğini öğretme işlemidir.
Söz konusu cihazın davranışlarını önceden belirleyip, o komutlara göre çalışacak yazılımı yapmak, bu yazılımı cihazın anlayacağı dile çevirmek ve cihaza yükleyerek cihazın nasıl çalışacağını ona bildirmek programlamadır. Nasıl ki beynimiz hiç karşılaşmadığı bir durumla karşılaşınca nasıl davranacağını bilmez, cihazlarda öyledir. İşte durumlar karşısında cihazın davranışlarını belirleme işine programlama diyoruz.
Programlama işlemi 6 ana temelden oluşur:
1- Problemin belirlenmesi; Bir program yazmak için öncelikle ortada bir problem olması gerekir. Bu problemin ne olduğunu iyi tanımak ve probleme neden olan etkenleri iyi belirlemek lazım gelir.
2- Çözüm yollarının belirlenmesi; Probleme neden olan etkenleri ortadan kaldırmak için bir çözüm yolu geliştirilmeli ve bu çözüm yolunun problemi en doğru şekilde çözeceğine emin olunmalı.
3- Algoritmanın geliştirilmesi; Algoritma bir problemin çözümü için gerekli basamakları sıralayıp çözüme ulaştıracak merdiveni tamamlama biçimidir. Programlamada çok önemli yere sahiptir. Mantıksal ve sözel olarak çözüme ulaşmak için hangi sırayı takip etmesi gerektiğini belirtmek için kullanılır.
4- Akış şeması oluşturulması; Akış şeması algoritmanın görselleştirilmiş halidir diyebiliriz. Algoritma ve akış şeması programı en az hata ile en küçük ayrıntıları dahi atlamadan yazmamız için büyük kolaylık sağlayacaktır.
5- Uygun programlama dilinin seçilmesi; Programlama dili insan ile programın yazılacağı bilgisayar arasında iletişimi sağlayan, programın nasıl çalışacağı ve çalışırken hangi durumlarda nasıl bir tepki vereceğini standart bir şeklinde bilgisayara ve derleyiciye açıklayan söz dizimi şeklidir. Seçilen programlama dili problemin çözümünde tüm ihtiyaçları karşılayacak kapasiteye sahip olması gerekmektedir. Bir web sitesini programlamak için Assembly dili kullanmak anlamsızdır. Tıpkı bir işlemci programlamak için PHP kullanılamayacağı gibi.
6-Programın yazılması, derlenmesi ve test edilmesi; Gerekli olan programın bilgisayar yardımıyla yazılması ve derlenmesidir. Derleme kavramı bilgisayar ile yazdığımız programın derleyici yardımıyla programın çalıştırılacağı cihazın anlayacağı dile (Makine Diline) dönüştürülmesidir. Test aşaması ise programın düzgün çalışıp çalışmadığını, komutlara gerekli tepkiyi gösterip göstermediğini, olası ve olağan dışı durumlarda nasıl tepki verdiği, son kullanıcının hata ile karşılaşmaması için her türlü olasılığın testini yapmaktır.