Merhaba sevgili e-bergi okuyucuları! Bu ay yazımda programlama paradigmalarının hangi amaçlara hizmet ettiklerinden bahsedeceğim. Bunun için de temel birkaç yazılım uygulama alanından ve örnek programlama dillerinden bahsedip bu dillerin temsil ettikleri paradigmalar hakkında bazı genellemeler yapmaya çalışacağım.
Öncelikli 4 esas kullanım alanını ele alırsak:
1)SAYISAL UYGULAMALARA YÖNELİK PROGRAMLAMA DİLLERİ
FORTRAN: Zorunlu(imperative) bir dil olan Fortran, yaratıcısı ve ekibinin tanımıyla, üst düzey programlama dilleri gibi kolay yazılabilen ve makine kodunda yazılmış gibi hızlı çalışan bir programlama dilidir. Resmi olarak ilk söz dizimi bu dilde yapılmıştır.
ALGOL: Zorunlu bir dil olan Algol esasen evrensel bir dil yazma amacı ile ortaya çıkmıştır; ancak beklenen ilgiyi görmemiştir. Buna karşın BNF formatının çıkması, ayrıştırma teorisinin şekillenmesi, derleyici tasarımı gibi alanlarda yapılan çalışmalarda bilim alanına önemli katkıda bulunmuş ve birçok dile kaynak olmuştur.
PL/I: Zorunlu bir dil olan PL/I sayısal hesaplamaları, özyinelemeyi, yapısal programlamayı, bağlı veri yapılarını destekler.
BASIC: Zorunlu bir dil olan Basic kolay öğrenilebilirliği ile bilim ile uğraşmayan; ancak hesaplamaya ihtiyacı olan kişilere yönelik ortaya çıkmıştır.
APL:Zorunlu bir dil olan APL, sayısal işlemler üzerinde çalışmak için üretilmiş bir dil olup matris işlemleri denildiğinde ilk akla gelen ve en çok kullanılan dildir.
PASCAL: Zorunlu bir dil olan Pascal, yapısal programlamayı destekler. Geliştirilme amacı öğretim olduğu için basit ve kolay anlaşılır bir şekilde tasarlanmıştır.
ADA: Zorunlu bir dil olan ADA veri soyutlama, istisna işleme, özel programlama birimlerinin eş zamanlı çalışması gibi olanaklar sağlar.
SIMULA67: Nesne yönelimli(object-oriented) programlama dili olan Simula67 ile simülasyon programlarında aranan eş zamanlı yordamlar özelliği tanıtılmış ve veri soyutlamayı gerçekleştirmede önemli olan sınıf yapısı geliştirilmiştir.
C:Nesne yönelimli ve zorunlu programlama dili olan C çağımızın en çok kullanılan dillerinden biridir. Yazılımcıya sonsuz özgürlük tanır. Bu sebepten ötürü hataya eğimliliği arttırsa da programın çok daha verimli olmasını sağlar.
2)TİCARİ UYGULAMALARA YÖNELİK PROGRAMLAMA DİLLERİ
C: Nesne yönelimli ve zorunlu.
C++: Nesne yönelimli bir dil olan C++ dilinin en önemli özelliği sınıf kavramıdır; bu da C dilinden ayrılmasının nedenidir. Bu kavram sayesinde yeni veri türleri yaratılabilir veya var olan türlerden yenileri türetilebilir.
JAVA: Nesne yönelimli bir dil olan Java yüksek verimli, çok işlevli, adım adım işletilen bir dildir. Ayrıca düzlem bağımsızlığı özelliği ve tek kütüphane desteği sayesinde diğer birçok dilden çok daha güvenli bir yazılım geliştirme ve işletme ortamı sunduğundan ticari uygulamalarda büyük önem kazanmıştır.
COBOL: Zorunlu bir dil olan Cobol yoğun miktarda veri işleme kolaylığı sağlar. Aynı zamanda hiyerarşik veri yapıları gibi bir çok kavramı içeren ve özellikle raporlama açısından çeşitli olanaklar sağlayan bir dildir.
Ticari uygulamalarda veri işleme, güvenlik ve haliyle nesne yönelimliliği ön planda olduğundan genel olarak nesne yönelimli ve zorunlu diller tercih edilir.
3)YAPAY ZEKA UYGULAMALARI İÇİN PROGRAMLAMA DİLLERİ
LISP: Fonksiyonel bir dil olan Lisp diferansiyel ve integral hesaplamaları, sayısal mantık ve yapay zeka hesaplamaları için kullanılan liste işleme amaçlı bir dildir.
PROLOG: Mantıksal(Logical) bir dil olan Prolog mantıksal ve sembolik düşünmeye uygun yapısıyla , problemin tanımlanması ve çözümü için gerekli yöntemlerin geliştirilmesi aşamalarında etkilidir.
SCHEME:Fonksiyonel bir dil olan Scheme Lisp’in bir lehçesidir. Pratik ve yalın bir yazım dili olmasından ve derleyici işleminden geçmeksizin yorumlayıcı tarafından yorumlanabilmesinden ötürü bilgisayar bilimleri açısından eğitim dili olarak kullanılır.
Görüldüğü üzere yapay zeka uygulamalarında fonksiyonel ve mantıksal diller bu alanın gereksinimlerini karşılamaktadır.
4)SİSTEM PROGRAMLAMA DİLLERİ
Sistem programlama konusunda Python gibi nesne yönelimli başka diller de kullanılabilse de genel olarak verimliliği yüksek olmasından ötürü C programlama dili kullanılır.
Kaynaklar
- http://www.freebase.com/view/computer/programming_language_paradigm
- http://e-bergi.com/2007/Kasim/Programlama-Paradigmalari
- “Programlama Dillerinin Prensipleri”, Öğr Gör. Fatih YÜCALAR