4 ms·
Two big benefits are the static typing and compilation so a I get a lot of benefit from catching errors early, and the second big benefit is static linking. Ot
by dkhenry 11y ago
Two big benefits are the static typing and compilation so a I get a lot of benefit from catching errors early, and the second big benefit is static linking.
Other languages give you that ( namely Go ), but I found the correctness checking from rust is _way_ better and I am forced to have much better designs in my programs.
Another Tangential benefit is that I can do lots of great system level things ( High performance data collection, Clustering, Math), and then have a thread pull in a web server and serve out things like statistics and control interfaces.
Also its just nice to program in and the tooling is much nicer then C++
- Touche 11y agoThanks for your replying. Static typing I won't argue with you, but is static linking important for a web server? One of the big areas where people choose Go is for cli utilities and static linking is a big reason for that choice. I can see Rust becoming a competitor in this space for the same reason. But for a web server that you control I don't see a huge advantage to static linking.
- neoCrimeLabs 11y agoThe one benefit of static linking is reduction of software/library dependencies required for production deployment. In many organizations this means you can develop on any OS/Platform you wish, and then deploy on whatever OS/Platform the ops team is currently running. Many organizations have yet to adopt devops and templated system deployment methodologies, so it's a legit concern.
- Touche 11y ago> In many organizations this means you can develop on any OS/Platform you wish, and then deploy on whatever OS/Platform the ops team is currently running. That's true of dynamic linking as well. Static linking just saves you the trouble of having to install the library dependencies on the server. But for ops that's a pretty tiny, if not non-existent gain. So I don't buy it. When deploying to users it's a huge gain, so I do get that that for things like cli utils.
- dkhenry 11y agoIf I was just working in a SaaS world then maybe static linking isn't a big deal, but I ship and support software across 4 different versions of glibc, libstdc++, and any runtimes for various languages ( Java, python, php, ...). Also I have various versions of MySQL and command line tools. The only things I can guarantee I have are ssh and something that will respond to MySQL connections. In that world being able to push out a single binary and have it just work is priceless.