Interested Article - Gosu

Gosu — это cтатически-типизированный язык программирования, который запускается на виртуальной машине Java . Этот язык используется в нескольких проектах с открытым исходным кодом SparkGS и Ragnar DB, и широко используется в страховой отрасли в коммерческих продуктах Guidewire Software. Язык вобрал в себя возможности языков Java , C# и ECMAScript . Уникальной особенностью языка, является открытая система типов, которая позволяет легко обеспечить проверку во время компиляции или в IDE. Также язык позволяет создавать как программы общего назначения (файлы .gst), так и скрипты (.gsp-файлы) и выполнять их непосредственно из источника без предварительной компиляции.

Синтаксис

Gosu имеет C-style синтаксис.

Простейшая программа Hello World на Gosu.

class Main {
  static function main(args: String[]) {
    print("Hello, World!")
    // или проще
    "Hello, World!".print()
  }
}

// второй вариант работает, только если добавлен
enhancement MyStringEnhancement : String {
  function print() { print(this) }
}

Пользуясь методами и лямбдами очень легко работать с контейнерными объектами.

var list = {1, 2, 3}
var result = list.where(\elem -> elem >= 2)
print(result)

Классы Gosu могут иметь функции, поля, свойства и внутренние классы в качестве членов. Номинальное наследование и композиция с помощью делегирования встроены в систему типов, а также структурную типизацию. В дополнение к стандартным типам классов Gosu поддерживает перечисления, интерфейсы, структуры и аннотации.

Источник —

Same as Gosu