Created with Sketch.
Created with Sketch.
Created with Sketch.

{ gosu }

A statically typed, dynamically compilable language that retains all the strengths of Java provides just the right amount of additional expressiveness.

100% JAVA compatible

Gosu is fully compatible with Java and can use any exiting java library. Gosu classes can extend Java classes, implement interfaces, etc. Java tooling, such as profilers, work transparently with Gosu.

IDE Tooling

The Gosu IntelliJ plugin provides all the tools you expect in a modern development environment, using the best of breed IntelliJ IDE by JetBrains

// Type inference keeps things clean var aString = "Hello Gosu!" // Lists & Maps literals for easy use var strings = { "red", "green", "blue" } // Closures make data structures fun var l = strings.where ( \ s -> s.length() > 3 ).sort() // Full Java Interoperability var f = new File("Tmp.txt") // With new features that make java fun again f.write(l.join(", ")) print( )
Statically Typed

Static typing provides instant feedback on errors and allows for top notch IDE support, including finding usages and autocompletion.

Simple + Efficient

Gosu features a simple syntax, no semicolons or other line ending characters. Syntactic sugar is provited in the most needed places, which keeps the amount of code you need to write down, while retaining readability.


1.Dowload latest GOSU distribution

Released April 2017, 1.14.6 is the latest stable release. See also past releases: 1.5 and earlier or 1.6+ (Beginning with 1.6 we release to Maven Central)

2.Set the JAVA_HOME environment

Set your JAVA_HOME environment variable to point to the Java install on your machine.


Unzip the distribution zip, go to the bin folder and double click on gosu.cmd (or gosu if you are using Linux/Mac). You can try the bundled example projects like the Life game. Just select Life from the Examples pane and run the game by pressing F5.