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.
