Programlama dediğimiz şey PC gibi "aptal bir makinaya" neler yapacağını satır satır anlatmaktan geçiyor. Bu anlattığımız şeylerin geneline biz "problem" diyoruz. Günlük hayatta sizin programlama yaparken yaptığınız en temel şey "problem çözmektir".
Sizin bir web sitesi yapmanız, masaüstü uygulama yapmanız, mobil app geliştirmeniz vb. her türlü yaptığınız iş aslında problem çözmedir. Sizin önünüze verilen bir problemi satır satır yazarak çözersiniz.
Problem çözmek için de gerekli bazı şeyler vardır. Algoritma ve mantık diyoruz. Bir problemi en kısa ve en hızlı yoldan çözebilen kişi kendisine "iyi bir programcıyım" diyebilir. Senin 300 satırda yaptığın işi başkası 30 satırda yapıyorsa; sen daha başlardasın demektir. Zaten yazılımcılar arasında da rütbe sistemi vardır. Junior, Senior ve Mid-level olmak üzere temel olarak üçe ayrılır.
Algoritma kurmayı iyi biliyorsan ve kullanabiliyorsan; hızlı ve kısa çözümler üreterek problemi çözersin ki bu da programlamadaki en önemli şeylerin başında gelir.
Yazdığın kodların çalışmasını anlamak, değişiklik gerekince yapmak gibi şeyleri düşünebilmek ve analiz edebilmek için mantık gerekir. Eğer sen yazdığın kodu adam akıllı bilmiyorsan, bir yerde değişim yapılması gerekince zorlanıyor ya da yapamıyorsan; yine daha başlardasın demektir.
(Anlattığım şeyler belki de saatlerce üzerinde durabilecek konular. Burada çok ama çok kısa bir özetini sunabiliyorum sana.)