Quick Basic benzeri bir dili biraz açabilir misin? Burada amaç UEFI de olduğu gibi Quick BASIC'i ikame etmek mi yoksa yeni bir dil oluşturmak mıdır? Bu dil bir Basic diyalekti mi olacak yoksa tamamen farklı bir şey de olabilir mi? Python'u çok pratik buluyorum. Kısa bir araştırmayla MS-DOS için PythonD 2.4.2 çatalı olduğunu gördüm. Open-GL gibi özellikler eklenmiş bir versiyon. Belki bunun üzerinden gidilebilir, 3.x versiyonu yapılabilir.
Eğer Basic diyalekti olacaksa konu biraz değişiyor. Malum 90'ların ikinci yarısından itibaren programlama hobi cazibesini yitirmeye başladı. En basit işler için bile paket program almaya/indirmeye, paket programı yoksa o iş bilgisayarda yapılamaz addetmeye başladık. Ben bunda en büyük sorumlu olarak GUI engelini görüyorum. GUI kısmını oldum olası çok oyalayıcı ve asıl işe girişmenin önünde bir engel olarak görüyorum. Hala tam olarak aşamadığım bir engeldir. GUI konusunda alternatifleri araştırırken Qt'nin Signal/Slote yapısı çok hoşuma gitmişti. Bunu basit bir şekilde Basic'e uyarlasak ne kadar pratik olabileceğini düşünmüştüm. Commodore'un cihaz seçiminden ilham alarak aşağıdaki kod taslağını yazdım.
Main
DIM Window("Program Window",320,200) AS NEW Window
CONNECT Main,1 TO Window,3
PRINT "Hello",1
GET C
END
Window
DIM Input
WHILE True
GET Input,3
PRINT Input
END WHILE
Kod taslağını açıklaması:
Main:
- Program Window adında 320x200 boyutlarında yeni bir pencere açıyor.
- Main Listing'in 1 numaralı sinyalini Window Listing'inin 3 numaralı slotuna bağlıyor.
- 1 nolu sinyale "Hello" kelimesini basıyor.
- Main Listing END komutuna ulaştığında tüm listingler sonlandırılacak. Bu yüzden mesajı okuyabilmek için GET C ile bir klavye girdisi bekleniyor.
Window:
- Sonsuz döngüde 3 numaralı slotu okuyup gelen karakterleri ekrana basıyor.
Official IDE içersinde XML çıktı veren ayrı bir GUI editörü olacak. Gui nesnelerinin tüm özellikleri buradan tanımlanabilecek. Bu XML dosyaları yorumlayıcı tarafından otomatik olarak tanınacak. Hatta program dosyaları kaynak kodu, XML ve diğer assetlerin beraber tutulduğu (.doc) gibi bir container olarak da tasarlanabilir.