İkiden Fazla Programlama Dilini İyi Bilin

Programlama psikolojisi, programlama uzmanlığının, bir programcının rahat olduğu farklı programlama paradigmalarının sayısıyla doğrudan ilişkili olduğunu uzun zamandır biliyor. Bu sadece hakkında bilmek veya biraz bilmek değil, aynı zamanda gerçekten programlayabilir.

Her programcı bir programlama dili ile başlar. Bu dil, programcının yazılım hakkında düşünme biçimi üzerinde baskın bir etkiye sahiptir. Programcı o dili kullanmak için kaç yıllık deneyime sahip olursa olsun, o dilde kalırsa sadece o dili bilecektir. Tek dil bir programcı, düşüncelerinde o dil tarafından kısıtlanır.

İkinci bir dil öğrenen bir programcı, özellikle o dilin ilkinden farklı bir hesaplama modeline sahipse, zorlanacaktır. C, Pascal, Fortran, hepsi aynı temel hesaplama modeline sahiptir. Fortran'dan C'ye geçiş, pek çok olmasa da birkaç zorluk getirir. C veya Fortran'dan C++ veya Ada'ya geçiş, programların davranış biçiminde temel zorlukları beraberinde getirir. C++'dan Haskell'e geçiş önemli bir değişiklik ve dolayısıyla önemli bir zorluktur. C'den Prolog'a geçmek çok kesin bir zorluktur.

Bir dizi hesaplama paradigmasını sıralayabiliriz: prosedürel, nesne yönelimli, işlevsel, mantık, veri akışı, vb. Bu paradigmalar arasında hareket etmek en büyük zorlukları yaratır.

Bu zorluklar neden iyi? Algoritmaların uygulanması hakkında düşünme şeklimiz ve geçerli olan uygulama deyimleri ve kalıpları ile ilgilidir. Özellikle çapraz gübreleme, uzmanlığın merkezinde yer alır. Bir dilde geçerli olan problem çözümleri için deyimler başka bir dilde mümkün olmayabilir. Deyimleri bir dilden diğerine aktarmaya çalışmak bize her iki dili ve çözülmekte olan sorunu öğretir.

Programlama dillerinin kullanımında çapraz gübrelemenin büyük etkileri vardır. Belki de en belirgin olanı, zorunlu dillerde uygulanan sistemlerde bildirimsel ifade biçimlerinin artan ve artan kullanımıdır. İşlevsel programlama konusunda bilgili herkes, C gibi bir dil kullanırken bile bildirimsel bir yaklaşımı kolaylıkla uygulayabilir. Bildirimsel yaklaşımları kullanmak genellikle daha kısa ve daha anlaşılır programlara yol açar. Örneğin, C++, neredeyse bildirimsel bir ifade kipini gerektiren genel programlamaya yönelik yürekten desteğiyle bunu kesinlikle kabul ediyor.

Tüm bunların sonucu, her programcının en az iki farklı paradigmada ve ideal olarak en az yukarıda belirtilen beş paradigmada programlama konusunda iyi becerilere sahip olması gerektiğidir. Programcılar her zaman, tercihen yabancı bir paradigmadan yeni diller öğrenmekle ilgilenmelidir. Günlük iş her zaman aynı programlama dilini kullansa bile, bir kişi diğer paradigmalardan çapraz gübreleme yapabildiğinde bu dilin kullanımının artan karmaşıklığı hafife alınmamalıdır. İşverenler bunu dikkate almalı ve eğitim bütçelerinde çalışanların, kullanılan dillerin kullanımının karmaşıklığını artırmanın bir yolu olarak şu anda kullanılmayan dilleri öğrenmelerine izin vermelidir.

Her ne kadar bir başlangıç olsa da, bir haftalık eğitim kursu yeni bir dil öğrenmek için yeterli değildir: Bir dil hakkında uygun bir çalışma bilgisi kazanmak için genellikle birkaç ay, yarı zamanlı bile olsa, kullanım yeterlidir. Önemli faktörler sadece sözdizimi ve hesaplama modeli değil, kullanım deyimleridir.

Russel Winder Tarafından

Last updated