Cuma, Eylül 01, 2006

Paradigma Kayması.

Eğer programımız bellirli bir işi defalarca yapıyorsa, her seferinde aynı kodları tekrar tekrar yazmak istemeyiz. Bu nedenle programımızı belli bir düzende mantıklı parçalara böleriz ve bu parçaları yine belli bir düzende biraraya getirerek programı inşa ederiz. Oluşturabileceğimiz parçalar ve bunların birarada çalışma şekilleri kullandığımız dilin yapısal özelliklerine göre farklılıklar gösterir. Kullandığımız dilin özellikleri belli bir kişisel anlayış geliştirmemize neden olur. Bu anlayışa programlama paradigması denir.

Yazılım teknolojisinde yaşanan gelişmeler neticesinde programlama dillerinde bazı yenilikler olur. Eğer değişiklikler eski yapıdan yeterince farklıysa belli bir tarzda düşünmeye alışmış programcılar bu alışkanlıklarını değiştirmek ve yeni anlayışa uyum sağlamak zorunda kalırlar. Bu değişime paradigma kayması denir.

Örneğin düz vitesli araba kullanmaya alışan bir sürücü otomatik vitesli araba kullanmaya başlarsa sürücünün yeni duruma alışabilmesi için bir uyum dönemi yaşaması gerekir. Bu dönem boyunca sürücü hayali vites atabilir, ayağı olmayan debriyaja basmaya çalışabilir. Eski alışkanlıkların tamamen ortadan kalkma süresi kişiden kişiye değişir. Yapıları farklı diller arasında geçiş yapığımızda biz programcılar da buna benzer şeyler yaşarız.

Örneğin Basic dili

  • GW-Basic => Sequential Programming
  • Quick Basic => Procedural Programming
  • Visual Basic => Event Driven Programming
  • Visual Basic.NET => Object Oriented Programming
şeklinde listeleyebileceğimiz yapısal değişiklikler yaşamıştır. Bu dillerden birini bilen ve diğer dile geçiş yapmayı düşünen programcının her ne kadar hepsi de basic temelli olsa da program yazma şeklini değiştirmesini gerekir. Prosedürel yapıdaki bir programlama dilinde programcı programı zihninde prosedürlerden oluşan bir bütün olarak hayal eder ve yaşanılan sıkıntılara bu çerçevede çözümler arar. Halbuki nesne yönelimli (Object Oriented) bir programlama dilinde program prosedürlerden değil nesnelerden oluşmaktadır. Programcının yazdığı programı artık prosedürler bütünü olarak değil nesneler bütünü olarak görmeye başlaması sürecin tamamlandığını gösterir.

Günümüzde birçok Delphi ve Visual Basic programcısı programlarını formlar, bileşenler ve tablolardan oluşan bir bütün olarak düşünürler. Delphi 2005 veya .Net dillerinden birine geçiş yaptıklarında da aynı alışkanlıklarını devam ettiririler. Şunu iyi anlamamız gerekir. Bu diller ticari ürünlerdir. Üreticileri bu ürünleri yaygınlaştırmak ve herkesin program yazabilmesini sağlamak için ürünlerine birçok kolaylık ekler. Bu kolaylıklar bizim daha hızlı program yazmamızı sağlıyor gibi görünse de Nesne Yönelimli programlamanın birçok önemli prensibine aykırı programlar yazmamıza neden olur. Kısacası önceden pratik olarak gördüğümüz bazı şeyler programımızın kapsamı büyüdükçe ayağımıza dolanmaya ve bize zaman kaybettirmeye başlar. Bir dilin nesne yönelimli olmasının bize ne artılar kazandıracağını iyi öğrenmemiz gerekir. Bunu anladığımız zaman ihtiyacımız olan Paradigma Kaymasını tam olarak yaşamışız demektir.

Hiç yorum yok: