Ana sayfa Little Lang Programlama
Gönderi
İptal

Little Lang Programlama

“Little Lang” programlama dili

Bu makalede, genelde grafik kullanıcı arayüzleri yapmak için kullanılan Tcl programlama dilini, daha da C’ye benzer yazma stiline uyarlamak için yapılmış bir programlama dili olan “Little Lang”ın tanıtımını, ve bazı örneklerini yapacağım.

“Little Lang”, ve önceki adıyla L, 2006 yılında Larry McVoy’un tasarımlarından esinlenerek küçük bir takım tarafından oluşturulmuş bir programlama dilidir. Yazım tipi C yazım tipine çok yakındır. Web sitesi ise hâlâ yayındadır ve https://www.little-lang.org/ alan adı altındadır.

Little Lang kurulumuna başlamanız için bir Linux ortamına sahip olmanız gerekmektedir. Bu makaleyi yazarken Pardus 23 işletim sistemini kullandım. Eğer bu adımları WSL ortamında denerseniz maalesef başarısız olacaktır.. Başlamak için, sitesinde verilen Git deposundan kaynak kodunu kopyalıyoruz. Aşağıda verilen kodu kopyalayıp mevcut uçbiriminize yapıştırıp çalıştırabilirsiniz.

git clone --recursive https://github.com/bitkeeper-scm/little-lang.git

Bu komut tamamlandıktan sonra aşağıdaki komutla mevcut dizini çektiğimiz klasör yapalım.

cd little-lang/

Ardından aşağıda verilen komutu çalıştırarak Little Lang’ı derleyip yükleyebiliriz.

1
2
make 
make install

Eğer derlerken “Couldn’t find x” adlı bir hata karşınıza çıkarsa aşağıdaki komut ile gerekenleri yükleyebilirsiniz.

sudo apt-get install bison flex libxft-dev

Tüm gerekenler yapıldıktan sonra kendi ortamınızda L komutu ortam değişkenlerine eklenmiş olabilir, yani herhangi bir yerde uçbiriminize L yazdığınızda L konsolu açılabilir, ama bende ortam değişkenlerine eklenmediği için /opt/little-lang/bin/L komutunu kullanmam lazım.

Little Lang programlama dilini kullanmaya başlamak için ilk önce bir dosya oluşturmamız lazım. Bir dosya oluşturmak için kullanacağımız en kolay yol, herhangi bir dosya yaratıp başına çalıştırılabilir L dosyasının bulunduğu yolu yazmak olacaktır. Eğer sizin de L kurulumunuz benimkiyle aynı dizinde ise aynısını kendi dosyanıza geçirebilirsiniz.

#!/opt/little-lang/bin/L

Bu yazının altına yazdığımız her şey L programlama dilinde yazılması gerekiyor. Şimdi en basit olan konsola yazı yazma kısmından başlayalım. L programlama dilinde bir yazı yazmak için “puts” adlı fonksiyonu kullanıyoruz.

1
2
#!/opt/little-lang/bin/L 
puts(“General Mobile”); 

Göründüğü gibi kısa bir kod yazabiliriz. Basit programlama mantıklarını kavradıysanız çift tırnak veya tek tırnaklar arasına gelen kelimelere “string” adı verilir. Bu stringler içinde yazı taşırlar. Puts fonksiyonunun içine bir string koyarsak bu string’in içinde yazanları uçbirime yazacaktır. Son olarak da, puts fonksiyonundan sonra noktalı virgül koyup, bu satırın bittiğini belirtiyoruz. Bu dosyayı çalıştırmak için ilk önce uçbirimimizde bu dosyayı çalıştırılabilir yapmamız lazım. Aşağıdaki komutları kendi dosyanıza göre geçirip çalıştırabilirsiniz.

1
2
loongruige@pardus-e5470:~/Masaüstü$ chmod +x ./little loongruige@pardus-e5470:~/Masaüstü$ ./little 
General Mobile

Gördüğünüz üzere bu işlemleri yaparak ilk L programımızı çalıştırdık. Şimdi biraz daha gelişmiş kısımlara geçelim. C dilinin aksine, illaki yazdığınız kodları bir “main” fonksiyonu içerisine koymak zorunda değilsiniz. Ama eğer bir main fonksiyonu oluşturursanız, bu fonksiyon, dışındaki komutlar sonrasında çalıştırılacaktır. Bunu bir örnekle deneyelim.

1
2
3
4
5
6
#!/opt/little-lang/bin/L 
puts(“General Mobile GM 22”) 
void main() { 
puts(“General Mobile GM 22 Pro”); 
} 
puts(“General Mobile GM 22 Plus”); 

Bu komutu çalıştırınca karşımıza, yazdığımız sırada değil, ilk önce “main” dışındaki fonksiyonlar sırayla, ardından da main fonksiyonunun içerisindeki fonksiyonlar çalıştırılacak.

1
2
3
4
loongruige@pardus-e5470:~/Masaüstü$ ./little 
General Mobile GM 22 
General Mobile GM 22 Plus 
General Mobile GM 22 Pro 

Gördüğünüz üzere yazdığımız kod sıralı olmasa da başka yöntemlerle sıralayabildik.

Little Lang Değişkenler ve Veri Türleri

Şimdi hızlıca değişkenlere geçelim. L’de 3 önemli değişken tipi vardır. String, int ve float. String yazıları, int tam sayıları ve float da virgüllü sayıları taşır. Aşağıda verilen küçük örnekle birkaç tane değişken atayalım ve uçbirime yazdıralım.

1
2
3
4
5
6
7
8
9
#!/opt/little-lang/bin/L 
void main() { 
string marka = “General Mobile”; 
int kurulus = 2005 
float milyar_kullanici = 7.924; 
puts(marka); 
puts(kurulus); 
puts(milyar_kullanici); 
}

Çıktı:

1
2
3
4
loongruige@pardus-e5470:~/Masaüstü$ ./little 
General Mobile 
2005 
7.924

Puts fonksiyonunda bir string yazarken içine bir değişken eklemek için yazacağımız stringin içinde dolar işareti ve süslü parantezler ${} içine yazarak hedefimize ulaşabiliriz. Şimdi, bunu yazdırdığımız değerlerin neye karşılık geldiğini belirtmek için uygulayalım.

1
2
3
4
5
6
7
8
#!/opt/little-lang/bin/L 
void main() { 
string marka = “General Mobile”; 
int kurulus = 2005; 
float milyar_kullanici = 7.924 
puts(“Marka: ${marka}”); 
puts(“Kuruluş tarihi: ${kurulus}”); 
puts(“Kullanıcı sayısı (2025): ${milyar_kullanici} milyar”); }

Çıktı:

1
2
3
4
loongruige@pardus-e5470:~/Masaüstü$ ./little 
Marka: General Mobile 
Kuruluş tarihi: 2005 
Kullanıcı sayısı (2025): 7.924 milyar

Little Lang İşlemler

Böylece bunu da başarmış olduk. Şimdi size operatörlerin nasıl çalıştığını göstereceğim. L dilindeki operatörler diğer dillerdeki operatörlerle neredeyse aynı. eklemek için +, eksiltmek için - gibi.

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/opt/little-lang/bin/L 
void main() { 
int kurulus = 2005; 
int bu_yil = kurulus + 19; 
int iki_yil_once = bu yil - 2; 
float baya_zaman_once = kurulus / 2.0; 
int baya_zaman_sonra = kurulus * 3; 
puts(kurulus); 
puts(bu_yil); 
puts(iki_yil_once); 
puts(baya_zaman_once); 
puts(baya_zaman_sonra); 
}

Çıktı:

1
2
3
4
5
6
loongruige@pardus-e5470:~/Masaüstü$ ./little 
2005 
2024 
2022 
1002.5 
6015

Bu örnekte, bir sayıya farklı işlemler uyguladık. Fark ettiyseniz bölüm işleminde 2 yerine 2.0 kullandık. Eğer bölme işlemlerinde noktalı sayı kullanmazsak değer otomatik olarak int sayılır.

Little Lang Karşılaştırmalar

Karşılaştırma yapmak için if fonksiyonunun kullanılması gerekir. Bu karşılaştırmayı yapmak için ==, !=, => ve =< gibi operatörler kullanabiliriz. Şimdi hemen küçük bir örnek yazalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/opt/little-lang/bin/L 
void main(){ 
int giris = 2005; 
if (giris < 0) { 
puts(“Sayı negatif.”); 
} 
else if (giris > 0) { 
puts(“Sayı pozitif.”); 
} 
else { 
puts(“Sayı sıfır.”); 
} 
if (giris % 2 == 0) { 
puts(“Sayı çift”); 
} 
else if (giris % 2 != 0) { 
puts(“Sayı tek.”); 
} 
}

Çıktı:

1
2
3
loongruige@pardus-e5470:~/Masaüstü$ ./little 
Sayı pozitif. 
Sayı tek.

Bu örnekte ilk önce bir sayı sıfırdan küçükse negatif olduğunu, sıfırdan büyükse pozitif olduğunu ve ikisi de değilse sayının sıfır olduğunu yazdırdık. Ardından ise eğer sayının iki ile bölümünden sıfır çıkıyorsa çift, sıfır çıkmıyorsa da tek olduğunu yazdırdık. Örnek olarak 2005 sayısını denediğimizde ise başarılı bir şekilde pozitif ve tek olduğunu yazdırdı.

Little Lang Döngüler

Son olarak, döngülere bir göz atalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/opt/little-lang/bin/L 
void main(){ 
int i = 5 
while ( i > 0 ) { 
puts(i); 
i –; 
} 
}


#!/opt/little-lang/bin/L 
void main() { 
for (int i = 5; i > 0; i –) { 
puts(i); 
} 
}

Çıktı:

1
2
3
4
5
6
loongruige@pardus-e5470:~/Masaüstü$ ./little 
5 
4 
3 
2 
1

Yukarıda verilen şekilde aynı sonucu veren iki döngü yaptık. While döngüsünde, verilen koşul doğru olana kadar verilen kod çalışır. For döngüsü için ise değişken, ilk kısımda başlatılır. İkinci kısımda ise koşul belirtir. Üçüncü kısımda ise döngünün değişkeninin nasıl etkileneceği eklenir. Bu şekilde, L dilinde döngüler de yapmış olduk.

Bu aşırı yüzeysel yazımı okuduğunuz için teşekkürler. Eğer Little Lang hakkında daha fazla öğrenmek isterseniz https://www.little-lang.org/index.html adresinden daha fazla bilgi alabilirsiniz.

Efe Timur Turan

Bu gönderi CC BY 4.0 lisansı altındadır.

Alore Programlama

Chapel Programlama