Ada, yapısal, statik tipli, zorunlu, geniş spektrumlu ve nesne yönelimli bir üst düzey bilgisayar programlama dili olmaktadır. Pascal ve diğer dillerin genişletilmiş hali gibi düşünülebilmektedir. 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 dil olmaktadır. Ada kod güvenliğini ve sürdürebilirliğini derleyicide hataları bularak geliştirilmektedir.
Ada Fransız bilgisayar bilimcisi Jean Ichbiah ve ekibi tarafından Amerika Birleşik Devletleri Savunma Bakanlığı ile sözleşmeli olarak geliştirilen bir programlama dili olmaktadır. Ordudaki çeşitli donanımları çalıştıracak ortak bir yazılım olarak planlanmıştır. Temel alınan diller arasında ALGOL, Pascal ve PL/1gibi dillerin olmasının yanı sıra C dili bulunmamaktadır.
İngiliz şairi Lord Byron’ın 1834’te ilk bilgisayar makinesi sayılabilecek Charles Babbage’in analitik makinesini destekleyen kızı Lady Ada Lovelace (1815-1852)’ın ismini taşımaktadır ve 1995’te dinamik iletimi içeren nesne yönelimli programlama desteği dahil edilmesi de yükselişi açısından önemli olmuştur.
Özellikleri Nelerdir?
Ada çok gelişmiş yazılım sistemlerinin gelişimi için oluşturulan bir sistem olmaktadır. Ada paketleri ayrı ayrı derlenebilmekte ve dahası, tutarlılık kontrolü için yürütme olmadan Ada paket tayini ayrı ayrı derlenebilmektedir. Bu, yürütme başlamadan önce kurulum safhasındaki problemlerin bulunmasına olanak tanımaktadır. Derleme zamanındaki kontroller, farklı dillerdeki oluşabilecek fark edilmeyen hataları azaltmak için desteklenmektedir.
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ı kapsamaktadır.
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”) ya da sembolleri tercih eder (“||” ve “&&”). Ada basit “+”, “-“, “*”,”/” matematik operatörleri kullanmaktadır. Ancak diğer sembolleri kullanmaktan kaçınılmaktadır. Kod blokları “declare”,”begin”, “and”, ve “end” ile sınırlı olmakta ve ancak döngülerle (if … end if, loop … end loop) birlikte kullanılmaktadır.
Ada çok geniş uygulamalar geliştirebilmek için tasarlanan bir dil olmaktadır. Ada’nın paketleri ayrı ayrı şekilde derlenebilmektedir. Ada’nın paket özellikleri aynı zamanda tutarlılığı kontrol etmek için gerekli uygulamalar olmadan da derlenebilmektedir. Bu da geliştirilen uygulamanın erken safhasında hatayı tespit etmeye yaramaktadır.
Ç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 edebilmektedir. 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 ya da çalışma sırasında tespit etmede etkilidir. Eşzamanlı çalışma dilin bir parçası olduğu için derleyici bazı durumlarda potansiyel sorunları tespit edebilmektedir.