This is a pretty big selling point for command-line utilities like rtop, as opposed to utilities written in Java/Python/Ruby/Node/etc. which require their respective runtime to be installed.
This is a pretty big selling point for command-line utilities like rtop, as opposed to utilities written in Java/Python/Ruby/Node/etc. which require their respective runtime to be installed.
In Java's case only by those that don't know what the Java eco-system offers.
There are plenty of commercial JVMs that offer AOT compilation, including static linking.
Plus as of Java 8, there is even a packager as part of the reference JDK.
I tried robovm, it actually worked nicely but apparently only does 32 bit. Also, the simple reference HelloWorld was nearly 10MB, the build process took 20 seconds, and running it took 15x longer than a comparable one in Go. I don't mean to knock it, what it does is amazing, but it's not a viable replacement for simple static command line tools.
No, most of those that produce good quality code are commercial, hence why I stated that on my comment.
Some of most well known,
http://www.atego.com/products/atego-perc/
https://www.aicas.com/cms/en/JamaicaVM
http://www-03.ibm.com/software/products/en/real-time
Oracle Research has SubstrateVM as part of Graal, but it is still experimental.
https://wiki.openjdk.java.net/display/Graal/Publications+and...
OCaml -> http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual025.ht... Rust -> rustc -C link-args=-static-libgcc hello.rs C -> gcc -o foo main.o -static -lbaz -lbar Python -> http://www.py2exe.org/ Ruby -> https://github.com/larsch/ocra
Compiling python does not feel right.
Using native packages is better[1], but you have to plan it out. You can package virtualenvs into native packages[2] - and this is probably the most solid way, but you'll need packaging setups for various package managers.
In short, "written in Go" for me means with a high probability, just run "go get x" - or download a binary.
Since we are at it, I'd love to hear about better shipping strategies for Python projects.
[1] https://hynek.me/talks/python-deployments/ [2] https://labs.spotify.com/2013/10/10/packaging-in-your-packag...
I thought we were just talking about resource monitoring something. I think deployment is a totally separate subject. But for a top-like Python tool, I really like "glances". It has way more features than this Go version.
But regarding deployments, everything works if you make your own pip packages stored locally for your project. That way if it works on your clean VM, it works when you push to the cloud.
Then you have to install & compile `go get` first, no?