+7 (499) 288-06-73

Скопировать

Язык программирования Groovy

17.02.2023
#

Groovy - язык, основанный на синтаксисе и принципах Java. Он использует объектно ориентированный подход к построению программ. Типизация данных в Груви может быть как статической, так и динамической. Для компиляции языка используется Java Virtual Machine.

История разработки

Джеймс Стрекан, создатель Groovy, впервые рассказал о своем детище в 2003 году через публикацию в своем блоге. Правда, официальная версия платформы была представлена только в январе 2007, и именно она получила префикс 1.0. Последняя на текущий момент итерация языка, под номером 3.0, вышла в 2020 году.
Сам Джеймс Стрекан покинул команду разработки еще до релиза Groovy 1.0. Позже он писал, что язык Scala, как и Груви представляющий собой надстройку над Java, показался ему более перспективным.
В настоящее время язык является собственностью корпорации Dell, а также поддерживается организацией-фондом Apache Software Foundation.

Особенности языка

В Groovy есть ряд “фишек”, отличающих его от Java и многих других ООП языков.

  1. Совмещение статической и динамической типизации.
    Статическая типизация предполагает строгое указание типа переменной при ее объявлении. При динамическом подходе это действие не обязательно, компилятор определяет тип самостоятельно. Груви использует оба метода типизации, в отличие от Java, где доступна только статика.
  2. Замыкания в коде.
    Замыкания, или closure, это, по сути, функции встроенные в функций. Они могут взаимодействовать с локальными переменными внутри “родителя”. Замыкания связывают данные в единую цепочку и упрощают взаимодействия внутри программы.
  3. Метапрограммирование.
    Groovy использует runtime и compile time программирование. Это значит, что части исходного кода можно расширять не только во время компиляции, но и при исполнении программы.
  4. Перегрузка операторов.
    Перегрузка, или переопределение, операторов применяется для использования одинаковых функций и методов для различных типов данных в общей области видения. Например, извлечения корня как из вещественных, так и дробных или комплексных чисел. Groovy может перегружать стандартные операторы, а Java - нет.
  5. Дополнительный тип строчных переменных.
    В Груви есть строчный тип GString с двойными кавычками. Стандартные строки с одинарными кавычками, как в Java, тоже поддерживаются.
  6. Оригинальный синтаксис массивов и списков.
    Новый тип массивов в Groovy, под названием Maps, позволяет создавать группы из объединенных в пары элементов. Например, ExMap = [ 'x' : 1, 'y' : 2, ‘z : 3 ].
    Range - это тип данных, представляющий собой промежуток значений с заданным началом и окончанием - ряд чисел, алфавитная последовательность и т. п.
  7. Интеграция языков разметки.
    Груви совместим с разметкой XML и HTML формата. Он может как парсить существующие документы, так и создавать новые через древовидную структуру данных.

Преимущества Groovy

#

Рассмотрим главные плюсы языка.

  1. Полная интеграция с Java.
    Груви дополняет и улучшает код, написанный на Java. Программы. написанные на Groovy, без проблем считываются компилятором JVM.
  2. Доступность в популярных IDE.
    Рассматриваемый язык включают в себя большинство применяемых интегрированных сред разработки: NetBeans, Eclipse и др.
  3. Простота освоения.
    Особенно это актуально для программистов, знакомых с Java, Python и подобными языками. Им синтаксис Groovy покажется знакомым и привычным.
  4. Параллельные и асинхронные вычисления.
    Программы на Груви быстро выполняются за счет параллельного вычисления потоков. Благодаря этому свойству рассматриваемый язык часто применяется для разработки реактивных веб-приложений, где важна скорость ответа системы на действия пользователя.
  5. Поддержка Apache Foundation.
    Независимый фонд оказывает значительное влияние на развитие языка, улучшая его в лучшую сторону и повышая доверие сообщества к платформе.

Где применяется язык

Groove - язык программирования общего назначения. Он используется во многих сферах разработки.

  1. Веб приложения.
    Grails, фреймворк Groovy, отлично подходит для создания быстрых, высоконагруженных сайтов и веб-систем с мгновенным ответом на пользовательские запросы.
  2. Микросервисные платформы.
    Фреймворк Micronaut позволяет разрабатывать приложения, основанные на микросервисах - изолированных фрагментах программы, взаимодействующих между собой через специальные команды.
  3. Десктопные приложения.
    ПО для компьютеров на Groovy пишется через фреймворк Griffon.
  4. Сценарии тестирования.
    Тесты для сайтов и браузерных приложений можно написать, используя приложение SoapUI. Фреймворк Geb также подойдет для этих целей.
  5. Параллельные вычисления.
    Распределительные системы на Groovy выполняются за счет встроенной системы Graps.
  6. Программы для обработки данных.
    Часто язык используется для написания кода, обрабатывающего большие массивы данных, например, для статистических и научных исследований.

Примеры кода

Для вывода на экран надписи понадобится всего одна команда.


      print("Hello world!")
    

Рассмотрим также, как в Groovy устроены методы функций.


      class Example {
         static void mlp(int x,int y) {
            int m = x*y;
            println(m);
         }

         static void main(String[] args) {
            mlp(3,4);
         }
      }
    
#

Заключение

Groovy - язык программирования, дополняющий Java и расширяющий его возможности. В нем есть динамическая типизация, обновленные типы данных, возможность прямой работы с XML и другие “фишки”. Благодаря фреймворкам и расширениям Груви используется фактически во всех сферах разработки - от веб-среды до проверочных тестов.