Commodore sayı 38, sayfa 72

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 72

Her ne kadar diğer AMIGA dilleri kadar yaygın olarak kullanılmasa da Forth birçok programcının AMIGA'da vazgeçmeye yanaşmayacağı bir dil. AMIGA için yazılmış pek fazla Forth sistemi yok ancak mevcut olanlar bu eksikliği hissettirmiyorlar.

MULTI-FORTH

İki sistemden gösterişin daha ağır bastığı CSI Multi Forth, kullanımı kolay ve multitasking çalışan bir Forth. Kullanım kılavuzu iyi yazılıp kabarık Forth sözlüğündeki kelimelerden bazılarının fonksiyonlarını anlatan çizimlerle resimlendirilmiş. Bu Forth'u tam olarak öğreten bir kitap değil, ancak zaten Forth'ta karmaşık programlar yazmak istiyorsanız başka bir kitaba mutlaka ihtiyacınız olacak. Sistem, kolayca programı düzenlemeden derlemeye geçebileceğiniz iyi bir çalışma ortamı yaratıyor. Her ne kadar Multi-Forth bir editör ile birlikte satılmıyorsa da, örneğin EMACS gibi bir editörle aynı anda çalıştırılabilecek kadar kısa bir program. EMACS kendi özel ekranında çalıştığından, dosya üzerinde değişikliklerinizi bu ekranda yapabilir, bunları kaydedebilir sonra da Multi-Forth'un çalışmakta olduğu Workbench ekranına geri dönüp ondan programınızı derlemesini isteyebilirsiniz. İşte multitasking rahatlığı bu! CSI, Forth komutları için oldukça büyük bir sözlük hazırlamış, fakat şirket, bu sözlüğe rakibi gibi bir fonksiyonla organize olan kelimelerin bir listesini de dahil etseydi daha iyi olacaktı. Belki bir görevi yapmak için bir kelime arıyorsanız, adını hatırlamadığınız zaman sözlüğü, aradığınız kelimeyi bulana kadar rastgele karıştırmaktan başka çare kalmıyor. Derleyici bana biraz yavaş çalışıyor gibi göründü. Uzun dosyaları derlemek uzun dakikalar alabiliyor, fakat herhangi bir önemli hataya rastlamadım. Multi-Forth AMIGA ortamına uydurulmuş ideal bir multitasking Forth. Bellekte derleyici/çeviricinin sadece bir kopyası olduğu halde, istediğiniz sayıda tek ve bağımsız Forth programı çalıştırabilirsiniz. Multi-Forth bütün ROM Kernel fonksiyonlarına erişim sağlıyor. Parametreleri yığından alıp CPU sicillerindeki sistem fonksiyonlarına geçirmek için yapıştırıcı rutinler kullanıyor. Multi-Forth bunun yanında C benzeri yapılarla çalışmayı kolaylaştıran, özel olarak hazırlanmış pek çok kelimeye sahip. Böylelikle bilgiyi belleğe doğrudan derledikten sonra C'de yaptığınız gibi yazı kapsamlarına ve bilgi alanlarına bakabiliyorsunuz. Bu Forth'a çeviri yapacak C programcıları için bir artı avantaj. Ürün desteği çok iyi olarak göze çarpıyor. CSI'ın CompuServe'deki Q&A forumu (GO FORTH komutu ve modemle bağlanabilirsiniz), CSI kadrosu ve kullanıcılar arasında yararlı bir bilgi köprüsü oluşturuyor. Örneğin derleyiciyi daha kolay çalıştıran bir komut yazarsam, bu komutu sizinle paylaşmam mümkün oluyor ve siz de bunu kendi dil kopyanızın içine atabiliyorsunuz. Bu derleyici/çeviricinin yeteneklerini genişletmek anlamına geldiğinden, oldukça önemlidir ve bunu BASIC'te yapamazsınız. CSI, Multi-Forth'un son versiyonun daha küçük bir kod hacimli, IFF destekli ve daha hızlı olacağını vaat ediyor.

JFORTH

Teknik olarak daha gelişmiş bir Forth olan JForth, Multi-Forth'un şu andaki versiyonundan daha hızlı derleme yapıyor. Ayrıca sözlük girişlerini sıraya sokarken gerçek bir 32-bit adresleme kullanıyor. Bu daha hızlı, fakat aynı zamanda daha fazla bellek harcayan bir metot. Bu paketin kılavuzunda güzel çizilmiş sanatkarane resimler yok, sadece 350 sayfalık geniş bir indeks ve bir fonksiyon ile organize olan kelimelerin bir listesi bulunan oldukça açık bir anlatım var. Mükemmel denebilecek bir alfabetik sözlük tanımlanmış kelimelerin değişik kullanım şekillerini içeriyor. JForth ile EMACS'ı kullanarak Multi-Forth'ta bahsettiğime benzer şekilde bir düzenle-derle döngüsü prosedürü yaratabilirsiniz ve benim tavsiyem de bu zaten. JForth iyi bir ROM Kernel desteği sağlıyor ve kitaplık için FD dosyasını kullanarak, diğer kitaplıklar için uygun biçimde bir destek sağladıktan sonra, kitaplığı açmak için gereken bir veya iki kelimeyi yazmaya izin veren özel bir mekanizması var. Multi-Forth'ta ise yeni kitaplıkların her fonksiyonu için kendi yapıştırıcı rutinlerinizi yazmalısınız. JForth ayrıca floating-point matematik fonksiyonları, (birçok Forth sadece fixed-point matematik kullanmakta) bir 68000 disassembler, menüler ve benzerleri için “kolay Intuition” fonksiyonları, biraz daha doğal C yapı arabirimi ve dört ayrı Forth lehçesi veya standartı arasına dönüşüm yapabilme özelliklerine sahip. Özellikle sonuncusu programlamada büyük kolaylık sağlıyor, çünkü başka bir makinede çalıştığınız Forth'un aynısını sunarak verimliliği artırmada rol oynuyor. Bu iki Forth sistemi arasında seçim yapmak güç çünkü her ikisi de oldukça iyi. C arenasında Manx Aztec'e karşı Lattice'de karşılaştığımız duruma benzer şekilde, büyük olasılıkla bu Forth şirketlerinin her ikisi de uzun süre herkese yararlı olacak geliştirilmiş ve düzeltilmiş versiyonlar sunacaklar. Şimdi AMIGA'da dört ayrı yüksek seviye dil ile bu dillerin 11 farklı örneğini görmüş oldunuz. Belki seçeneklerin çokluğu, kendi programlama ihtiyaçlarınıza uygun bir tanesini seçmenizi kolaylaştırmaktan çok zorlaştırıyor. Fakat en azından biz AMIGA kullanıcıları, ilginç ve AMIGA'ya has uygulamalar yaratmak için çok miktarda AMIGA-spesifik seçenekler olmadığından yakınamayız.

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