Cool (programlama dili) - Cool (programming language)

GÜZEL
ParadigmaNesne odaklı
Tarafından tasarlandıAlexander Aiken
GeliştiriciAlexander Aiken
İlk ortaya çıktı1996
Yazma disipliniStatik, kuvvetli, belirgin
Lehçeler
Harika 2004, Harika 2005, Harika 2006, Harika 2007, Harika 2008, unCool
Tarafından etkilenmiş
Java, ML, Pascal, Sather

Güzel, bir kısaltma için Sınıf Nesnesine Yönelik Dil, bir bilgisayar programlama dil Alexander Aiken tarafından bir lisans derleyici ders projesinde kullanılmak üzere tasarlanmıştır. Cool, bir dönemlik bir proje için yeterince küçük olsa da, nesneler, otomatik bellek yönetimi, güçlü statik yazım ve basit gibi modern programlama dillerinin birçok özelliğine sahiptir. yansıma.

Referans Cool derleyici, C ++, tamamen kamu malı araçları üzerine oluşturulmuştur. Bir için kod üretir MIPS simülatör, SPIM. Bu nedenle, dil diğer platformlara kolayca taşınabilmelidir. Birçok kurumda derleyicilere öğretmek için kullanılmıştır (örneğin Berkeley'deki California Üniversitesi, ilk kullanıldığı yer veya Shahid Beheshti Üniversitesi nın-nin İran ) ve yazılım kararlıdır.

Bu dil, dahil edilen COOL diliyle ilgisizdir. KLİPLER.

Özellikleri

Cool'un temel amacı öğretim olduğundan, diğer, daha genel programlama dillerinde ortak olan birçok özellikten yoksundur. Örneğin, dil karşılaştırmalardan daha azını destekler ancak daha büyük değildir. Sözdizimi çok fazla soyulur ve "standart kitaplık" yalnızca birkaç temel sınıf içerir. Derleyici, girdi olarak birden çok kaynak dosyasını desteklemesine rağmen, ayrı derleme desteklenmez. Her Cool programı bir sınıf tanımlamalıdır Ana args içermeyen ana yürütme akışının başladığı yöntem. Ad alanları desteklenmez.

Örnekler

"Selam Dünya!":

class Main, GÇ'yi miras alır {main (): Object {out_string ("Merhaba, dünya!")};};

Faktoriyelleri hesaplamak için basit bir program:

class Main, IO'yu miras alır {main (): Object {{out_string ("0'dan büyük veya 0'a eşit bir tamsayı girin:"); let input: Int <- in_int () in eğer input <0 ise out_string ("HATA: Sayı 0'dan büyük veya 0'a eşit olmalıdır") else {out_string ("Factorial of") .out_int (input); out_string ("eşittir") .out_int (faktöryel (girdi)); out_string (""); } fi; }}; faktöriyel (num: Int): Int {eğer num = 0 ise 1 else num * factorial (num - 1) fi};};

Referanslar

Dış bağlantılar