Is it intended that Rust ever be used in the large corporations?
In my experience, the larger the corporation the slower it adopts new stuff. My own company is only just finishing its migration to gcc 4.3.2 (released August 27, 2008), just because migrating is costly:
- A version of the compiler has to be selected
- A number of key applications are compiled and tested
- New bugs are found, it has to be identified whether they are caused by a code issue or a compiler issue
- In case of compiler issue, either a work-around has to be identified (disabling an optimization pass, for example) or a fixed version has to be used; in the latter case, back to (2)
The version of gcc 4.3.2 we use is not even vanilla, and on top a number of flags are used to work around known issues. Just validating the compiler itself and finding the set of flags/fixes was (from what I know) a 6 months project involving up to a dozen people at a time.
Once the new compiler is selected, then the migration starts. Starting from the base, every library is delivered and tested in two versions (old and new), so that the applications (users) can migrate at their own pace. Note that unless there is a specific issue with the compiler (slow library load, for example) it is often seen as a cost by applications which are already under pressure to deliver features which bring a measurable amount of money.
Finally, after a couple years, every application has migrated, and the cycle can begin anew.
Now, I am pretty much convinced that my company is pretty bad on the churn time here right now; weâre working on it though so it should get better in the future. On the other hand, I doubt we are the worst; Iâve heard horror stories from embedded developers stuck with proprietary backends that only work with older compiler versions.
The point is, expecting that everyone can be at worst ~4 cycles behind seems way too optimistic. In my experience, you should expect to count in years.
Now, maybe itâs just not Rust ambition to cater to this particular market share, or maybe thereâs hope that with the frequent release of cargo packages the industry will naturally followâŚ
⌠however, in the case of my company, we are more interested in serving our customers with a >= 99.99% SLA than we are in renaming size_hint
to len_hint
. And while 4 9s is not that much, itâs hard enough to get to with a stable foundation.
In the same vein, I could see a keen interest in packages being tagged with the minimal rustc version that they can compile with, so that one may know which package are available.