Although I see the importance (and fun) of portability to relatively obscure platforms. I feel that these discussions are typically unbalanced. Do we really want to hold back progress in terms of safety for > 99% of the users to accommodate < 1% of the users?
(The linked post is not arguing this. But some of the discussion surrounding the introduction of Rust code in Firefox is… Hopefully in the end, we’ll have portable LLVM+Rust and everyone can be happy ;).)
Support for less mainstream platforms (particularly big endian platforms like SPARC) is great for shaking out bugs that result from assuming the world is all running little endian x86 Linux systems. I’m glad that Go appears to be getting SPARC support at last (I believe it’ll be in 1.9).
Support for less mainstream platforms (particularly big endian platforms like SPARC) is great for shaking out bugs
Sure, that’s one of the reasons that portability is important. The other is that it leads to more platform-independent code, making it easier to adapt to new (not-so niche) platforms.
But I am pretty sure that rewriting C or C++ code in a higher-level language shakes out far more bugs. So, I can understand that when it is a temporary binary choice between switching to Rust for certain parts of Firefox or preserving SPARC support that Mozilla chooses the former.
This mightvalso directly help in running it on open CPU’s as several that are already open-sourced are SPARC ISA.
“The human genome is about 3 gigabases long, which boils down to 750 megabytes. Depressingly enough, this is only 2.8 Mozilla browsers.” - Bert Hubert