Cobra | |
---|---|
Paradigmen: | imperativ, objektorientiert, generisch, modular |
Erscheinungsjahr: | 2006 |
Entwickler: | Chuck Esterbrook |
Aktuelle Version: | 0.9.6 (23. Dezember 2013) |
Typisierung: | stark, statisch, dynamisch |
Beeinflusst von: | Python, Eiffel, C#, Objective-C, D |
Betriebssystem: | .Net-Framework, Mono |
Lizenz: | MIT-Lizenz |
cobra-language.com |
Cobra ist eine objektorientierte Programmiersprache. Ziel dieser Entwicklung sind nicht experimentelle Features oder neue Konzepte, sondern eine übersichtliche, praxisorientierte Syntax mit umfangreicher und bewährter Unterstützung des Entwicklungsprozesses. Die Implementierung setzt auf das .Net-Framework auf und läuft sowohl auf der .NET- als auch auf der Mono-Plattform.
Cobra lehnt seine Syntax stark an Python an. Die Sprache bietet dynamische und optionale statische Typisierung an.[1][2] Weiter bietet Cobra auch Syntaxelemente für Lambda-Ausdrücke[3], Design by contract und Modultests.[1] Diese wurden von Eiffel und D inspiriert.
Cobra ist ein Open-Source-Projekt und wurde am 29. Februar 2008 unter der MIT-Lizenz freigegeben.[4][5] Seit Ende 2013 wird das Projekt nicht mehr gepflegt, es sind keine neueren Versionen mehr verfügbar.
Das klassische Hallo-Welt-Programm sieht folgendermaßen aus:
class Hallo
def main
print 'Hallo Welt!'
Klassen werden in Cobra mit dem Schlüsselwort class
eingeleitet. Das folgende Beispielprogramm definiert eine neue Klasse Person
mit einem Namen und einem Alter, die über eine Methode automatisch in einen String umgewandelt werden kann:
class Person
var _name as String
var _alter as int
cue init(name as String, alter as int)
_name, _alter = name, alter
def toString as String is override
return 'Mein Name ist [_name] und ich bin [_alter] Jahre alt.'