Software extension

From Wikipedia, the free encyclopedia

A software extension is a computer program designed to be incorporated into another piece of software in order to enhance, or extend, the functionalities of the latter. On its own, the program is not useful or functional.

Examples of software applications that support extensions include the Mozilla Firefox Web browser, Adobe Photoshop and Microsoft Windows Explorer shell extensions. It is common to find that applications whose scope is potentially unbounded will feature an extensions interface (API), and the API description will often be published so that third-party developers can produce extensions.

Extension mechanisms can also be found in some operating systems such as with Linux kernel modules. The runtime environment of some programming languages also support extensions, such as PHP with support for extensions that provide an interface to third party libraries, and extensions to offer debugging, profiling, security and performance enhancement.

Other popular terms used to denote extensions are add-ons, add-ins or plugins.

The terms modules and components are also used, but they don't stress the aspect of extending. They are terms to generally describe the structure of programs and can be used for the extended core program as well.

[edit] Programs with Extensions support

Program BASIC BeanShell C C++ C# Java JavaScript Lisp Lua Perl Python Ruby Scheme Visual Basic Visual Basic .NET XUL
Blender Yes
Emacs Yes with pymacs
Epiphany Yes Yes
Mozilla Firefox Yes Yes
GIMP Yes Yes Yes Yes Yes TinyScheme
Internet Explorer a1
Microsoft Office a2
OpenOffice.org StarBasic Yes Yes

Note a1: see Internet_explorer#Extensibility for more details
Note a2: see Microsoft_Office#Extensibility for more details

[edit] References

[edit] See also

Languages