@arivigo Nice post :)
Just to address one specific concern:
> [...] but think of Python code, which can easily be used both as executables and importable modules without any further modification. Not sure about Go or Rust, but I think they work like Python in this.
That's not how it works in Go, Rust or pretty much any other language. In Rust, binaries associated with a library are usually placed in bin/name.rs. And in Go it's cmd/name.go
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.