Live data from Hacker News

How Stylo Brought Rust and Servo to Firefox

bholley.net

191–199 of 199 posts

Re: How Stylo Brought Rust and Servo to Firefox

#191
post #93
post #83

Earlier quoted context omitted.

Joel is making two separate claims there, though he doesn't cleanly distinguish them. One is that rewriting from scratch is going to give you a worse result than incremental change from a technical point of view (the « absolutely no reason to believe that you are going to do a better job than you did the first time » bit). The second is that independent of the technical merits, rewriting from scratch will be a bad co…

In Joel's defense, we don't know that gecko is better than X years of incremental changes to Netscape 4. One of the big issues with software engineering advice is that it is really hard to find apples-to-apples comparisons for outcomes.

> In Joel's defense, we don't know that gecko is better than X years of incremental changes to Netscape 4.

Yes, we do, as does anyone who was following browsers at the time. They tried to incrementally improve Netscape 4 and it was a disaster.

Re: How Stylo Brought Rust and Servo to Firefox

#192

Earlier quoted context omitted.

There were a couple of purely technical reasons for Apple to pursue Clang. 1.) GCC was designed for command line use, not to provide integration (for instance, debugging info) into a modern IDE. 2.) Objective-C was not a priority for those who maintained GCC, but was for Apple. https://en.wikipedia.org/wiki/Clang

The Objective-C story is a little more complicated. Originally Apple had a hostile fork of GCC and even initially refused to provide source code until the FSF lawyers got involved. It's a small wonder the GCC Objective-C support is as good as it is considering the politics. Debugging info works similarly in all compilers (GCC, MSVC etc) - it's saved in the compiler output and read by the tools like IDEs.

>For instance, GCC uses a step called fold that is key to the overall compile process, which has the side effect of translating the code tree into a form that looks unlike the original source code. If an error is found during or after the fold step, it can be difficult to translate that back into one location in the original source.

https://en.wikipedia.org/wiki/Clang#Design

Re: How Stylo Brought Rust and Servo to Firefox

#193
post #95

Earlier quoted context omitted.

A classic example would be Erlang, which was developed at Ericsson for use in telephone exchanges.

The environment in which Erlang was developed was very different from the environment today. There were no third-party 4GLs available targeting the niche that Ericsson wanted, and there are good reasons to not want to use C in a telephone exchange.

They tried using C++, I think.

Re: How Stylo Brought Rust and Servo to Firefox

#194
post #70

Earlier quoted context omitted.

Well, I'm not even necessarily trying to soap box here about open source or free software per se—I do think commercial/proprietary research has value to society as a whole, albeit less value. For instance, take Big Table—enormously influential and, I think, beneficial to society in spite of being largely closed off to the public. However, rust is way better for everyone, and I find it shocking it came from such a rel…

It doesn't really matter that Mozilla's a small organization. All they had to do was provide strong leadership and management expertise, and entice the open source community to voluntarily join and advance the project accordingly. Which thereby lead to not just Mozilla, but a few other organizations joining in with developers of their own to collaborate together amongst each other, including an army of rogue voluntee…

[deleted]

Re: How Stylo Brought Rust and Servo to Firefox

#195

Earlier quoted context omitted.

I've enjoyed filing bugs too, but my first bug is about to celebrate its 10th birthday. Hopefully it will be fixed before it can legally drive a car.

While that's a long time, in 10 years you could've contributed a fix by yourself. At this point one should consider it a reminder!

While I could learn C++ or Rust in 10 years, I'm not going to do it for a bug that isn't even biting me any more. I've long since worked around it. It makes more sense for me to donate to Mozilla so they can hire someone who knows what they're doing.

Re: How Stylo Brought Rust and Servo to Firefox

#196

Earlier quoted context omitted.

I'm curious - in both of those articles Joel uses the expression "software doesn't rust ", to make fun of Netscape.. is that where the name for the Rust language came from?

The name has multiple origins, Graydon notoriously gave a different story each time he was asked. One of the origins mentioned is that Graydon thought that rusts (a kind of mushroom) were pretty cool (they are! they have a super complex lifecycle and it's pretty interesting). Another is that Rust is actually not something with new concepts in it, everything in Rust is a very well established concept from earlier PL r…

I'm not really sure if calling rust a kind of mushroom is being that fair on it.

Re: How Stylo Brought Rust and Servo to Firefox

#197
post #83
post #42

It's gratifying to see how successfully the same organization has learned from the debacle that was the rewrite from Netscape 4 to Mozilla in the first place. That time, they didn't release for years, losing market share and ceding the web to Internet Explorer for the next decade. Joel Spolsky wrote multiple articles[1][2] pointing out their folly. This time, their "multiple-moonshot effort" is paying off big-time be…

Joel is making two separate claims there, though he doesn't cleanly distinguish them. One is that rewriting from scratch is going to give you a worse result than incremental change from a technical point of view (the « absolutely no reason to believe that you are going to do a better job than you did the first time » bit). The second is that independent of the technical merits, rewriting from scratch will be a bad co…

I disagree on item 1. My basis for this occurred to me on a contract a few years ago, as I was being scolded for fixing things instead of letting them be because “we’re going to do a rewrite soon” (even though the boss that promised this got promoted out of the org).

The promise of a rewrite institutionalized accumulating technical debt. When it comes time to do the rewrite, everyone starts out on the wrong foot. The big rewrite is a lot like New Years resolutions. They don’t stick, they cost money and time, create negative reinforcement and sometimes people get hurt.

Refactoring institutionalizes continuous improvement, thinking about code quality, and yet discourages perfectionism because you can always fix it later when you have more info. My theory is that people good at refactoring can handle a rewrite well. Maybe are the only people that can handle a rewrite well. But if you can refactor like that you don’t need a rewrite (or rather, you’ve already done it and nobody noticed).

Re: How Stylo Brought Rust and Servo to Firefox

#198
post #178
post #161

Earlier quoted context omitted.

Java, C#, Ada, JavaScript, etc are more successful that Rust. The comparison is not good though because Rust is younger. You could argue survivorship bias but that applies to Rust as well.

They're more successful, but programming in Java and JavaScript is pretty painful (albeit in different ways).

Actually, Java has made programming easier compared to C++ with 'elegant Syntax' (similar to C++) and 'sensible semantics' (similar to Smalltalk) - especially 'without pointers'!

And probably, Kotlin has made it even simpler than Java.

So, it's an evolving process.

On the other hand, JavaScript - though still painful - has no alternatives... hence, JavaScript is still OK - without any close competitor!

Re: How Stylo Brought Rust and Servo to Firefox

#199

Earlier quoted context omitted.

What I wonder, and I do not mean this in negative way, is whether this would have happened in a more commercially oriented organisation. Mozilla remains a foundation, and I consider Rust a fruit of their labour in itself. To put it another way, I find it hard to justify developing Rust just for a web browser. But if you consider it from the perspective of a foundation developing tools for the developer community as a…

Imagine if some company were to make a completely new language just for an IDE.

Let's imagine some companies (like Sun Microsystems) making wonderful language (like Java), and provide NO IDEs. We really had tough time during the initial years of Java - just with Borland JBuilder and some other primitive IDEs - until we could get wonderful IDEs like Eclipse followed by IntelliJ-IDEA.

It's widely understood that you're referring to JetBrains' Kotlin. In such case, really industry-famous-IDE support for a 'new language', is some sort of a gift!

Besides, why would a company want to invest in R&D to create a language and just give it for FREE, without any tangible business benefits.

Remember, Sun did so... giving away Java for free. Eventually - under stress - they themselves were sold (and bought by Oracle).

Post reply on HN