Data Science with Groovy

Duration: 180 mins
Paul King
Principal Software Engineer & Groovy Lead, OCI

Groovy is a powerful multi-paradigm programming language for the JVM that offers a wealth of features that make it ideal for many data science and big data scenarios.

Groovy has a dynamic nature like Python, which means that it is very powerful, easy to learn, and productive. The language gets out of the way and lets data scientists write their algorithms naturally.

It has a static nature like Java and Kotlin, which makes it fast when needed. Its close alignment with Java means that you can often just cut-and-paste the Java examples from various big data solutions and they’ll work just fine in Groovy.

And it has first-class functional support, meaning that it offers features and allows solutions similar to Scala. Functional and stream processing with immutable data structures can offer many advantages when working in parallel processing or clustered environments.

These slides review the key benefits of using Groovy to develop data science solutions, including integration with various JDK libraries commonly used in data science solutions including libraries for data manipulation, machine learning, plotting and various big data solutions for scaling up these algorithms.

Math/Data Science libraries covered include: Weka, Smile, Apache Commons Math, beakerx notebooks, Deep Learning4J.

Libraries for scaling/concurrency include: Apache Spark, Apache Ignite, Apache MXNet, GPars, Apache Beam.

You may also be interested in

50 mins
All That Glitters Ain't Gold

Let’s use Kafka, everywhere! Let’s try event driven architecture! How about Rust for this service? Let’s use Elixir for this!...

50 mins
Top 10 Algorithms for Coding Interviews

So we are all the best coders, but have you see the run time of the code you are writing?...

25 mins
Writing Professionally

The most important thing you do in your job is write. It's in every email you send, every commit you...

50 mins
Do You Know Da Wae

We build development teams based on individual ability to write code but development of a software project of any significance...

50 mins
Systems Thinking

Albert Einstein once said — “We cannot solve our problems with the same thinking we used when we created them.” As...

25 mins
Uncovering your Personal Values

We regularly review our code and attend retros, but what about tracking and reviewing our personal identity? We all know...