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.

Seed7
Paradigmasıçok paradigmalı, genişletilebilir, nesne yönelimli, yordamsal, yapısal, genel
İlk çıkışı2005
TasarımcıThomas Mertes
Tip sistemistatik, güçlü, emniyetli, yalın
EtkilendikleriC, Pascal, Ada, Modula-2, ALGOL 68 Java
İşletim sistemiÇapraz platform, (Linux, Windows, Mac OS, BSD, Unix)
LisansGPL
Olağan dosya uzantıları.sd7, .s7i
Web sitesiSeed7 Ana Sayfası

Diğer birçok özelliğine ek olarak genişletilebilme imkânı 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 değiştir

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 değiştir

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 değiştir

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.