I love many features of Groovy as a language, which are not found in others.
However it took much more than just language features to be successful,
especially a good marketing pitch and position in good time. After some
time, the library support and ecosystem will be the key factors.
I found Groovy is the best option if I only need core language features and
some Java libraries. For scientific programming, my limited experience with
Java libraries on numerical computing was not very smooth. I ported a medium
sized matlab script to Java/Groovy, so I need to find Java equivalent of
matrix computing, linear regression, chart etc. I found that:
1. Using Groovy SwingBuilder and Miglayout to write a medium complexity GUI
is not hard, although there is very little documentation on this specific
topic, I have to explore by myself and only succeeded after I had deeper
understanding on how SwingBuidler worked. Though I guess this path will not
be chosen by most newcomers because they may want a GUI designer and afraid
of the learning curve of Miglayout.
2. The apache commons math library is not easy to use. V3 documentation is
not complete and changed a lot from V2, I have to use V2 at last. The design
of API often conflict with your intuition and change randomly in different
places. I also need to search and use different libraries just to replicate
one function in Matlab. At last I used several math libraries.
3. Jfreechart is very mature and have good documentation. However it is not
actively updated, maybe it doesn't need major update.
4. I tried GroovyLab but it doesn't really solve my problems.
All these situations may look not as shining as the new options of python,
Javascript web visualization etc.
That being said, what I meant is actually a little different from scientific
programming.
There are this new Data Science/Big Data hype and classic numeric computing
in science. They are pretty different in the tasks and requirements. However
I think more and more scientists need some Data Science tasks now. They have
much more experimental data to import, clean, process. They can use many
advanced statistical methods and machine learning methods relatively easily
thanks to all kinds of new libraries. There are numerous documentation and
tutorial available. So Data Science is not just for internet companies,
actually everybody can run some data analysis quickly with free tools and
open data.
I believe Groovy could have a much better position in this trend.
-----
http://dracodoc.blogspot.com/
--
View this message in context:
http://groovy.329449.n5.nabble.com/Groovy-for-data-science-a-killer-application-for-Groovy-tp5722061p5722073.html