Go and Data Science: a myth or reality?

Over the last few years, Golang - or simply “Go” - has won the hearts of many engineers, especially here at iTechArt.

When learning about Go, you’ll probably come across the Gopher - Go’s mascot symbol. This little guy can give you the impression that Go is all fun and games, but in reality, it’s serious stuff!

The more you learn about Go and its capabilities, the more you realize the true power of this language. Enterprise companies like Facebook, Github, Twitter, YouTube, The New York Times, Apple, Dropbox, Docker, and Soundcloud are already leveraging the speed and stability provided by Golang.

Why choose Golang for web development?

For every programming problem, there is a specific programming tool to solve it. For example, if you want blazingly fast run speed, you go with Rust. PHP works best for creating a simple website. Complicated gaming solutions require C or C++.

When it comes to modern computing, Go has many advantages and is one of the best fits for microservice architecture and web applications. In the world of high load applications, Go is like no other language as far as the ability to process the high loads.

Go for server architecture

Engineers confess that once they start writing code with Go, they can’t help but really love it. Go’s out-of-the-box code formatting saves a lot of time upfront, making it much easier to read and edit code. Built-in multi framing, testing capabilities, and automation allows you to quickly create complex web solutions, single page apps, microserver architecture, and powerful integrations with mobile applications.   

Data science and Golang

It’s a no-brainer that large enterprise companies have tons of data they need to turn into meaningful insights. This is where data science comes into play.

Go is an evolving language, but it was not originally created with data science in mind. It is still a way to leverage the data large enterprises constantly generate.

One of our clients whose solution is written in Go wanted to see a report based on sales volume over the last five years. By analyzing this large amount of data, the client wanted to have the ability to predict the volume of sales for the future.

A tricky question was whether it was possible to add data science to the existing Go solution without changing its architecture. If there was a ready Go’s library, it would have been much easier to integrate. But since there was no such library in place, we had to choose from the available paths.

A quick investigation showed that to bring data science capabilities to life, it would be easiest using R or Python. On one hand, integration with Python seemed to be the best solution. But using R required less coding, plus R was created by statisticians for statistics. We decided to go with R. Of course, R can be quite slow in terms of performance, but it offers tons of ready libraries, including machine learning. When there is no need for speed, R is kind of a silver bullet. Moreover, Go and R are two languages that are widely used for building enterprise solutions.

Go + R

The main challenge was how to add ARIMA modelling of time frames to extrapolate sales while having only a dataset. The successful solution integration and implementation took about a week, which is much less than having to create a custom data science library from scratch. As a result, the client now has their data presented in a readable form that makes it easier to plan the future sales volume. 

So you see, Go and data science is not a myth. The combination is more of a mutual reinforcement.

If you need a solution created in Go, don’t hesitate to drop us a line. We have a team of brilliant minds readily available to turn your ideas into a successfully working solution.

Created by Mikhail Romanchak