Glue code: Difference between revisions

Content deleted Content added
Glue code definitely can contribute to meeting requirements; remove consequences since not cited, poorly written and of questionable value
 
Line 2:
{{more footnotes|date=June 2016}}
 
In [[computer programming]], '''glue code''' is [[source code|code]] that allows components to [[Interoperability#Software|interoperate]] that otherwise are [[Software incompatibility|incompatible]]. The [[adapter pattern]] describes glue code as a [[software design pattern]].
In [[computer programming]], '''glue code''' is executable code (often [[source code]]) that serves solely to "adapt" different parts of code that would otherwise be [[Software incompatibility|incompatible]]. Glue code does not contribute any functionality towards meeting program [[requirement]]s. Instead, it often appears in code that lets existing [[Library (computing)|libraries]] or programs [[Interoperability#Software|interoperate]], as in [[language binding]]s or [[foreign function interface]]s such as the [[Java Native Interface]], when mapping [[Object (computer science)|objects]] to a [[database]] using [[object-relational mapping]], or when [[Systems integration|integrating]] two or more [[commercial off-the-shelf]] programs. Glue code may be written in the same language as the code it is gluing together, or in a separate [[glue language]]. Glue code is very efficient in [[rapid prototyping]] environments, where several components are quickly put together into a single language or framework.
 
Glue code describes [[language binding]]s or [[foreign function interface]]s such as the [[Java Native Interface]] (JNI).
==Consequences==
Because each component is independent (i.e. it is unaware of its relations and is only connected to another component through glue code), the behavior of a component and its interactions can change during the execution of the script. In addition, a different version of one of the components may behave differently, breaking the glue code.
 
Glue code may be written to access existing [[Library (computing)|libraries]], map [[Object (computer science)|objects]] to a [[database]] using [[object-relational mapping]], or [[Systems integration|integrate]] [[commercial off-the-shelf]] programs.
High-level programming languages can suffer from performance penalties because glue code must run through the language interpreter, even when connecting high-performance subsystems. If performance is crucial, using configuration scripting is often preferred to directly connecting binary interfaces of components. In object-oriented scripting languages, glue code often eliminates the need for class hierarchies and large numbers of classes.
 
Glue code may be written in the same language as the code it is gluing together, or in a separate [[glue language]].
 
Glue code can be key to [[rapid prototyping]].
 
==See also==