MozillaZine

Full Article Attached Jan Varga's Root Interview in English

Monday November 17th, 2003

Earlier this month, Mozilla and ex-Netscape developer Jan Varga was interviewed in Czech/Slovak by the Czech Linux and open source site Root. Now, with the kind permission of Root and Jan, MozillaZine is pleased to present a full English translation of this interview.

Thanks to everybody who worked hard to make this translation possible, including Pavel Franc, Adam Hauner, Jan and Root.


#5 Re: deCOMtamination?

by mlefevre

Tuesday November 18th, 2003 3:59 AM

You are replying to this message

XPCOM (Cross Platform Component Object Model) is explained better than I can at <http://www.mozilla.org/projects/xpcom/> , but in short it's a way for code modules to be able to talk to each other in a way that is flexible enough that components can be in several different languages (so Javascript can talk to C++, for example), and a way that works across different platforms and compilers. This flexibility is a nice thing to have.

On the down side, having lots of XPCOM modules makes the compiler's job harder, and you get larger, slower programs as a result.

<http://www.mozilla.org/ha…ty/mozilla_decisions.html> has some discussion (under the slide) from a Mozilla developer about the overuse of XPCOM in Mozilla. (Not that he was the only one with that view)

Getting on to answer the question, "deCOMtamination" is the process of switching bits of code away from using XPCOM. Various bits of Mozilla's (Gecko's) C++ code are in separate modules and use XPCOM to talk with each other when there's really no need for the extra flexibility - they could talk to each other like bits of a C++ program usually do, or be combined into one larger module, resulting in a program that's faster and smaller.

I may have oversimplified and/or misrepresented some of that. If so, someone that knows more can correct me...