- From: Brad Kemper <brad.kemper@gmail.com>
- Date: Sun, 29 Aug 2010 07:27:37 -0700
- To: Håkon Wium Lie <howcome@opera.com>
- Cc: Doug Schepers <schepers@w3.org>, www-style@w3.org, www-svg@w3.org
On Aug 29, 2010, at 6:13 AM, Håkon Wium Lie wrote: > I don't know why > e-notation was allowed in numeric values on SVG attributes in the > first place, but it seems better to deprecate them there than to > mandate e-notation across the board. Even deprecated, it would still be mandated for SVG-supporting UAs UAs to support it. And it would still be present in JavaScript (ECMAScript). Right? > important things, when there is long-standing consensus. The > convenience that e-notation provides to some counts on the plus side, > but on the minus side we find incompatibility with existing browsers That's the biggest problem isn't it? Yet not so big. We already have things (properties, @rules, values) that cannot be used reliably on the Web until the most used versions of Web browsers support them. I no longer test my pages for how they look in Netscape 4, and soon (oh, please, soon) I will no longer care about IE6 either. > and reduction of human readability. This has always been an important > design principle in CSS: > > CSS is a simple style language which is human readable and writable. > > http://www.w3.org/TR/CSS2/intro.html#design-principles I agree with this principle wholeheartedly, and it helps me sympathize with your point of view. Personally, all other things being equal, I would prefer the caret notation for really large or really small numbers for that reason, instead of the TI calculator look. But really, I find e-notation readable enough, and compact, for the few situations where I am likely to come across it (and I am the type of hand-coding non-engineer author that readability should matter to). And it's better than caret notation for the purposes of cross-compatibility with other languages. > Further, the design principle states: > > The CSS properties are kept independent of each other to the largest > extent possible and there is generally only one way to achieve a > certain effect. > > Introducing e-notation is against this principle, as it offers no new > functionality, only a different syntax for achieving the same thing. I disagree that this applies to this situation. We are not talking about introducing a new property or @rule. It is really no worse than any of the following rules being equivalent: { width: 1in; } { width: 01in; } { width: 1.0in; } { width: 01.00in; /* etc.) */ } { font-size:1in; width: 1em; } { width: 2.54cm; } { width: 2.54mm; } { width: 2.5400mm; /* etc.) */ } { width: calc(0 + 1in); } { width: calc(0.5in + .500in); } { width: calc(12.7mm + 0.5in); } I could go on and on... > Tab writes: > >>> You call it an artifact. I call it a ubiquitous, living notation >>> embraced by all the programming languages people are using today. > > You're right, it's common in programming languages. But CSS was > explicitly designed to *not* be a programming language. True, but JavaScript/ECMAScript is, and commonly needs to calculate and pass CSS values back and forth, which is a very strong argument for allowing e-notation in CSS, IMO.
Received on Sunday, 29 August 2010 14:28:19 UTC