7 ms·
I cannot help but think of Joel Spolsky's article about reasons not to do a complete rewrite of your project -- a lesson he learned after finally shipping the l
by jessedhillon 13y ago
I cannot help but think of Joel Spolsky's article about reasons not to do a complete rewrite of your project -- a lesson he learned after finally shipping the long delayed rewrite of Netscape Navigator (progenitor to Mozilla)
http://www.joelonsoftware.com/articles/fog0000000069.html http://www.joelonsoftware.com/articles/fog0000000069.html
- Ygg2 13y agoWhich is why this is a small project by few people and the community. Even IF it fails it's still a benefit as a data point. Rust people are reusing a lot of Mozilla software stack and plan to do auto conversion of C++ to Rust (where benefits are greatest).
- lastontheboat 13y ago>plan to do auto conversion of C++ to Rust This... is news to me? I'm pretty sure we have no such plans at all.
- Ygg2 13y agohttps://github.com/mozilla/servo/issues/1289 https://github.com/mozilla/servo/issues/1289 I think it was this issue that talked about porting using Java -> Rust and C++ -> Rust translator.
- lastontheboat 13y agoOh right, that's a special case. The Gecko HTML5 parser is already generated by a specially-targetted Java -> C++ translator. We want to use the same code and make it go Java -> Rust, that's all.
- Ygg2 13y agoThanks, didn't know that.
- coldtea 13y agoWell, on the other hand if they haven't done the rewrite, Mozilla wouldn't be here now, and Netscape would have been an insignificant player like Opera at best. So, it might have not worked out for Netscape the company, but then nothing would have, and at least if worked well for Mozilla the organisation.
- pjmlp 13y agoI imagine one has to thank Google for the funding as well.
- m_mueller 13y agoCounterexample: Damian Katz and how he did a rewrite on the Lotus compute engine[1]. I guess it depends. For 30k lines of code it should be possible for any good engineer. A browser is of course in another ballpark, but if you have a really good core team it should still be manageable. It also depends on whether you're willing to break things (Apple with OSX). [1]http://damienkatz.net/2005/01/formula-engine-rewrite.html http://damienkatz.net/2005/01/formula-engine-rewrite.html
- badman_ting 13y agoIt is possible to apply this advice too broadly.
- wting 13y agoI hate when this article of Joel's get cited as an argument not to rewrite anything. > With that thinking we never get Linux (NeoMinix), tmux (NeoScreen), Clang (NeoGCC), WebKit (NeoGecko), Subversion (NeoCVS), or Vim itself (NeoVi/Elvis/Stevie/etc). -- haberman (https://news.ycombinator.com/item?id=7288033 https://news.ycombinator.com/item?id=7288033) Stuff is rewritten all the time. Servo is not replacing all of Firefox, just an experimental project to replace Gecko by a skeleton crew.
- awj 13y agoHis article was talking about abandoning a large product to do a ground-up rewrite without clear improvement goals beyond "make it easier to understand/work on". Servo meets basically none of those criteria.