Then I saw it was written in C. I actually thought it would be Rust or Go. I don't think you should use C for a "next generation" thing.
Then I saw it was written in C. I actually thought it would be Rust or Go. I don't think you should use C for a "next generation" thing.
Whole and profitable empires have been built with C. C compilers are darn good in optimizing code. There is a large workforce proficient in C.
I would bet anytime on C rather on Rust. If Firefox will die it's because some overly eager (but certainly smart) people thought a rewrite will solve business problems.
Rust is probably the least terrible business decision to come out of Mozilla in those past 5 years. If Firefox dies it will be because of the executive's rent-seeking behavior.
That would be ironic given that a massive rewrite is what tanked Netscape, and gave rise to Mozilla, and eventually Firefox.
Then why is it that all of the major C compilers are written in C++?
The oldest commit is from 2013. Rust hadn't hit 1.0 yet, Go only barely.
First and very partial implementation - JavaScript. It was a prototype which I knew I will be throwing away... and I did.
Second attempt, also very partial - Lisp. I used SBCL. Skipping the details here but the result was as follows: got stuck with two different unrelated issues. I did not know would I be stuck with additional issues even if I somehow solve these two.
Third attempt - found a language in which I will never be stuck unable to solve something. C. Also, looked around: bash, Python, Ruby - they are all C. At the time I thought I might be "borrowing" some code from. It didn't happen. I did look though.
Edit: unexpectedly a huge chunk of work, which is garbage collection, was already done for me. C has garbage collection! It is a library - https://en.wikipedia.org/wiki/Boehm_garbage_collector