Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why do browsers use different rendering engines, this causes the problem I hate the most "make your HTML/CSS compatible with all major web browsers".

Why don't they use one rendering engine as a standard and this will save a lot of time and effort for all developpers. In fact this is what I hate about IT industry "Concurrence at the expense of the user". We can say the same about Operating systems.

Why not only one ?

share|improve this question

closed as primarily opinion-based by Glenn Nelson, Tulains Córdova, Yusubov, MichaelT, thorsten müller Aug 15 '13 at 12:17

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

"Let a hundred flowers bloom; let a hundred schools of thought contend." – SK-logic Aug 15 '13 at 10:06
In english, the pronoun "I" is always written in uppercase. – Tulains Córdova Aug 15 '13 at 10:17
Do the rules in this fantasy land require identical screen sizes and resolutions? – JeffO Aug 15 '13 at 10:31
Wild rant there. – Ben McDougall Aug 15 '13 at 10:34

It's exactly like if you were asking why are there multiple browsers: wouldn't it be easier to have just one, globally adopted browser?

enter image description here

Different companies build different browsers because they believe their browser is either the best one or provides features other browsers don't have.

Different browsers sometimes need different rendering engines in order to:

  1. Provide additional features other rendering engines don't have, or:

  2. Avoid features the browser don't need. This is the reason why Blink, the new rendering engine for Chrome, was created.

Moreover, an unique, globally adopted rendering engine used by every browser, anywhere, means that the engine cannot be updated: once you update the engine, it will mean that some people will use the updated browser with the new engine, while others will not update anything, and so will keep using the old one.

share|improve this answer

In layman's words:

  • Standards already exist. WC3 specifications are standard enough.

  • Standards don't mean there would be only one implementation.

  • Each implementation can have different bugs and particularities, and each one is more or less successful in implementing the standard.

  • You cannot have a single implementation that runs in all operating systems.

  • How would you prevent anyone from writing his/her own rendering engine, but by force ?

  • Browsers strive for getting faster with every version, that's good for the user.

  • Many browsers share the same rendering engine, for example Webkit is used by Chrome and Safari.

  • A world dictatorship prohibiting anyone from creating its own rendering engine would stifle innovation.

  • Regarding your comment on why not have just one operating system: that would be a bleak world.

share|improve this answer
not convencing answers at all, the only answer i can imagine is "greed about money and fame" – user2567191 Aug 15 '13 at 10:19
@user2567191 - there's a lot easier paths to money and fame than creating a browser. – JeffO Aug 15 '13 at 10:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.