Fiona :transbian: :autism:<p>One of the most off-putting things about <a href="https://blahaj.zone/tags/Rust" rel="nofollow noopener noreferrer" target="_blank">#Rust</a> is the complete and utter contempt that most of its community has for <a href="https://blahaj.zone/tags/semver" rel="nofollow noopener noreferrer" target="_blank">#semver</a>: A library that is meant to be used by others should <b>explicitly</b><span> have a version of 1.0.0 or greater. <br><br></span><a href="https://semver.org/" rel="nofollow noopener noreferrer" target="_blank">0.x.y means that it is <b>not</b> ready for actual productive use:</a></p><blockquote>Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.</blockquote><blockquote>If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backward compatibility, you should probably already be 1.0.0.</blockquote><span>Meanwhile in Rust: “The preferred TLS-library with 186k users, 166 contributers, and 3795 commits is still in version 0.23.26.”<br><br>Sorry, I’m not going to use a pre-release cryptography library in production! If this is meant for actual use, give it an according version number!<br><br>Also, the custom rules are part of the problem: The notion that you should not have breaking changes when going from 0.1.2 to 0.1.3 is </span><b>explicitly</b><span> in violation to the rules that semver puts down, yet the rust community has set up expectations that this is not the case.<br><br>And then there is of course the entire mess with huge numbers of transitive dependencies for everything. I was looking at a json library and it depends on an “itoa”-crate that literally just exists to convert integers to strings. Aka: it introduces a completely new point where someone can create a dependency that includes malware, for essentially no gain.<br><br>Compare this with C++, where the generally preferred </span><a href="https://github.com/nlohmann/json" rel="nofollow noopener noreferrer" target="_blank">json-library</a> has <i>zero</i><span> dependencies and is in fact single-header-only.<br><br>It’s stuff like this that pushes me back to C++ every time I look at rust. Which makes me sad, because I really like many of the high-level ideas behind Rust. </span>😞<span><br><br></span><a href="https://blahaj.zone/tags/cplusplus" rel="nofollow noopener noreferrer" target="_blank">#cplusplus</a><p></p>