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...
Then you have to install & compile `go get` first, no?
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.
I think this project was maybe just posted way too early, it doesn't even provide 'top' - there is no breakdown of CPU by PID which is why top has its name... all the files are committed yesterday...
* Go here being a proxy for any language. The same goes for Rust, Haskell, Javascript, etc - this trend certainly isn't unique to Go.
Java has never been very good for command-line tools, though, due to startup time.
Pretty sure there have been plenty of posts saying "written in Java", though of course fashionable languages get more of this.
As a JavaScript developer I can get my head around Go programs. Java hurts my brain, I'm not sure why.
I like using programs I can get my head around.
Safe development? What does that mean?