On 27 March 2013 00:35, David Herman <dher...@mozilla.com> wrote: > [breaking out a new thread since this is orthogonal to the NaN issue] > > While the Khronos spec never specified an endianness, TC39 agreed in May 2012 > to make the byte order explicitly little-endian in ES6: > > https://mail.mozilla.org/pipermail/es-discuss/2012-May/022834.html > > The de facto reality is that there are essentially no big-endian browsers for > developers to test on. Web content is being invited to introduce byte-order > dependencies. DataView is usually held up as the counter-argument, as if the > *existence* of a safe alternative API means no one will ever misuse the > unsafe one. Even if we don't take into account human nature, Murphy's Law, > and the fact that the web is the world's largest fuzz tester, a wholly > rational developer may often prefer not to use DataView because it's still > easier to read out bytes using [ ] notation instead of DataView methods. > > I myself -- possibly the one person in the world who cares most about this > issue! -- accidentally created a buggy app that wouldn't work on a big-endian > system, because I had no way of testing it: > > > https://github.com/dherman/float.js/commit/deb5bf2f5696ce29d9a6c1a6bf7c479a3784fd7b > > In summary: we already agreed on TC39 to close this loophole, it's the right > thing to do, and concern about potential performance issues on non-existent > browsers of non-existent systems should not trump portability and correctly > executing existing web content.
I missed that decision, and as much as I understand the reasoning, I think we need to work on it. There actually are (third-party) projects with ports of V8 and/or Chromium to big endian architectures. WebGL code should not break or become prohibitively expensive on them all of a sudden. /Andreas _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss