Groovy is a feature rich, agile and dynamic language for the Java Virtual Machine.
Groovy code is compiled to byte code that is executed by the Java Virtual Machine (JVM). We choose Groovy as the SmartThings programming language for its simplicity and flexibility, as well as the performance and stability of the JVM.
Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk.
Salient Features :
Flat learning curve
Concise, readable and expressive syntax, easy to learn for Java developers
Closures, builders, runtime & compile-time meta-programming, functional programming, type inference, and static compilation
Smooth Java integration
Seamlessly and transparently integrates and interoperates with Java and any third-party libraries
Flexible & malleable syntax, advanced integration & customization mechanisms, to integrate readable business rules in your applications
Vibrant and rich ecosystem
Web development, reactive applications, concurrency / asynchronous / parallelism library, test frameworks, build tools, code analysis, GUI building
Scripting and testing glue
Great for writing concise and maintainable tests, and for all your build and automation tasks