[webkit-dev] Parallel JavaScript: Why a separate ParallelArray types

Ian Hickson ian at hixie.ch
Sat Apr 13 10:01:08 PDT 2013


On Sat, 13 Apr 2013, Filip Pizlo wrote:
> > 
> > It doesn't imply you can't have locks, it implies you can't have 
> > unprotected shared state.
> 
> Same difference. I think this is overly harsh. Nobody will hold a gun to 
> your head and force you to use threads. The bumbling fools will probably 
> ignore it.

You vastly underestimate the scale of the problem.


> And even if the fool did use shared mutable state, the worst case 
> outcome is a flaky webpage. It's not the end of the world.

Users don't blame the page. They blame the browser. The browser that 
implements the API that lets authors get data corruption and deadlocks 
ends up being "broken" relative to the browsers where authors can't do 
those things. Users then migrate to the other browsers.

When it comes to the Web, this basically _is_ the end of the world.


> I don't think that shared mutable state is that bad for bumbling fools, 
> particularly when compared to the status quo.
>
> But on a higher level, I think that the bumbling fool argument ignores 
> the level of sophistication that web developers are already capable of 
> achieving.  The stuff people build with web technology never ceases to 
> amaze me.  The web platform already has its warts, and people already 
> find ways around them; they do so because on the whole, these are smart 
> people.  Giving them a useful too that is already available and 
> well-understood in other languages can only be a good thing.
> 
> I personally do not like thinking of the people who use the stuff I 
> build as fools; I don't think it's constructive.

I didn't say authors were all fools, any more than I said they're all 
genius hostile attackers.

However, that doesn't mean we can pretend that all Web authors are Jeff 
Dean. There's a wide range of authors, from the nation-state-resourced 
attacker literally trying to explode nuclear centrifuges or break into 
e-mail accounts of political dissidents in order to kill them, to the 
amateur programmers who make really elementary mistakes with a frightening 
regularity yet manage to exercise all kinds of APIs in the Web platform.

What you are suggesting is a change to the entire design philosophy of the 
platform, a philosophy that has made it one of the, if not the single, 
most successful platform(s) in the history of computing. This isn't 
something to be done lightly.

(As a general note, by the way, I would recommend making proposals for new 
features in a vendor-neutral forum like one of the WHATWG or W3C lists, 
rather than in webkit-dev.)

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


More information about the webkit-dev mailing list