Автор Гілка: groovy як скриптова мова  (Прочитано 2364 раз)

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1923
  • Карма: +4/-0
Зі старих часів мав багато скриптів для маніпуляції текстів з grep/sed/awk/sort і хоч такі скрипти писати швидко, якщо потрібно зробити щось нелінійне одразу складність підлітає в рази.
Почав використовувати пітона, але стикнувся з проблемою швидкодії і майже непридатною системою паралелізації (через GIL). Тож зараз починаю використовувати groovy
1) скриптова мова, за компактністю схожа на пітон
2) значно швидша: звичайні регулярні вирази і рядкові функції разів в 5
3) розуміє мову і класи Java
4) як наслідок купа готових високоякісних бібліотек
5) є мовою gradle, що спрощує будування багатоплатформових проектів

Приклад реверсивного сортування (тобто сортування з кінця рядка) однією командою (3,3 млн рядків).

простий (приблизний) командний аналог
rev | sort | rev

real    0m41.518s
user    0m31.278s
sys     0m22.562s

в groovy
groovy -e ' println System.in.readLines().sort{ it.reverse() }.join("\n")'

real    0m23.223s
user    0m33.037s
sys     0m0.898s

тобто процесорний час затрачений майже той самий, але якщо є декілька ядер то groovy працює швидше!

Також якщо сортувати треба лише за якоюсь частиною рядка то в groovy це елементарно, а в командному рядку починаються стрибки.
Fedora 35 (x86-64)

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: groovy як скриптова мова
« Відповідей #1 : 2015-12-13 15:56:44 »
Це вже цікаво, дякую, треба буде поколупати. Постійно бачу, що зростає тенденція на функціональні мови програмування.

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1923
  • Карма: +4/-0
Re: groovy як скриптова мова
« Відповідей #2 : 2015-12-14 18:23:13 »
функціональні чи функційні? ;)
groovy скоріш перше, вона підтримує функційну парадигму, але не наполягає на ній і дозволяє використовувати інші
Fedora 35 (x86-64)

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: groovy як скриптова мова
« Відповідей #3 : 2015-12-22 12:08:29 »
Я це мав на увазі, це функційні?

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1923
  • Карма: +4/-0
Re: groovy як скриптова мова
« Відповідей #4 : 2016-01-04 16:52:23 »
я б сказав функційні:
Цитата
treats computation as the evaluation of mathematical functions

http://e2u.org.ua/s?w=functional&dicts=all&main_only=on&highlight=on

Цитата
functional 1. функціона́л 2. (пов’язаний з функціоналом) функціона́льний, функціона́ловий 3. (пов’язаний з функцією) функці́йний
Fedora 35 (x86-64)