Programlama Nedir? Nesne Tabanlı Programlama Nedir?

0

Programlama Nedir? sorusu ile başladık fakat bu kavrama geçmeden önce programın ne olduğundan bahsetmek gerekir. Program, bilgisayara ait donanım parçalarının bizlere hizmet etmesini sağlayan komutlar bütünüdür. Fakat bu komutlar nedir, nereye, nasıl yazılır, bu elektromekanik parçaları nasıl canlandırır?  İşte tam bu noktada karşımıza programlama ve programcılık kavramları çıkar.

Programlama Nedir?

Programlama Nedir?

Basitçe programlama tanımı için, makinelere ( PC, Akıllı Telefon, TV, hatta Çamaşır Makinesi… gibi ) iş yaptırma, onlarla çözümler üretme ya da onları kullanmak için yine onların anlayabileceği dilde komutları ifade etme şeklidir diyebiliriz. Program yazabilmek için öncelikle bir neden gerekmektedir. Aslında bu aşama, sorunun tespit basamağıdır. Neden? Sorunun tespitinden sonra sonra kısa ve anlaşılır bir çözüm yolunu bulmaya sıra gelir. Basit bir çözüm yolu bulundu fakat ya çözüm doğru değilse? İşte bulduğumuz çözüm yolunun geçerliğinin test edilmesi gerekir. Bu testten sonra artık hiçbir sorunla karşılaşmayacağım diyorsanız bence başlamayın ve bu işi hemen bırakın. Çünkü gerçek programcılık işlemlerine henüz girmeye başlamadık. 

Algoritma Nedir?

EL Harezmi Kimdir?

Algoritma, bir problemin çözümünün basamaklar halinde gösterilmesidir. Algoritma hepimizin bildiği bir kişinin adının batı ülkelerince telaffuzudur. Bu kişi El Harezmi’dir. El Harezmi, Matematik alanında çalışmalar yapmış bir İslam bilginidir. Matematiğe katkıları çok büyüktür ve 0 sayısını bularak 10’luk sayı sisteminin tamamlanmasını sağlamıştır. Ayrıca Cebirin de babasıdır. Bu kadar yetenekli bir şahsın çalışmalarından nasibini programcılık da almıştır. El Harezmi çalışmalarında çözümü basamaklar halinde giden bir yöntemle elde ederdi. Bu yöntem çözümün hem geliştirilmesine imkan veriyor hem de sorun olan bir basamağa ya da kademeye müdahale ederek yapılan işin doğru sonuçlar vermesini sağlıyordu. Algoritma hazırlamak da programcılıkta kodlamaya başlamadan yapılması gereken hazırlık işlemlerinden birisidir.  Programcılık algoritmasında ilk basamak “Başla” basamağı son basamak “bitir”  basamağıdır. 

Akış Şeması Nedir? (Flow Chart)

Algoritmayı hazırladıktan sonra bu çözüm yolumuzu şemayla ifade etmek onun evrensel olmasını herkesçe anlaşılmasını sağlar. İşte bu şemaya “Akış Şeması” denir. Tabi akış şemasının kendine ait şekilleri vardır ve algoritma basamaklarına uygun olarak seçilen şekillerle bir yol haritası oluşturulur. Akış şeması oluşturabileceğiniz farklı yazılımlar olduğu gibi kâğıdı kalemi ele almak da oldukça geçerli bir yöntemdir. Her şeyi tamamladık mı? Hayır. Sıra geldi kodlamaya yada kod yazmaya, programlamaya… o kadar çok ismi var ki.

Kodlama, aslında yukarıda da bahsedildiği gibi bilgisayara bir iş yaptırmak için işin anlatılmasıdır. Kodlama, bilgisayara emir vermektir. Onun içindir ki komutlar bütünü olarak da ifade edilir. Tabii ki bu emir verme günlük dilde olduğu gibi gerçekleşmez. Bunun bir yöntemi vardır.

Programlama dilleri de işte bu noktada devreye girmektedir. İlk zamanlarda kod yazma işlemi ilkel dillerden olan Assembly diliyle yazılıyordu. Bu dilin özelliği insandan uzak makineye yakın bir dil olmasıdır. Assembly diliyle uğraşan programcılar direkt olarak işlemciye ve RAM’e ulaşan kodlar yazıyorlardı. Fakat yazımının anlaşılması ve akılda tutulması zor bir dildi. İnsanoğlu zoru tabii ki sevmez ve bu alanda çalışmalar yapılarak ilkel dillerden prosedürel dillere, oradan da Nesne Tabanlı Dillere geçiş yapıldı. Nesne tabanlı ( Object Oriented Programming / OOP ) Diller geçmişi 1960’lara kadar uzanan ve şu anda gerçekliğe en yakın olan programlama dilleridir. Nesneler, kendine ait özellikleri ( Properties) olan, kendinelere ait metodları, fonksiyonları olan ve bir sınıftan üretilen yapılardır. İhtiyaç duyuldukça tekrar tekrar oluşturulur ve kullanılır. Bu da bize esnek bir programlama yapma imkanı sağlar. Nesne Tabanlı Programlamayı daha anlaşılır bir şekilde şöyle ifade edebiliriz: 

Nesne Tabanlı Programlama Nedir?

Programlama Nedir

Programlama nedir sorusu ile başlamıştık. Peki Nesne Tabanlı Programlama nedir? Günlük hayattan örneklendirelim: Ağacı bir sınıf olarak düşünürsek, elma ağacı bir nesnedir. Ağaç sınıfının yapısında bulunan özellikler, elma ağacı ile somutlaşır. Aynı her ağacın bir gövde kalınlığı, bir boyu, yaprak sayısı, dal sayısı, meyve sayısı özelliklerinin olması gibi.

Nesne Tabanlı Programlama günümüzde oldukça popülerdir ve programcılığı ortalama her insanın anlayabileceği boyuta ( kodlayabileceği değil ) indirmiştir.  Günümüzde kullanılan Nesne Tabanlı Programlama yaklaşımlı dillerin başında Java ve C# gelmektedir. Tabi bunun yanında geçmişten günümüze gelen Basic dilini de unutmamak gerekmektedir. 

Programlama ve programcılık ile ilgili yazılarımız devam edecek. Bir sonraki yazımıza kadar  Yazılım Nedir?  başlıklı yazımızı okuyabilirsiniz.

Yazar: Anıl ERGİN

Leave A Reply