JetBrains is providing new details on the current state of Kotlin tools and libraries for data science.
“How does Kotlin fit data science? Following the need to analyze large amounts of data, the last few years has brought a true renaissance to the data science discipline. All this renaissance of data science couldn’t be possible without proper tools. Before, you needed a programming language designed specifically for data science, but today you can already do it with general-purpose languages. Of course this requires general-purpose languages to make the right design decisions, not to mention getting the community to help in. All this made certain languages, such as Python, more popular for data science than others,” Kotlin wrote in a post.
On top of languages like Python and R, data scientists have also begun adopting Kotlin at an accelerating pace. There are a number of Kotlin features, libraries, and tools that make this possible, JetBrains explained.
Jupyter notebooks provide a convenient way to transform, visualize, and present data. Jupyter includes a Kotlin kernel that allows data scientists to write and run Kotlin code in Jupyter notebooks using third-party data science frameworks.
Apache Zeppelin in another popular tools among data scientists. Like Jupyter, it also has a plugin API to add support for other tools and languages, allowing developers to add Kotlin support.
JetBrains also revealed that it is working to improve the integration between Apache Spark and Kotlin. Apache Spark has a Java API, which allows developers to use Kotlin to work with it, but JetBrains is working to add full support for Kotlin class and support for Kotlin in Spark’s shell.
Moving past tools and into libraries, there are several Kotlin libraries that developers working with data will find especially useful. These include:
- Kotlin-statistics provides a set of extension functions for performing statistics
- Kmath is a numpy-inspired library that supports algebraic structures and operations, array-like structures, math expressions, histograms, streaming operations, and wrappers around commons-math and koma
- Krangl is a library that offers functionality for data manipulation
- Lets-plot is a library that can be used to declaratively create plots based on tabular data
- Kravis is a library for visualizing tabular data
In addition, Python and Kotlin users can take advantage of Kotlin Bindings for NumPy. This allows developers to call NumPy functions for Kotlin code. NumPy is a Python package that is used for scientific computing.
“Keep in mind that Kotlin is still in the very early stages of becoming the tool of choice for data scientists. It’s going to be an exciting and challenging journey! It will require building a rich ecosystem of tools and libraries, as well as adjusting the language design to meet the needs of data-related tasks,” JetBrains wrote.
More information is available from Roman Belov’s KotlinConf2019 session.