Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Ada (programlama dili)

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
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 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. Özellikler 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 imkânı 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 potansiyel sorunları tespit edebilir. Tarihçesi 1970'lerde Amerika Birleşik Devletleri Savunma Bakanlığı gömülü bilgisayar sistemlerinde farklı programlama dillerinin kullanılmasından endişelendi. Çoğu eski veya donanıma bağlı idi ve hiçbiri modüler programlamayı desteklemiyordu. 1975'te Yüksek Derece Dil Çalışma Grubu Amerika Birşelik Devletleri Savunma Bakanlığı ve Birleşik Krallık Savunma Bakanlığı gereksinimlerine uygun olan programlama dilini bulmak için veya oluşturmak için kuruldu. Birçok denemelerden sonra nihai programlama dili Ada olarak adlandırıldı. Bu tür projeler için kullanılan üst düzey programlama dillerinin toplam sayısı 1983'te 450'ye 1996'da 37'ye düştü. HOLFG Grubu Steelman dil gereksinimlerini oluşturdu. Bir programlama dilinin karşılaması gerektiğini düşündükleri gereksinimleri belirten bir dizi belge yayınlamışlardı. Mevcut olan birçok dil resmi olarak yeniden gözden geçirildi, ancak 1977'de takım hiçbir dilin gereksinimlerini karşılayamadıkları kanısına vardı. 1978 nisanında, kamu incelemesinden geçtikten sonra yeni bir programlama dili için tasarı talepleri belirtildi ve dört yazılımcı istenilen talepleri karşılamak için Kırmızı (Benjamin Brosgol liderliğinde Intermetrics) Yeşil (Jean Ichbiah liderliğinde CII Honeywell Bull) Mavi John Goodenough liderliğinde SofTech) ve Sarı (Jay Spitzen liderliğinde SRI International) isimleri verilen yazılımcılar işe alındı. Nisan 1978'de kamu denetiminden sonra, Kırmızı ve Yeşil tasarılar sonraki aşamaya geçti. Mayıs 1979'da Jean Ichbiah tarafından CII Honeywell Bull'da tasarlanan proje seçildi ve Ada ismi verildi. Ada dilinden sonra, bu teklif Ichibah ve ekibinin 1970 lerde geliştirdiği LIS dilinden etkilendi. Ada'nın ilk kitabı haziran 1979'da ACM SIGPLAN Notices'da yayınlandı. 10 aralık 1980'de (Ada Lovelace'in doğum günü) kitap askeri standartlarını karşıladığını onayladı ve Ada Lovelace'in doğum günü şerefine MIL-STD-1815 ismi verildi. 1981'de Tony Hoare Turing Ödülü konuşmasında Ada'yı aşırı karmaşık ve dolayısıyla güvenilmez olduğunu eleştirmek için fırsat kolladı. ancak sonrasında önsözünde bu fikrinden geri adım attığını ve Ada için ders kitabı hazırladığı görüldü. [[Dosya:Ada Lovelace portrait.jpg|küçükresim|Lovelace Kontesi]] Ada yayınlandığı ilk zamanlarda programlama topluluğu tarafından büyük ilgi gördü. Dilin destekçileri sadece savunma ile alakalı işler değil, aynı zamanda genel programlama dili dünyasında baskın dil olabileceğini öngördüler. Ichbiah resmi olarak on yıl içerisinde sadece iki programlama dilinin varolacağını belirttli. Bunlar: Ada ve Lisp idi. İlk Ada derleyicileri geniş, karmaşık dili derlemede zorluk çekti ve hem derleme hem de çalışma performansı yavaş ve araçları ilkel olmaya yatkındı. Derleyici satıcıları emeklerinin çoğunu dilin uyum sağlama testlerini geçebilmek için harcadı. Bilgisayar korsanlarının 1975-1983 arası argo sözlüğü olan Jargon Dosyası Ada'nın girişinde "para ile bu tür bir onay verildiğinde tam olarak beklenebilecek şeydir; komite için geliştirildi... kullanımı zor ve tam bir felaket. Milyar dolardan fazla tamamen gereksiz bir iş... Ada Loverace... isminin sonradan kullanılmaya başlanmasıyla kesin olarak bembeyaz olurdu; onun hakkında söylenen en nazik şey, büyük olasılıkla genişliğinin içinden çıkmak için çığlık atan güzel bir küçük dil olduğudur." Ada'nın doğrulanan ilk uygulaması NYU Ada/Ed translator idi. 11 Nisan 1989'da onaylandı. Bir takım ticari şirketler (Alsys, TeleSoft, DDC-I, Advanced Computer Techniques, Tartan Laboratories, TLD Systems, ve Verdix) Ada derleyicilerini ve geliştirme araçlarını önermeye başladılar. 1991'de Amerika Birleşik Devletleri Savunma Bakanlığı tüm yazılımlarında Ada'yı kullanma şartı getirmişti, ancak bu kurala genel istisnalar verilmişti. Savunma Bakanlığı DoD'un ticari kullanıma hazır olmasıyla 1997'de Ada'yı etkin bir şekilde kullanımdan kaldırdı. Benzer gereksinimler diğer NATO ülkelerinde de baş gösterdi: Komuta, kontrol ve diğer fonksiyonlar için Ada'ya gereksinim duyuldu. Aynı zamanda Ada; İsveç, Almanya ve Kanada için savunma ile ilgili uygulamalar yazılmak için tercih edildi. 80'li yılların sonu 90'ların başlarında Ada derleyicileri performanslarını arttırmışlardı ancak gerçek zamanlı programcıların alıştığı farklı görev modeli dahil Ada'nın tüm gücünü açığa çıkarmak için daha hâlâ engeller vardı. Ada'nın kritik güvenliği destekleyen özellikleri sayesinde günümüzde sadece askeri uygulamalarda değil aynı zamanda yazılım hatalarının ağır sonuçlar doğurabileceği havacılık, hava trafik kontrolü, Ariane 4, Ariane 5, Yapay uydu ve diğer uzay sistemleri, demiryolu ulaşımı, bankacılık uygulamaları için de kullanıldı. Mesela uçak bilgi yönetim sistemi, Fly-by-wire ve Boeing 777'deki sistem yazılımı Ada ile yazıldı. DDC-I danışmanları işbirliğinde Honeywell Air Transport Systems geliştirildi. Bu proje sivil veya askeri tartışmasız en iyi Ada projesiydi. Kanada Otomatik Hava Kontrol Sistemi 1 milyon Ada satır koduyla yazıldı. ileri seviye dağıtık hesaplama, dağınık veri tabanı, nesne yönelim içeriyordu. Ada aynı zamanda diğer hava trafik sistemleri için de kullanıldı, örneğin Birleşik Krallık gelecek nesil Geçici Gelecek Bölge Kontrol Araç Desteği (IFACTS) SPARK Ada ile tasarlandı ve uygulandı. Standartlaşması Dil 1983'te ANSI standartlarına uygun kabul edildi ve Fransızcaya çevrildi ardından İngilizce sürümünde herhangi bir değişikliğe uğramadan 1987'de ISO standartlarına kabul edildi. ANSI'in benimsemesi ile birlikte dilin bu versiyonu Ada 83 olarak bilindi, ancak ISO'nun da benimsemesi ardından Ada 87 olarak da anıldı. Ada'nın ISO/ANSI standartlarına uygun olmasının ardından Şubat 1995'te Ada 95 yayınlandı. Ada 95 ilk ISO standartlarına uygun nesne yönelimli programlama dili olmuştu. Yeniden düzenlemelere yardım etmek ve gelecek onaylamalar için Amerika Birleşik Devletleri Hava Kuvvetleri GNAT derleyicinin geliştirilmesi adına yatırım yaptı. Günümüzde GNAT derleyicisi GNU Derleyici Koleksiyonu'nun bir parçası. Çalışmalar Adanın teknik içeriğini geliştirmek ve güncellemek için devam edildi. Ada 95'e tekniksel düzenleme Ekim 2001 de yayınlandı ve önemli değişiklik ISO/IEC 8652:1995/Amd 1:2007 9 Mart 2007'de yayınlandı. Stockholm'deki 2012 Ada-Avrupa konferansında Ada Kaynak Bağlantısı (ARA) ve Ada-Avrupa Ada dilinin son versiyonunu bitirdiklerini duyurdu. Dil Yapısı Ada "if, then else, while, for" kontrol yapıları içeren ALGOL benzeri bir dil. Ancak, Ada aynı zamanda orijinal ALGOL 60'ta içermeyen tür tanımları, kayıtlar, işaretçiler, numaralandırılmış türler gibi bir sürü veri yapısı kolaylıkları ve soyutları içeren bir dildi. Bu yapılar aynı zamada Pascal'dan miras almış veya esinlenmiştir. Ada'da "Merhaba Dünya" Kod yazımında yaygın örneği olan Merhaba dünya programı: (Merhaba.adb)Bu uygulama ücretsiz ve açık kaynak kodlu derleyici GNAT ile derlenebilir. Veri Tipleri Ada'nın veri tipleri önceden tanımlanmış ilkel türlere bağlı değildir, ancak kullanıcılara kendi türlerini bildirmelerine izin verir. Bu bildiri, sırayla türün dahili temsiline değil, ulaşılması gereken hedefi açıklamaya dayanmaktadır. Bu da derleyicinin tür için uygun hafıza boyutunu belirlemeye olanak sağlar ve derleme veya çalışma sırasında tür tanımı ihlallerini (dizi ihlalleri, ara bellek taşmaları, tür tutarlılığını" kontrol eder. Ada bir dizi tarafından tanımlanmış sayısal türleri modül türleri, toplama türleri, (kayıtlar ve diziler) numaralandırılmış türleri destekler. Türsüz işaretçilerin kullanılmasına izin vermez. Dil tarafından özel türler görev türleri ve korunmuş türlerdir. Örneğin, bir tarih böyle gösterilebilir: Türler, alt türlere bildirilerek işlenebilir:Türlerin sınırlı, soyut, özel vb. Değiştiricileri olabilir. Özel türler yalnızca erişilebilir ve sınırlı türler yalnızca onları tanımlayan paket kapsamında değiştirilebilir veya kopyalanabilir. Ada 95, türlerin nesne yönelimi için daha fazla özellik ekler Kontrol Yapıları Ada Yapısal programlama dilidir. Kontrol akışı standart ifadelerle yapılandırılmıştır. Tüm standart yapılar desteklenmiştir. Bu yüzden, "go to" komutu kullanımı nadiren ihtiyaç duyulmuştur. Bu uygulama ücretsiz ve açık kaynak kodlu derleyici GNAT ile derlenebilir. Ayrıca Bakınız APSE – a specification for a programming environment to support software development in Ada Ravenscar profile – a subset of the Ada tasking features designed for safety-critical hard real-time computing SPARK (programming language) – a programming language consisting of a highly restricted subset of Ada, annotated with meta information describing desired component behavior and individual runtime requirements Uluslararası Standartlar ISO/IEC 8652: Information technology—Programming languages—Ada ISO/IEC 15291: Information technology—Programming languages—Ada Semantic Interface Specification (ASIS) ISO/IEC 18009: Information technology—Programming languages—Ada: Conformity assessment of a language processor (ACATS) IEEE Standard 1003.5b-1996, the POSIX Ada binding Ada Language Mapping Specification, the CORBA interface description language (IDL) to Ada mapping
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri