Go
Golang for scientific work?
Unfortunately, scientific work is library dependent and golang wasn't really meant to be used for that kind of work. Buuut, it's great at parallel and networking stuff, and it's particularly good at crunching numbers.
Gonum - Library for numerical and scientific algorithns
Gonum contains libraries for matrices and linear algebra; statistics, probability distributions, and sampling; tools for function differentiation, integration, and optimization; network creation and analysis; and more.
Library for writing scientific workflows that involve many commandline programs
https://github.com/scipipe/scipipe
Might be good for openfoam?
Jupyter notebook for golang
https://github.com/gopherdata/gophernotes
Application for viewing and editing images
https://apps.fyne.io/apps/io.github.palexer.image-viewer.html https://apps.fyne.io/apps/io.github.vinser.pixyne.html
Image processing algorithms in pure Go
https://github.com/anthonynsimon/bild
Basic package usage example:
package main
import (
"github.com/anthonynsimon/bild/effect"
"github.com/anthonynsimon/bild/imgio"
"github.com/anthonynsimon/bild/transform"
)
func main() {
img, err := imgio.Open("input.jpg")
if err != nil {
fmt.Println(err)
return
}
inverted := effect.Invert(img)
resized := transform.Resize(inverted, 800, 800, transform.Linear)
rotated := transform.Rotate(resized, 45, nil)
if err := imgio.Save("output.png", rotated, imgio.PNGEncoder()); err != nil {
fmt.Println(err)
return
}
}
Library to handle serial communication with Arduino family
https://github.com/arduino/go-serial-utils
Cross platform GUI toolkit in Go inspired by Material Design
https://github.com/fyne-io/fyne