6 ms·
Mozilla is one of my favorite tech companies. Servo is a great example: Mozilla is willing to engage in fundamental CS research. Not only are they trying to put
by tikhonj 13y ago
Mozilla is one of my favorite tech companies. Servo is a great example: Mozilla is willing to engage in fundamental CS research. Not only are they trying to put together a parallel, secure browser engine from the ground up, but they even created Rust to do so. This is truly long-term work, which seems rare in an increasingly short-term world.
And Rust isn't just another C clone with OOP or CSP bolted on: it's principled, relatively elegant and takes full advantage of the last few decades of PL research. All while being practical—it has to be, since it's evolved with a Servo as a concomitant project. A non-trivial companion project like that seems great for naturally guiding a language! Not many other languages can say any of this, much less ones actually poised to replace C++ or at least do actual systems programming.
And Mozilla is doing all this in a completely open and transparent way. I think this is incredibly important: anybody can get a glimpse into active development or even contribute. Just go to the relevant GitHub repo[1][2] and you're set. This is the way open source is supposed to work, rather than having companies develop behind close doors and dump source code occasionally (although that's also better than nothing).
I really wish more companies would take this sort of approach with their open source or basic research work. This gives me more confidence in Servo, Rust and Mozilla as a whole, especially compared to many of Mozilla's competitors (both in the browser space and in programming languages).
[1]: https://github.com/mozilla/servo/ https://github.com/mozilla/servo/ [2]: https://github.com/mozilla/rust https://github.com/mozilla/rust
- twic 13y ago> A non-trivial companion project like that seems great for naturally guiding a language! It's definitely an interesting aspect. For most languages, the only substantial project during their early life is their own compiler. There is an intriguing theory (posted on HN a few weeks back?) that this results in languages that are optimised for writing compilers, at the expense of writing other things. Are there other examples of languages that had this kind of companion project in their early life? Did UNIX do this for C? To what extent did Rails do it for Ruby? Is there something inside JetBrains that does it for Kotlin, or inside JBoss that does it for Ceylon?
- ahuth 13y agoI'm pretty sure that Ruby was out 10 years before Rails.
- sanderjd 13y agoTotally - the more interesting question is how much Rails has driven all the improvements (mostly to performance, but also to the standard library and packaging) since roundabout version 1.8.
- rubiquity 13y agoI think ruby-core has had a big focus on keeping Rails needs in mind but not letting Rails drive the building of the language.
- jamesbritt 13y agoDo you have any examples of this?
- sanderjd 13y agoSome "examples" (they are really just weak speculation) for how I think Rails may have contributed to the three specific areas I mentioned: - Packaging: This is probably where I think Rails contributed most - both rubygems.org and Bundler were created to make it easier to manage the creation and use of lots of large numbers of dependencies, which Rails projects tend to have. Also rvm and its descendants were created to handle Rails app deployments, and are especially useful for situations where you're switching between lots of projects with different ruby version and library dependencies, which is typical in Rails client work. - Standard library: The `Object#tap` method came from ActiveSupport. Also, ActiveSupport had an OrderedHash, and now all hashes are ordered. I think there are some other examples of that sort of thing. - Performance: I really don't know what has driven performance improvements have been made, but it doesn't seem outlandish to think that backlash against poor CPU and (especially) memory usage characteristics of Rails applications was a contributor.
- rweir 13y agoNote that Rust was a personal project of Graydon's before it became a Mozilla thing - they picked it up a few years.
- deleted 13y ago[deleted]
- nabilhassein 13y agoThe Mozilla foundation is a nonprofit, not a company -- which is probably why it's doing all of these great things that profit seeking companies are not.