Terminology summary

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35405
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Terminology summary

Unread post by Moonchild » 2017-05-28, 17:07

As requested by our community, here is a summary of terms you may encounter on this forum and on our websites. Some of this can also be found on WikiPedia if you care to search instead of asking.
Please use this for reference if you are unsure what something means.
  • Mozilla: The general name given to the group of past and present developers, the foundation and corporation, and general presence of the group of people responsible for Mozilla products (Firefox, SeaMonkey, Thunderbird).
  • Mozilla Platform/platform code: The underlying technologies, modules and code that provide the building blocks for applications. This is the collective name of what evolved out of Netscape Navigator/Communicator.
  • MozCo: The Mozilla Corporation. The for-profit corporation responsible for developing and publishing Firefox, Firefox OS, Firefox for Android (Fennec), and related products.
  • Firefox: A browser application based on the Mozilla Platform using the Gecko engine for layout and rendering.
  • Pale Moon: A browser application based on a forked version of the Mozilla Platform using the Goanna engine for layout and rendering.
  • Gecko: The (trademark) name of the layout and rendering engine in Netscape and Mozilla products.
  • Goanna: The (trademark) name of the layout and rendering engine in Pale Moon (and FossaMail). This is a fork of the Gecko engine.
  • XUL: eXtensible User interface Language; an XML-based user interface markup language allowing for markup definition of mostly O.S.-native dialogs and controls. Can be styled with CSS and scripted with JS.
  • XPCOM: Cross Platform Component Object Model is a cross-platform component model from Mozilla. It is similar to Microsoft Component Object Model (COM) and Common Object Request Broker Architecture (CORBA). It features multiple language bindings and interface description language (IDL) descriptions; thus programmers can plug their custom functions into the framework and connect it with other components.
  • NPAPI: Netscape Plugin Application Programming Interface is an application programming interface (API) that allows plug-ins (more specifically, browser plug-ins) to be developed for web browsers. It was first developed for Netscape browsers, starting in 1995 with Netscape Navigator 2.0, but was subsequently adopted by other browsers. Firefox, starting with v53, is blocking the use of browser plug-ins with the NPAPI interface with the exception of Adobe Flash. Pale Moon and UXP will continue to support NPAPI plug-ins.
  • JS/JavaScript: JavaScript, often abbreviated as "JS", is a high-level, dynamically/implicitly-typed, and interpreted/JIT-compiled scripting language. It has been standardized in the ECMAScript language specification. Alongside HTML and CSS, JavaScript is one of the three core technologies of World Wide Web content production; the majority of websites employ it, and all modern Web browsers support it.
  • CSS: The Cascading Style Sheet language is designed to provide advanced, content-independent styling based on selectors and classes. It is a style definition language allowing the (interactive) styling (and animation) of displayed HTML/XHTML/XUL document content.
  • UXP: Unified XUL Platform is the new platform we plan to develop in the course of 2017 to provide a basis for XUL-based applications to build on. It will be heavily based on the Mozilla Platform but will not follow the Mozilla Platform's transition to Rust-based components, and continue to support XUL, XPCOM, NPAPI and other, by Mozilla deemed "legacy", technologies.
  • Basilisk: A browser application based on UXP using (an updated version of) the Goanna engine for layout and rendering.
  • SpiderMonkey: This is the name of the JavaScript engine (the code that reads, parses, interprets, compiles and executes JavaScript code) written by Brendan Eich at Netscape, which was made Open Source and is currently used by the Mozilla Platform and derivatives, as well as several embeddings (like the GNOME3 desktop).
Last edited by Moonchild on 2018-03-22, 12:36, edited 1 time in total.
Reason: Update JS definition wrt typing
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Octopuss

Re: Terminology summary

Unread post by Octopuss » 2017-06-02, 21:28

Thank you!! This helped me a lot.

xtal256
Moonbather
Moonbather
Posts: 72
Joined: 2014-06-22, 00:32
Location: here

Re: Terminology summary

Unread post by xtal256 » 2018-03-22, 03:51

Moonchild wrote:JavaScript, often abbreviated as "JS", is a high-level, dynamic, untyped, and interpreted/JIT-compiled scripting language.
Sorry to be pedantic, but JavaScript is not untyped. It's loosely (or weakly) typed.
Though there is some debate on the terminology, the term "untyped" sounds like it means "the language does not distinguish different types", whereas JavaScript certainly does have different types (string, number, etc).
[Window Detective] - Windows UI spy utility for programmers

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35405
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Terminology summary

Unread post by Moonchild » 2018-03-22, 12:34

I don't think discussions about definitions are on-topic here. "weakly typed" isn't even precisely defined, to begin with, so I'd rather not use that term.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Locked