in

Programlama Nedir?

Bilgisayar tabanlı programlama yapabilmek için pek çok alternatif yol ve teknoloji seçilebilir.

Programlama, günlük hayattaki genel veya özel problemlerin makinelere tanıtılması, öğretilmesi ve öğretilen çözüm yolları ile sonuca ulaştırılmasını sağlamak amacıyla kullanılan teknik bir terimdir.

Günlük hayatta karşılan bir problemin makineler ile çözülmesi istendiğinde öncelikle problemin gerçek hayattan soyutlanıp makineye anlatılması gerekir. Programlama, problemin tespiti ile başlayıp ürünün elde edilmesi, dağıtılması ve bakım süreçlerinin tamamını kapsayan bir süreç olarak düşünülmelidir. 

Kodlama

Bilgisayar tabanlı programlama yapabilmek için pek çok alternatif yol ve teknoloji seçilebilir. Farklı teknolojiler ve çözüm yolları kullanılarak çok çeşitli ürünler elde edilebilir. Bu noktada programlamada kullanılan teknolojilerden ve geliştiricilerden bağımsız olarak üretilen yazılımın kullandığı çözüm yolları, algoritma ve akış şemaları ile ifade edilmelidir. Neticede geliştiriciden ve teknolojiden bağımsız, problemi ve çözüm yollarını net ifade eden bir materyalin mutlak suretle belgelendirilmesi ve elde tutulması gereklidir.
 Yazılımların hiç şüphesiz belirli bir ömrü olacaktır. Teknolojinin gelişmesi, ön görülemeyen ihtiyaçlar, tasarımdan kaynaklanan hatalar, yeni talepler gibi birçok nedenden dolayı yazılımın genişleyebileceği ve bakım ihtiyacı mutlaka göz önüne alınmalıdır.

Program nasıl yazılır?Konunun daha iyi anlaşılması için bazı terimlerin ve ifadelerin anlaşılması gerekmektedir. Konu ile mesleğimiz gereği program ve programcılık dışında çok detaylı bilgi sahibi olmadığımızdan(olmamamız gerektiğinden) dolayı,konunun daha iyi anlaşılması için bu terimleri daha iyi anlatan birevebölüm (2 numaralı kaynak) aşağıya alınmıştır.Bilgisayarlar işlemlerin kendi anlayacağı dilde (makinedili) açıkça yazılmasını isterler. Ancak bu işlemlerin makine dilinde bir programcı tarafından yapılması yerine programlamanın yapısal biçimde bir dil aracılığıyla yapılmasını ve daha sonra çevrilerek bilgisayara anlatılması işlemini programlama dilleriüstlenirler. Bu çevirme işlemine derleme (compile) ya da yorumlama (interpriting) denir. Programlama;kullanıcıların isteklerini karşılayacak muhasebe,stok, oyun, işletim sistemi gibi programları oluşturacak alt yapıyı (kodları) hazırlamaktır. Bu alt yapıyı oluşturan kişilere programcıdenir.Bir programın çalışması demek, Mikroişlemciye daha önceden hazırlanmış bir kod yığınının gönderilmesi demektir. Bu kodlar,işlemcinin anlayacağı ASM dilinde(makine dilinde yazılmış kısa kodlardır, ASM en hızlı programlama dili olmakla beraber, kullanılması en zor programlama dilidir. ASM dilinde kullanılan tüm komutlar sadece işlemciye ve donanıma hitap etmektedir ve programı yazan kişinin tüm donanımı bilmesi gerekmektedir. Örnek vermek gerekirse A markalı bir ekrankartı için yazılmış bir program B markaları bir ekran kartında çalışmaz, çünkü donanımsal olarak farklılıklar vardır. ASM dili için kısaca bilgisayarın anadili diyebiliriz, çünkü CPU (Merkezi İşlem Birimi-İşlemci) sadece ASM kodlarını anlayacak bir yapıyasahiptir.Bilgisayarişlemcilerinin ilk çıktığı günlerde sadece ASM dili olduğu için,program yazmak gerçekten çok zordu. Her değişen donanım yada işlemci için tekrar program yazılması gerekiyordu, donanımsal zorluklar dışında yazılımsal zorluklarda vardı, Ekrana sadece A yazmak için bile bol miktarda kod yazılıyordu. Bu tip sorunları kaldırmak için kullanılması kolay alt seviye programlama dillerioluşturuldu(C, Basic, Pascal, Cobol v.s.).Alt Seviye programlama dilleri ile yazılan kodlar işlemci tarafından anlaşılamayan kodlardır, bu kodlar Compiler(Derleyici) tarafından işlenerek CPU’nun anlayacağı kodlara (ASM) çevrilir.

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. Algoritma ve akış şemasını daha geniş kapsamlı olarak ele alacağımız bir ders hazırlayacağız.

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özdizimi şeklidir. Bir örnekle bu konuyu daha iyi açıklayalım; Mesela arkadaşından su getirmesini isteyeceksin, Bunu arkadaşının anlayacağı dilde ona açıklamalısın. Örneğin arkadaşın Türkçe biliyorsa ona “Su getirir misin” demelisin. Arkadaşına su getirmesini söylediğin bu dile programlama dilidir diyebiliriz.

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. Biraz önce su isteme örneğinde arkadaşın anlayacağı dil ile ondan su istemiştik. Burada da aynı örnek ile devam edelim. Arkadaşımız bizim su istediğimizi algılar ve beyninde suyun ne olduğunu, nerde bulabileceğini, neyle ve nasıl taşınacağını, çözümler. Bu işlemi derlemeye benzetebiliriz. 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ğinin testini yapmaktır.

Kodlama Nedir?

Kodlama diğer adıyla programlama kelime anlamıyla belirli şartlara ve düzene göre yapılması öngörülen işlemlerin bütünü anlamına gelir. Programlama bilgisayara ya da elektronik devre ve mekanik sistemlerden oluşan düzeneklere bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya bir kısmı olarak tanımlanır.

Neden Çocuklara Programlama Öğretmeliyiz?

Bilgisayar alanında çok önemli isimlerin hepsinin ortak özelliği küçük yaşta programlama öğrenmiş olmalarıdır. Teknolojideki gelişmeler sistematik ve alternatif düşünme becerisini geliştiren, olaylar arasındaki bağlantıyı görmeyi sağlayan programlamayı hem eğlenceli hem de öğretici olarak çocuklara öğretebilmek artık mümkün hale gelmiştir. Özet olarak programlama öğrenmek insana ; sistematik düşünme, problem çözebilme, olaylar arasındaki ilişkileri görebilme, yaratıcı düşünebilme gibi yetiler kazandırıyor.

Küçük yaşta programlama öğrenmenin önemini kavrayan programcılar bunu kolayştırmak için çeşitli araçlar ve diller geliştirdiler.Çocukalara programlamayı sevdirecek ve eğlendirecek şekilde hazırlanmış bir çok uygulama mevcut.  Aralarında dünyanın en meşhur programcıları aynı zamanda büyük teknoloji firmalarının kurucularından Sergey Brin, Mark Zuckerberg ve Bill Gates ‘in de bulunduğu bir grup programcı Amerika’da programlama öğrenmenin yagınlaşması için bir proje başlattılar ve Code.org’ u kurdular.

Ne düşünüyorsun?

Sanal Pazarlara Entegrasyon Nedir?

Kurumsal Yazılım