Some examples from leading home automation systems that are thriving:
Hass.IO uses Python and now heavy MQTT
- SmartThings uses Groovy
So it is what it is. Most of your knowledge about JS will naturally work in Groovy. Where Groovy falls short is what has not been exposed by HE. Web Sockets just became available to the community. Telnet just became available. So you just have to take what you can get and make requests for advancements in Groovy that makes sense. One advancement that has not been implemented is the ability to make remote class object calls to community groovy code hosted outside of HE. But eventually as the HE team continues to meet their goals in delivering the best on-premises, local execution and most reliable smart home automation solution they bring new features to the environment. Some are apps. Some are app advancements (Global variables in Rule Machine [YES!!!!]). Some are development environment advancements. If you have a need ask the support team publicly and privately...BUT keep it positive and explain what you would like to do that you can't do today. They are very responsive and if the addition makes sense and supports the community then most of the time they divert efforts and invest in community recommendations.
Overall....embrace Groovy if you wish to use HE. But also contribute where you can.