Gosu ist eine statisch typisierte, objektorientierte Sprache für die Java Virtual Machine (JVM). Sie entstand 2002 intern bei Guidewire Software für Versicherungsanwendungen und wurde 2010 als Open Source veröffentlicht. Gosu kombiniert Java-, C#- und ECMAScript-Ideen und ist vor allem im Versicherungsumfeld (P&C) verbreitet.
Dateien und Werkzeuge
.gs– Gosu-Quelldatei; eine Klasse pro Datei, Name der Datei = Name der Klasse.gst– Gosu-Template-Datei (HTML-artige Templates mit Gosu-Ausdrücken)gosuc– Gosu-Compiler (Kommandozeile, kompiliert .gs nach Java-Bytecode)gosu– Interpreter/REPL für schnelle Experimente
Syntax-Grundlagen
package example
uses java.util.List
class Hallo {
function gruesse(name : String) : String {
var text : String = "Hallo " + name
return text
}
}
uses– Import-Deklaration (stattimport)var– lokale Variable,var x = 5mit Typinferenzfunction f(p : Typ) : Rueckgabe– Methoden-Definition- String-Templates:
"Hallo ${name}"als First-Class-Sprachfeature
Praxis-Tipps
- Gosu bietet auch funktionale Elemente (Lambdas, Block-Expressions) und erweiterbare Typen (Enhancements) für bestehende Java-Klassen
- Dr. Dobb's Journal nominierte Gosu 2011 zur „Language of the Month“
Verwandte JVM-Sprachen: Java-Befehle, Kotlin-Befehle, Groovy-Befehle, C#-Befehle. Weitere JVM-Nachbarn: Xtend-Befehle und X10-Befehle.