Re: Proposal: standardize browser specific CSS include

Philip Taylor wrote:
> 
> Andrew Fedoniouk wrote:
>> Each C/C++ compiler has its own vendor/version identifier. No one 
>> known compiler is pretending to be another one.
> 
> The Intel C++ Compiler, when on Windows, pretends to be Microsoft Visual 
> C++. It defines the _MSC_VER macro, and has command-line switches to 
> emulate the bugs/behaviour of VC++ 6.0/7.0/7.1/8.0. It has to do that so 
> that existing VC++ programs can be ported to ICC easily.

Oh, thanks for that.

"Exceptions are only emphasize rules" (I do not remember who said that).

> 
> The same compiler on Linux pretends to be GCC by defining __GNUC__, for 
> the same reasons. It has to implement lots of GCC-specific extensions to 
> C++, in order to be useful in a world where many programs rely on those 
> non-standard features.
> 
> That sounds like quite a pain for Intel and for anyone else who wants to 
> write a compiler, so it may not be the best model to emulate. It helps 
> authors in the short term since they can write GCC-specific code and 
> MSVC-specific code and get the right behaviour on each compiler, but it 
> hurts compiler developers in the longer term since they can't implement 
> pure standard C++ without breaking lots of existing code.
> 

This simply highlights the fact that this compiler can emulate behavior
of both. If it *really* can emulate 100% of nuances then why not? I see 
no problems in such mimicry and respect marketing backgrounds of such 
decisions.

Back to versioning model per se.

I think that model should be built by using module names and their 
versions (not UA names):

@has module("paged-media")
{
}

@has module("color", 2.0)
{

}

This way we can build applications that support latest features and fall 
back gracefully for cases when UA is not supporting some particular 
feature set.

This is far from only "UA A vs UA B" kind of things but about modularity 
in general.

Think about Desktop and Mobile profiles of HTML and CSS.
In reality particular UA may support Mobile and some modules from 
Desktop version. I mean that device (and software on it) can be 
something in between of Desktop and Mobile. And versioning system shall 
allow to support such diversity.

-- 
Andrew Fedoniouk.

http://terrainformatica.com

Received on Friday, 2 November 2007 03:48:52 UTC