Seed7
Paradigması | çok paradigmalı, genişletilebilir, nesne yönelimli, yordamsal, yapısal, genel |
---|---|
İlk çıkışı | 2005 |
Tasarımcı | Thomas Mertes |
Tip sistemi | statik, güçlü, emniyetli, yalın |
Etkilendikleri | C, Pascal, Ada, Modula-2, ALGOL 68 Java |
İşletim sistemi | Çapraz platform, (Linux, Windows, Mac OS, BSD, Unix) |
Lisans | GPL |
Olağan dosya uzantıları | .sd7, .s7i |
Web sitesi | Seed7 Ana Sayfası |
Seed7 Thomas Mertes tarafından geliştirilmiş olan genişletilebilir ve genel amaçlı bir programlama dilidir. Sözdizim kuralları açısından C'ye ve Pascal'a çok benzer.
Diğer birçok özelliğine ek olarak genişletilebilme imkanı sağlar. Seed7 yeni sözdizimi ve onların semantik kavramlarını tanıtılmasını destekler ve böylece Seed7 dilinin kendisini kullanarak yeni dil yapılarının oluşmasına izin verir.
Örneğin programlamacılar yeni komutlar ekleyebildikleri gibi yeni işleç sembolleri de tanımlayabilirler. Dolayısıyla Seed7 dilinin gerçekleştirilmesi sabit kodlu sözdizimi ve semantiği olan dillerden çok farklıdır.
Özellikleri
Seed7 programlama dili zorunlu, nesne yönelimli ve soysal gibi özelliklerin yanında isme göre çağırma, çoklu dağıtma, fonksiyon ek görevi, işleç ek görevi, kural dışı durum işleme ve soyut duyarlık aritmetiği gibi kavramlar içermektedir. İçerdiği proramlama dili kavramları:
- Tip tanımlama (bir ismi yeni bir tipe eşitleme) ve fonksiyon tanımlama
- Derleme anındaki ifadelerin kullanıcının tanımladığı fonksiyonları yürütebilmesi
- Aşırı yükleme ve nesne yönelimli olması yaygın kavramları olarak görülmesi
- Tip isimleri ve tip tanımlamalarının parametre ve fonksiyon sonucu olarak kullanılması
- Derleme anında yürütülen fonksiyonların nesne tanımlamak için kullanılması
- Ayrıştırıcı ve yorumlayıcının yürütüm süresi kütüphanesinin bir parçası olması
- Kaynak kodunun taşınabilir olması
Seed7 projesi hem Derleyici hem de Yorumlayıcı içermektedir. Yorumlayıcı programları çok hızlı başlar. Bu özellik hızlı yazılım geliştirmeyi destekler. Derlenmiş Seed7 programları C programları ile benzer performans değerlerine sahiptir.
Kütüphaneler
Seed7 kapsayıcılar, sayısal fonksiyonlar, dil analizleri, dosya değişimi, ağ oluşturma, grafikler, karakter kodlaması, zaman ve tarih işleme gibi özelliklere sahip yaklaşık 70 kütüphanaye sahiptir. Seed7 kütüphaneleri donanım ve işletim sistemi için soyutlama katmanları içermektedir.
Tarihi
Seed7 programlama dili Thomas Mertes tarafından lisans ve doktora tezinde anlattığı genişletilebilir bir programlama dili olan MASTER esas alınarak yapılmıştır.