Developing Applications
Go Gopher + Arrow by Kelly Núñez, Design & Web Development Manager at Voltron Data, Inc.
Organizations need data science, and data science needs Go. #
As data science develops as a discipline, it becomes more dependent on information systems and services. Data science morphs into data engineering.
It is time for data scientists to embrace the power of Go. Data scientists can be multilingual, exploring data with R, evaluating alternative models with R and Python, and implementing systems in Go. Working across the languages of data science is facilitated by building on a common data platform such as Apache Arrow.
Go is faster than R and Python. Go offers security, type-safety, and compatibility from one version to the next. Applications developed in Go are easier to maintain over time than comparable applications in R and Python.
Many think of Python as a “glue” language because it can be used to link systems together, providing a single language for web and database servers, as well as analytics engines.
If Python is the “glue,” then Go is the “super glue.” #
Go is both a programming language and a software development environment. Go is easy to learn and enforces best practices in software engineering.
The reasons that make Go a popular choice for building information infrastructure are reasons that should make Go a popular choice for building business applications.
Currently with Go, data scientists may miss the plethora of modeling and analysis packages they have come to expect with R and Python. This situation will change with time.
There is the possibility of translating (refactoring, converting) R or Python code into Go code. Consider Khan Academy’s experience in converting from Python to Go, described in Half a million lines of Go.
Taking a multilingual approach to natural language processing and computer vision, data scientists can train and test models using Python and then implement those models in Go. For example, they can develop TensorFlow computational graphs using Python and then execute those graphs in Go. See Daniel Whitenack’s GitHub Repository from the GopherCon 2021 workshop Production AI with Go.
LocalAI, written in Go and Python (GitHub repository), an open-source community project, describes itself as follows: Local AI is a drop-in replacement REST API that’s compatible with OpenAI API specifications for local inferencing. It allows you to run LLMs (and not only) locally or on-prem with consumer grade hardware, supporting multiple model families that are compatible with the ggml format. Does not require GPU.
Data Science Quarterly promotes the discipline of data science, showing its relevance to all organizations and highlighting innovative technologies for data science. Data Science Quarterly combines the best attributes of academic journals and popular news magazines. Its articles draw on high-quality empirical research written in clear and concise language that anyone can understand.
The data-science-quarterly GitHub site is intended to be the home of multi-language repositories illustrating the power of innovative technologies for delivering data science solutions.
Go to the home page Learning Go for Data Science.