Boo programlama dili

Boo dili hakkında

değiştir

Sözdimini Python programlama dilinden almış bir C# programlama dilidir. Derleyici yazdığınız komutları C# derleyicisi gibi okur ve derler. C# öğrenmek isterseniz kitaplıklarımızda böyle bir bölüm mevcut.

Kurmak/Yüklemek

değiştir

Windows kullanıcıları buradan, linux kullanıcıları ise şu komutu uygulayarak çıkan her sonuca olumlu cevap vererek boo'yu yükleyebilirler.

sudo apt-get install boo

Derlemek

değiştir

Windows kullanıyorsanız indirdiğiniz zip dosyasını yerel diske çıkarttıktan sonra, Boo'yu windows path'ine eklemeye sıra geldi. WindowsTuşu + R açıldıktan sonra cmd yazılarak cmd açılır. Boo klasörümüz, varsayalım C:\Boo20 konumunda, şimdi bunu şu komutla path yoluna ekleyelim.

set path=C:\Boo20

Linux veya MacOS kullanıyorsanız, bir işlem için yapmanız gerekmiyor.

Şimdi geldi sıra derlemeye, bu derleme bölümü bayağı bir gelişmiş. Biz şimdilik şu 2 niteliği bilsek yeterli olacaktır. İlerleyen zamanlarda bu bölüm tam anlamıyla geliştirecektir.

booc <ayarlar> <derlenecek_boo_dosyası>

  • Referans -> -r

-r:<referans_adı.dll>

booc -r:matematik.dll matematik.boo
  • Obje -> -o

-o:<obje_adı.exe>

booc -o:yazdir.exe yaz.boo

İlk programımız

değiştir
System.Console.WriteLine("Merhaba vikikitap!")

programımızın ikinci versiyonu

import System

Console.WriteLine("Merhaba vikikitap!")

import deyimi C#'ta isim alanı kullanma hakkı elde etmek için kullanılan bir anahtar sözcüktür. Bu örnek böyle de olabilirdi;

import System.Console

WriteLine("Merhaba vikikitap!")

as deyimi; import edilen alana istediğiniz ismi vermeye yarayan ufak ama etkili bir parçacıktır.

import System.Console as konsol

konsol.WriteLine("fatihmert")

from deyimi;

#import isim.Alani from assembly.Adi
import Gtk from "gtk-sharp"

Application.Init()

Açıklama(Yorum) Satırı

değiştir

Açıklama(Yorum) satırları derleyici tarafından okunma ve derlenmez. Programı geliştiren, geliştirici için notlar alınmasını sağlayan bir parçacıktır.

Python dilinden esinlenen yorum satırı;

import System.Console #System isim alanındaki Console sınıfını çağırdık

WriteLine("fatihmert") #WriteLine metodunu kullanarak ilk parametresinde string ifade kullandık

C/C++/C# vb dillerinden esinlenen yorum satırları;

import System.Console //System isim alanındaki Console sınıfını çağırdık
/*
WriteLine metodunu kullanarak ilk parametresinde

string

ifade kullandık
*/
WriteLine("fatihmert")

Hepsi sorunsuz geçerlidir.

Değişkenler

değiştir
Boo türü .NET Framework türü İmza? Byte boyutu Olası değerler
sbyte System.Sbyte Evet 1 -128, ..., 127 (tam sayı)
short System.Int16 Evet 2 -32768, ..., 32767 (tam sayı)
int System.Int32 Evet 4 -2147483648, ..., 2147483647 (tam sayı)
long System.Int64 Evet 8 -9223372036854775808, ..., 9223372036854775807 (tam sayı)
byte System.Byte Hayır 1 0, ..., 255 (tam sayı)
ushort System.Uint16 Hayır 2 0, ..., 65535 (tam sayı)
uint System.UInt32 Hayır 4 0, ..., 4294967295 (tam sayı)
ulong System.Uint64 Hayır 8 0, ..., 18446744073709551615 (tam sayı)
single System.Single Evet 4 ±1.5 x 10-45 - ±3.4x1038
double System.Double Evet 8 ±5.0*10-324, ..., ±1.7*10308 (reel sayı)
decimal System.Decimal Evet 12 ±1.5*10-28, ..., ±7.9*1028 (reel sayı)
char System.Char N/A 2 Herhangi bir UTF-16 karakter
bool System.Boolean N/A 1 true veya false
string System.String -- Sınırsız Herşey
object System.Object -- Sınırsız Herşey

Not:Diğer dillerden aşina olduğumuz float deyimi burada single diye geçiyor, dikkat edelim..

Değişken türleri yukarıda verildiği gibidir. Boo dili Python dilinden esinlenerek değişkenleri otomatik kavrayabilme yeteneğine sahiptir. Mesela;

float = 1.7
sayi = "merhaba"

Ama ille de ben değişken türümü belirtmek istiyorum derseniz, şöyle bir şey çok daha uygun olacaktır ;)

sayi as string #sadece boo türündeki değerleri alabilir
sayi = "fatihmert"

Kontroller

değiştir
Operatör Anlamı
== eşit
!= eşit değil
> büyük
< küçük
>= büyük eşit
<= küçük eşit

If kelimesi İngilizce’de “eğer” anlamına geliyor. Dolayısıyla, adından da anlaşılabileceği gibi, bu deyim yardımıyla Boo’da koşula bağlı bir durumu belirtebiliyoruz. Cümle yapısını anlayabilmek için bir örnek verelim:

if a == b: #eğer a ile b birbirine eşit ise...

Örnekle daha iyi anlayacağınızdan eminim;

i = 5
if i == 5:
    print "i değişkeni 5 sayısına eşittir."

çıktımız ise

i değişkeni 5 sayısına eşittir.

Dikkat: i = 5 ile i == 5 aynı değildir.

  • i = 5, i değişkenine 5 değerini atar. Kısacası tek bir eşittir operatörü atama işlemi yapar.
  • i == 5, i ve 5 değerini karşılaştırır. 2 eşittir bir karşılaştırma işlemi yapar.

İç içe birden fazla if ifadesi kullanılabilir.

i = 5
if i > 0:
    print "i değişkeni 0 dan büyüktür."
    if i == 5:
        print "i değişkeni 5 sayısına eşittir."
        if i < 10:
            print "i değişkeni 10 sayısından küçüktür."

çıktımız ise;

i değişkeni 0 dan büyüktür.
i değişkeni 5 sayısına eşittir.
i değişkeni 10 sayısından küçüktür.

Bazen kullanıcıdan bir veri alırken, kullanıcının verebileceği farklı cevaplara göre programımızın farklı tepkiler vermesini isteyebiliriz. Örneğimize bakalım;

i = 5
if i < 0:
    print "i değişkeni 0 dan küçüktür."
elif i == 5:
    print "i değişkeni 5 sayısına eşittir."
else:
    print "i değişkeni 0 dan büyüktür."

çıktımız ise;

i değişkeni 0 dan büyüktür.
i değişkeni 5 sayısına eşittir.

else deyimi kısaca, if ve elif deyimleriyle tanımlanan koşullu durumlar dışında kalan bütün durumları göstermek için kullanılır. Küçük bir örnek verelim.

i = 5
if i < 0:
    print "i değişkeni 0 dan küçüktür."
else:
    print "i değişkeni 0 dan büyüktür."

çıktımız ise;

i değişkeni 0 dan büyüktür.

Bir koşul true olmadığında kontrol etmek istiyorsanız unless deyimi tam aradığınız deyimdir.. Birkaç örnek verelim:

i = 5
unless i == 5:
    print "i dğeişkeni 5 sayısına eşit değildir."

çıktımız ise, boş bir satırdır.

Şu şekilde de kullanabiliriz;

i = 0
print i
i = 5 if true
print i
i = 10 unless true
print i

çıktımız ise;

0
5
5

Bu işleç “değil” anlamına gelir. Yani bu işleç cümleye olumsuz bir anlam katar. Örnekle pekiştirelim;

i = 0
if not i > 5:
    print 'i değişkeni 5 sayısından büyük değildir.'
else:
    print 'i değişkeni 5 sayısından büyüktür.'

Kaynakça

değiştir