Comments (1)
I guess my initial reaction is: what problem are we trying to solve with this issue? The output people see on screen is of course identical, equally-correct Unicode either way.
This is going to be long, but just to clarify exactly where I’m coming from, here are the reasons I’m using escape sequences:
- A primary goal of this project is to help TC39 transition to maintaining the spec in HTML rather than Word, if that should ever happen. That is, the HTML output may become the spec source code. I’m going to make sure that I can say, if ever asked, “Sure, the output is just plain ASCII; all non-ASCII characters are escaped; you will not have any charset problems whatsoever.” In both perception and reality this matters. I can’t know what tools a future editor will use. I do know those tools will work just fine on ASCII. Many programs silently misbehave on UTF-8 input, or require extra care when used with UTF-8, particularly on Windows.
- When editing HTML or Python source code, I like to know at a glance whether I’m looking at an ASCII apostrophe or a Unicode right single quotation mark (and other similar fine distinctions). The great thing about Unicode is that it makes it possible to get these fine details right. I don’t bother when I’m writing email, but in a language specification, it really matters. We definitely want the ASCII ' for JS strings and the Unicode ’ for English contractions. So the distinction should be very obvious when looking at the source.
- In practically all editors, non-ASCII characters are hard to type or hard to remember how to type. In VIM, to type ’, you use Ctrl-K ' 9. In Emacs, Ctrl-x 8 ENTER and then type
right single quo
and hit TAB, then ENTER again. In GUI editors on the Mac, Alt-}. And so on. This is silly. More people know’
.
In short, I’m using escape sequences in order to be kind to human beings who will have to work with this stuff. Which so far is just us, but I’m optimistic.
Incidentally, the program breaks paragraphs into multiple short-ish lines on output—also arguably a silly and rather dated thing to do—for more or less the same reasons.
I don’t see that you’re making any argument in favor of the specific change you’re proposing. For example, you mention that browsers support UTF-8 just fine. True, but they also support character references just fine, so that’s not an argument either way. That seems to be the case for all your bullet points. They are arguments that Unicode and UTF-8 are widely supported (which is uncontroversial), but that’s not the argument you’d need to make: you’d have to argue specifically in favor of UTF-8 over Python escape sequences and HTML character references, since that’s the change you want to make. I think that’s a losing argument and perhaps not the best use of our time...
Thanks for contributing. I appreciate your work.
Cheers,
-j
from es-spec-html.
Related Issues (20)
- Delete { REF } crud in Annex A
- Make it nicer when the viewport is narrow (mobile) HOT 3
- Sticky headings fight with fragment links HOT 2
- Link Abstract Relational Comparison
- maybe two spec for two different environment:
- Link to the official ES5.1 spec (PDF): change it in order to allow to easily retrieve the HTML version
- Figure 2 wasn't updated in Rev27 HTML
- Recently Firefox has started hanging upon opening the spec HOT 2
- grammar Set.prototype.forEach HOT 2
- Map.prototype.forEach may not specify mutation during enumeration (maybe fine)
- Section 18.4.5's contents are garbled --- was System removed from draft entirely? HOT 3
- Wrong indentation in section 14.6.2.2 (#sec-expression-rules) BitwiseANDExpression etc.
- Specify behaviour of forEach when structure is mutated during iteration HOT 2
- Minify HTML HOT 3
- Highlight the "opt" subscript in BNF notation HOT 6
- Erroneous indentation in Section 4, (non-normative reference list) HOT 1
- It would be great to hyperlink references to algorithms like IteratorBindingInitialization HOT 6
- Update to April 14, 2015 Rev 38 Final Draft
- 20.3.1.16: inconsistent font
- LogicalANDExpression definition HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from es-spec-html.