Programlama Dili Seçimi

Programlama dili seçimi hemen hemen tüm programcı adaylarının kendi kendilerine sordukları soruların başında gelir.

İş ilanlarına göre bir seçim yapılması durumunda hangi programlama dili daha çok aranıyorsa seçim aşamasında olan programcı  adayı bu dili öğrenmek  isteyecektir.   Dos işletim sisteminden bu yana bilgisayar donanımındaki gelişmelerle birlikte faklı programlama dilleri ortaya çıktı ve yenileri de eklenmeye devam ediyor.

Farklı programlama dilleri kendisiyle birlikte farklı kuralların öğrenilmesi durumunu ortaya çıkarır, iki farklı platform için uygulama geliştirmek isteyen programcı iki farklı programlama dilini kullanmak durumunda kaldığında her iki programlama dilinin de özelliklerini kavramak durumunda kalır.

Tüm bu kuralların öğrenilmesi programcıda bir bilinç düzeyinin gelişmesini ve bilinçli program geliştirmesini sağlar. Bilinçli olarak program geliştirmek istenen bir durumdur.  Bilinçli program geliştirmek, programın kodlarının yazılması sırasında gerçekte neler olup bittiğinin bilincinde olmaktır.  Bu, aynı araba kullanmaya benzer. Arabayı kullanmak ile arabanın kontak anahtarını çevirdikten sonra nelerin olduğu sırasıyla hangi mekanizmaların devreye girdiğini bilmek gibi...

Ancak  kullanılan programla dilinin seviyesi bu bilinçten programcıyı uzaklaştırarak çok fazla detaylarla uğraştırmadan uygulamanın geliştirilmesini sağlar. Yani programlama dili bu amaçla tasarlanmıştır.

programlama dili nasil secilirBugün kullanılan visual tabanlı diller programcıyı detaylarda uzaklaştırmakta ve daha alt seviyede olan olaylardan uzak tutmaktadır. Daha alt seviyelerde nelerin olduğu konusunda bilinçli olmamak karşılaşılacak sorunların çözümünde zorluk yaratacaktır.  Bunun yanında uygulamanın  üzerinde koşacağı platforma göre uygulamanın tasarlanmasında kritik olacak durumların atlanmasına da sebep olabilir.

Programlama dillerinde seviyenin yüksek olması visual diller gibi programcının bilinç seviyesini düşürür.  Yani programcı programını geliştirdiği safhada detay bilgilere gereksinim duymadan uygulamasını geliştirir kedisinin dikkat etmediği hatta farkında bile olmadığı bellek yönetimi işaretçi fonksiyon geri dönüşleri değişkenlerin geçerli olduğu bloklar gibi kavramlar derleyici tarafından yönetilir ve gerekli gördüğünde hata veya uyarı olarak programcıya sunar.

Ancak daha alt seviyeli dillerde bu bilinç programcının kendisine aittir. Derleyici bir hata veya uyarı vermez programcının bilinçli olmaması programın çalışması sırasında başka bir bellek alanının ezilmesine sebep olabilir.  Bu sebeple programlama dilinin seviyesi düştüğünde yani makine koduna yaklaştığında bilinç seviyesi artar ve programcı yazdığı kodun ne gibi sonuçlar yaratacağının farkındalığı ile uygulamasını geliştirir.

Bu sebeple tüm programcı adaylarının dil seçiminden önce C programlama dilini öğrenmelerini ve  temel bilince sahip olmalarını daha sonra yüksek seviyeli programlama dilini öğrenmelerini öneririm.

Murat GEDIKOGLU