August 28th, 2024

Kotlin for Data Analysis

Kotlin provides tools for data analysis, including Kotlin notebooks and DataFrame, enabling users to load, transform, visualize data, and integrate with databases, enhancing data science and machine learning capabilities.

Read original articleLink Icon
FrustrationCuriositySkepticism
Kotlin for Data Analysis

Kotlin provides a suite of tools for data analysis, essential for software developers who need to handle data in various formats. Key tools include Kotlin notebooks, Kotlin DataFrame, and Kandy, which facilitate exploratory data analysis (EDA). These tools allow users to load, transform, and visualize data from formats like CSV, JSON, and TXT directly within the IDE. Kotlin DataFrame integrates with relational databases, enabling SQL-like data manipulation and visualization. Additionally, the EDA tools can fetch and analyze real-time data from web APIs, enhancing flexibility in data handling. Kotlin notebooks, including Kotlin Notebook, Datalore, and Kotlin-Jupyter Notebook, offer interactive environments for coding, graphics, and text, allowing seamless sharing and collaboration. The Kotlin DataFrame library supports structured data manipulation, while Kandy provides a domain-specific language (DSL) for creating various charts. Together, these tools empower users to efficiently manage data analysis tasks, from retrieval to visualization, fostering skills in data science and machine learning.

- Kotlin offers various tools for data analysis, including Kotlin notebooks and Kotlin DataFrame.

- Users can load, transform, and visualize data from multiple formats directly in the IDE.

- Kotlin DataFrame allows integration with relational databases for SQL-like data manipulation.

- Kandy is a library for creating charts and visualizations, enhancing data insights.

- Kotlin notebooks support interactive coding and collaboration, facilitating data science projects.

Related

How to Use Jupyter Notebooks: The Ultimate Guide – DataCamp

How to Use Jupyter Notebooks: The Ultimate Guide – DataCamp

Jupyter notebooks are crucial for technical and data work, offering code, output, and text in one document. DataLab, a hosted service, enhances collaboration and database connectivity. Popular among data professionals, they come in hosted and local types, with DataLab providing a user-friendly hosted option.

Self-Hosting Kusto

Self-Hosting Kusto

The article delves into self-hosting Kusto for timeseries analytics, detailing setup with the Kusto Emulator in Docker. It covers connecting, database management, data import, querying with KQL, and anomaly detection. Speed and efficiency are highlighted.

You can contribute to KDE with non-C++ code

You can contribute to KDE with non-C++ code

KDE invites contributions in various programming languages and tools, including Python, Ruby, and Docker, encouraging community involvement in projects, website maintenance, and packaging technologies like Flatpak and Snap.

Show HN: COBOL-REKT, a toolkit for analysing and reverse-engineering COBOL

Show HN: COBOL-REKT, a toolkit for analysing and reverse-engineering COBOL

Cobol REKT is a toolkit for reverse engineering legacy Cobol code, offering flowchart generation, Neo4J integration, execution tracing, and static analysis, with planned features for code detection and knowledge integration.

Kedro – An open-source framework for data science code

Kedro – An open-source framework for data science code

Kedro is an open-source Python framework that enhances data science code development, offering features like pipeline visualization, a Data Catalog, and flexible deployment, successfully used by companies like Telkomsel and Beamery.

AI: What people are saying
The comments reflect a mix of opinions on Kotlin's role in data analysis and its comparison to other languages like Python.
  • Many users acknowledge Kotlin's strengths, particularly its expressiveness and modern features compared to Python.
  • Some commenters express frustration with Python's limitations and the dominance of its ecosystem in data science.
  • There are concerns about Kotlin's niche status and its reliance on the JVM, which some view as a burden.
  • Users share resources and tutorials related to Kotlin's data analysis tools, indicating a growing interest in its capabilities.
  • Discussions highlight the challenges of integrating Kotlin into existing tech stacks, especially when clients prefer simplicity.
Link Icon 11 comments
By @jillesvangurp - 8 months
I do both Kotlin and Python. More Kotlin than Python to be honest. But I'm pragmatic. Python is where all the action is when it comes to data science, llms, and all the rest. So it's the path of the least resistance. And there's a great argument to not challenge that and just do what everybody else does and put your head down and not criticize any of that. Which is why I use it on a few projects. The library ecosystem is great. Etc. Bla bla bla. But the bottom line is that I don't love python. It's dreary to me. Mediocre. I can't get very excited about any of it. It just seems so backwards.

And it's not necessarily the most efficient path either. The interpreter is not that fast, the language is not that expressive, what passes for package management is a bad joke, etc. I can work with it but I'm not necessarily loving it.

For data engineering, Kotlin has a lot to offer. I wouldn't necessarily recommend it because it's all kind of niche. But it kind of works as well. If you aren't afraid of tinkering with it, there are a lot of other niche solutions out there as well that aren't python.

Kotlin is what I reach for when I want to get stuff done in a hurry. Part of that is just my limitation. It's what I know and I kind of grew up on JVM languages. I'm well aware that's not necessarily optimal and that that's just a bias I have. But objectively, it has a lot of nice things over modern python as well.

Kotlin is a modern language, it's a lot more expressive than python. It has a a great library ecosystem. Including some stuff that does not depend on the JVM. And even though it's kind of niche for a lot of things I use it for (e.g. developing reactive web frontends), it holds up well and rarely disappoints me.

People use python because everybody else uses python. That's it. It's not particularly good at anything it does. But it will get the job done and I can do it. But that just isn't good enough for me. It's the visual basic for data science. And that's not a compliment. Being idiot proof is it's main feature. But that doesn't make it the smart choice.

By @nesk_ - 8 months
JetBrains wrote a really good article to showcase how you can analyze your GitHub stars with their data analysis tools: https://blog.jetbrains.com/kotlin/2024/08/track-and-analyze-...
By @binkHN - 8 months
While I came to Kotlin for Android, I'll admit that I've been making things look like nails so that I can use the Kotlin hammer.
By @dr_kiszonka - 8 months
Kotlin aside, what is the deal with many websites not letting me zoom on mobile? (It is hard to see what is going on in the notebooks without zooming in.)
By @andy800 - 8 months
Inspired by an SQL tutorial that was #1 on this site earlier this year, I created (cloned) one for learning the Kotlin Dataframe API.

https://2x2xplz.github.io/Dataframe100Examples/

By @surfingdino - 8 months
My issue with Kotlin is the same as my issue with Groovy. Both are interesting and definitely something new, but... under the hood it's JVM and come with the Java baggage. Some see it as an advantage, I see it as a burden. My clients are using mostly Python and Golang and I have grown to like simple toolchains and the results I am getting. Another point against Kotlin is the fact that my clients like to keep things simple and lean and are against introducing another programming language to their stack unless they absolutely have to.
By @abeppu - 8 months
I find it odd that kotlin-jupyter notebooks still use the `.ipynb` file extension.
By @jiggunjer - 8 months
I've yet to find anything that beats R's ggplot, both in terms of DSL and graphic design defaults.
By @sorokod - 8 months
Kotlin Notebooks are supported only in the Ultimate version of IDEA
By @3shv - 8 months
Talk to me when I can write spark code using kotlin.
By @qaq - 8 months
or Mojo :)