Ada (programlama dili)

Ada Mascot with slogan.svg

Ada, yapısal, statik tipli, zorunlu, geniş spektrumlu ve nesne yönelimli bir üst düzey bilgisayar programlama dilidir. Pascal ve diğer dillerin genişletilmiş halidir. Gömülü design-by-contract (DbC), Güçlü yazımı, Açık eşzamanlı, Senkronize mesaj geçişi, Korunmuş objeli ve belirsiz bir dildir. Ada kod güvenliğini ve sürdürebilirliğini derleyicide hataları bularak geliştirdi.

Ada
Paradigması Çok paradigmalı
İlk çıkışı [1980] 40 yıl önce
Tasarımcı MIL-STD-1815/Ada1983: Jean Ichbiah; Ada1995: Tucker Taft; Ada2005: Tucker Taft
Kararlı sürüm

Ada 2005

(1 şubat, 2016; 4 yıl önce)
Tip sistemi statik, güçlü, dinamik, güvenli, yalın
Önemli uygulamaları GNAT
Lehçeleri Ada 83, Ada 95, Ada 2005
Etkilendikleri ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005)
Etkiledikleri C++, Eiffel, PL/SQL, VHDL, Ruby, Java, Seed7
Olağan dosya uzantıları .adb, .ads
Web sitesi www.adaic.org
Ailesi Pascal

Ada fransız bilgisayar bilimcisi Jean Ichbiah ve ekibi tarafından Amerika Birleşik Devletleri Savunma Bakanlığı ile sözleşmeli olarak geliştirildi. Ordudaki çeşitli donanımları çalıştıracak ortak bir yazılım olarak düşünülmüştür. Temel alınan diller arasında ALGOL, Pascal ve PL/1 vardı ama C yoktu.

İngiliz şairi Lord Byron'ın 1834'te ilk bilgisayar makinesi sayılacak Charles Babbage'in analitik makinesini destekleyen kızı Lady Ada Lovelace (1815-1852)'ın ismini taşır. 95'te dinamik iletimi içeren nesne yönelimli programlama desteği dahil edildi.

ÖzelliklerDüzenle

Ada çok gelişmiş yazılım sistemlerinin gelişimi için oluşturulmuştur. Ada paketleri ayrı ayrı derlenebilir ve dahası, tutarlılık kontrolü için yürütme olmadan Ada paket tayini ayrı ayrı derlenebilir. Bu, yürütme başlamadan önce kurulum safhasındaki problemlerin bulunmasına imkân sağlar. Derleme zamanındaki kontroller, farklı dillerdeki oluşabilecek fark edilmeyen hataları azaltmak için desteklendi.

Ada'nın özellikleri Güçlü yazımı, modüler programlama mekanikleri (paketler), paralel işleme (görev ve mesaj senkronizasyonu), hata işleme ve genel programlamayı kapsar.

Ada'nın sözdizimi, temel işlemleri gerçekleştirme yöntemlerinin yolunu en aza indirir ve İngilizce anahtar kelimelerini tercih eder (mesela "or else" ve "and then") veya sembolleri tercih eder ("||" ve "&&"). Ada basit "+", "-", "*","/" matematik operatörleri kullanır ancak diğer sembolleri kullanmaktan kaçınır. Kod blokları "declare","begin", "and", ve "end" ile sınırlıdır ve ancak döngülerle (if ... end if, loop ... end loop) birlikte kullanılır.

Ada çok geniş uygulamalar geliştirilmek için tasarlanmıştır. Ada'nın paketleri ayrı ayrı şekilde derlenebilir. Ada'nın paket özellikleri aynı zamanda tutarlılığı kontrol etmek için gerekli uygulamalar olmadan da derlenebilir. Bu da geliştirilen uygulamanın erken safhasında hatayı tespit etme imkanı sağlar.

Çok sayıda derleyici kontrolcüsü çalıştırılana kadar tespit edilemeyen hataları tespit edebilmesi için gereken komutların projeye eklenmesi dışında kendisi hataları tespit edebilir. Güçlü yazımlara bağlılığı birçok sıradan kod hatalarını (yanlış parametre, dizi ihlalleri, geçersiz referanslar, eşleşmeyen tipler, vb.) derleme sırasında veya çalışma sırasında tespit etmede yarar sağlar. Eşzamanlı çalışma dilin bir parçası olduğu için derleyeci bazı durumlarda potensiyel sorunları tespit edebilir. Ayrıca derleyici hatalı tanımları,