Commodore sayı 8, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

Zirve: Ada

Modern, modüler bilgisayar dillerinin bugüne kadar erişilmiş olan en yüksek gelişme noktasını, şüphesiz Ada oluşturmaktadır. Bu bilgisayar dili, adını, geçen yüzyılda algoritmalar ve hesap makineleriyle ilgilenen ilk kadın olarak bilinen, Kontes Augusta Ada Lovelace'den almakta. Kontesin tanınmasını sağlayan olay, Charles Babbage'nin bulduğu mekanik hesap makinesi için bir “hesap kalkülü” geliştirmesiydi. Bu kalkül, en geniş anlamda bir makinenin ilk algoritması olarak tanımlanabilir. Ada dili, ilk olarak ABD Savunma Bakanlığı'nın isteği üzerine geliştirildi. Aynen C ve Modula'da da olduğu gibi, Ada da Pascal kökenliydi. Yani bu dil de Modula gibi son derece modüler ve yapılandırılmış bir biçimde oluşturulmuş, fakat yetenekleri bakımından Modula'dan çok daha üstün. Modula'da da olduğu gibi, tüm fonksiyonlar, özellikle de giriş-çıkış işlemleri, doğrudan dile dahil değildir. Bu tür fonksiyonlar, “Packages” olarak adlandırılan, özel modüllerde bulunurlar. Bunun en önemli yararı, kullanıcının, standart fonksiyonu beğenmemesi durumunda, hemen her fonksiyonu kendisinin yeniden yazabilmesidir. Tüm bu paketler, ister kullanıcı tarafından yazılmış olsun, ister sistem tarafından önceden hazır bulunsun, kendi açısından bir paket görünümü veren programa dışarıdan “ithal” edilmelidir. Bunu gerçekleştirmek için paket adının verilmesi yeterlidir. Örneğin, metinlerin giriş ve çıkış standart rutinlerin ithal edilmesi için şu rutin kullanılır:

TEXT IO IS PACKAGE STANDART TEXT 10

Bu girişle, STANDART TEXT IO modülünde içerilen fonksiyonlar, program modülüne TEXT IO adıyla tanıtılır. Standart modül, örneğin verilerin bilgiyazımı veya okunması için WRITE ve READ fonksiyonlarını içerir. USE TEXT IO komutuyla gerektiğinde (programda READ veya WRITE ile karşılaşıldığında), karşılık gelen fonksiyonlar (programın içinde TEXT IO adını almış olan) STANDART TEXT IO modülünden alınır ve programa eklenir. Eğer kullanıcı belirli bir noktada standart fonksiyonları değil de, kendi yazdıklarını kullanmak istiyorsa, kendi modülünü

BENİM TEXT IS PACKAGE OZEL TEXT 10

olarak bildirmek ve programda

USE BENİM TEXT

ile kendi tarafından yazılmış olan rutine geçirmek yeterlidir. Bu işlem sırasında, Ada'nın fonksiyonları “üste yükleme” yeteneğinden yararlanılır. Bu da aslında, bir ve aynı parolanın (ya da karakterin) amaç bakımından farklı fonksiyonları adlandırmasıdır. “USE” ile gerçekleştirilen değiştirmeden sonra, örneğimizdeki çıkış fonksiyonu gene “WRITE” adını taşır, ama çağrılan standart fonksiyon değil, kullanıcının kendi yazmış olduğu fonksiyondur.

1. $. Ersen 2. A. Ünverdi 3. H. Yıldız 4. C. Demirel 5. F. Yılmaz 6. K. Kaya 7. G. Gültoprak 8. E. Kilören 9. S. Demirsoy 10. Y. Yıldız.

20. M. Öztezel İzmir olduğu fonksiyondur. Doğaldır ki, bu teknik tüm olası alanlara yaygınlaştırılabilir. Böylece, Pascal veya Modula'daki gibi, kendine özgü veri tiplerini tanımlama olanağı ile birlikte, oldukça yüksek bir esneklik düzeyine erişilebilir. Örneğin, gerektiğinde, kompleks sayılar için COMPLEX veri tipi tanımlanabilir ve ELM, ve 6/9 işlem karakterleri “üste yükleme” aracılığıyla bu yeni veri tipinde kullanılabilir. Ada'nın iki kayda değer ek özelliği var: Bunların birincisi, kullanımda büyük kolaylık sağlayan bir olanak, programdaki olağandışı durumları (exceptions) işleyişi kesmeden kontrol altına alabilme. Bu olanak, kural olarak, bir programın içinde ortaya çıkabilecek hata koşullarını (Basic'teki “TRAP” ya da “ON ERROR” gibi) yakalamaya yarar. Derleyici dillerinde bu tür bir hata yakalama ve düzeltme işlemine pek rastlanmıyordu, fakat Amerikan Savunma Bakanlığı'nın gerekleri bu yöntemi zorunlu kıldı. Bu olmadığı takdirde, kritik bir durumda, radar istasyonları bir “DIVISION BY ZERO ERROR” nedeniyle mesaj göndermeyi kesebilirlerdi.

Klavyeyle gezinmek için ← ve → tuşları.