| I work mostly in terminal and won't use clunky IDE programs. I need to be able to 0. Export/upload my source 1. Import/download my remote source 2. Compile my source for different targets 3. Cleanup my source and my compiled source 5. Do all the above for different versions/locations of my source 6. Do all the above for source not my own 7. Do all the above with a simple command and or a simple key->value in a config file Then I need to do all the above with 8. using a terminal on my personal computer 9. on a remote server using ssh'ed terminal 10. in a script automation file like a docker file or maybe a vim script that setups my dev environment 11. Have 0 - 10 be so easy to do, basically a simple command or two, that I don't have to spend days figuring out tooling FOR EACH TASK and googling mystical error messages for solutions on obscure forums posted 2009. I stayed with Rust because it has good tooling. Because it's the one thing that hasn't driven me insane at one point or another. I wanted to program in Haskell and c, but I am so sick of the terrible tooling and the terrible conventions of the communities (something Go at least gets right) that I instead program in Rust, a language I enjoy less for it's merit as a language. |
I haven't mentioned conditional compilation.
I haven't mentioned respecting the configuration options of dependencies.
The tooling has to at least do all that using the same syntax for commands and configuration. It has to be predictable enough that I can almost figure it out myself. No black magic.