OwnLang Desktop 1.5.0  - Добавлены модули zip, gzip, okhttp
  - Добавлены функции std::getBytes, std::stringFromBytes, std::stripMargin
  - В forms добавлены JProgressBar, JTextArea, JScrollPane, методы для JButton, JTextField и WindowListener
  - В functional::stream добавлена функция joining
  - Добавлены свойства и функции для массивов: arr.length, arr.isEmpty(), arr.joinToString(...)
  - Добавлен оператор объединения с null 
?? (null coalesce)
  - Добавлены классы (пока без наследования, как структура)
  - Строгое преобразование строк в числа (раньше int("test") выдавало 0, а теперь ошибку)
  - В for теперь можно итерировать строки и массивы с индексом:       
for ch : "test"       for ch, code : "test"       for el : arr       for el, index : arr  - В jsonencode можно задать отступ для читабельного форматирования:       
jsonencode(obj) — минифицированный json       
jsonencode(obj, 2) — pretty-print с отступом в 2 пробела
  - Возможность задать параметры парсера/дампера yaml
  - Исправлено подключение к mysql в модуле jdbc
  - Исправлен str::range для реверсивных промежутков
  - Исправлена функция files::readBytes с заданными offset и length
  - Исправлен поиск подходящего конструктора класса в java::new, так же можно инстанцировать класс через оператор new
  - Другие мелкие изменения
OwnLang v1.5.0Демонстрация
Демонстрация
- use "std" 
- str = "123 
-        |456 
-        |789".stripMargin("|") 
- println str 
- obj = {"a": {"b": 12}} 
- println obj.b ?? 1 
- println obj.a.b ?? 2 
- println obj.test1.test2 ?? 3 
- arr = [123, 456, 789] 
- println arr.joinToString(", ") 
- class Point { 
-   def Point(x, y) { 
-     this.x = x 
-     this.y = y 
-   } 
-   def move(dx, dy) { 
-     this.x += dx 
-     this.y += dy 
-   } 
-   
-   def info() = "[" + this.x + ", " + this.y + "]" 
- } 
-   
- a = new Point(10, 12) 
- println a.info() 
- b = new Point(2, 4) 
- a.move(b.x, b.y) 
- println a.info() 
- use "json" 
- data = {"xyz": 123, "uvw": 456, "rst": 789} 
- println jsonencode(data) 
- println jsonencode(data, 2) 
Также посмотрите на офигенский проект от 
@vlavolk:   
audiofold  — телеграм бот для сохранения музыки на локальный диск целиком на OwnLang
 __________________