Advanced Gosu features

As well as the many features that Gosu shares with Java, Gosu includes the following additional features:
  • Static typing, which helps you find errors at compile time.
  • Type inference, which simplifies your code and preserves static typing.
  • Blocks, which are in-line functions that you can pass around as objects. Some languages call these closures or lambda expressions.
  • Enhancements, which add functions and properties to other types, even Java types. Gosu includes built-in enhancements to common Java classes, some of which add features that are unavailable in Java (such as blocks).
  • Generics, which abstracts the behavior of a type to work with multiple types of objects. The Gosu generics implementation is 100% compatible with Java, and adds further powerful improvements.
  • JSON support and dynamic typing.
  • Structural types, which relate classes to one another based on shared characteristics rather than interfaces or inheritance.
  • Dimension types, which include a unit as well as a value.
  • Composition, which delegates the implementation of an interface to another class.
  • Transactions for database integrity.
  • XML/XSD support.
  • Web service (SOAP) support.
  • String templates.
  • Concurrency.
  • Checksums.