Generally, coupling means a mechanical connection between two things. For example railway carriages and wagons are coupled together. Other examples of link coupling include clamps, nipples, and vises. A hose coupling connects two pieces of firehose. Coupling has other specific meanings in physics, electronics, mathematics, programming and entertainment.
Main article coupling
In physics, two systems are coupled if they are interacting with each other. Of special interest is the coupling of two (or more) vibratory systems (e.g. pendula or resonant circuits) by means of springs or magnetic fields, etc. Characteristic for a coupled oscilation is the effect of beat.
In telecommunication and electronics, coupling is the desirable or undesirable transfer of energy from one medium, such as a metallic wire or an optical fiber, to another medium, including fortuitous transfer.
Note: Examples of coupling include capacitive (electrostatic) coupling, inductive (magnetic) coupling, conducted (resistive or hard-wire) coupling, and fiber-optic coupling.
Source: This portion is originally from the Federal Standard 1037C and from MIL-STD-188
In probability theory, coupling is the presenting of two random variables on the same probability space in a dependant way, in order to infer some connection between them. See coupling (probability).
In computer programming, coupling refers to the degree to which each program module relies on each other module. Coupling can be "high" (or "tight"), or "low" (or "loose"). Low coupling means that one module does not have to be concerned with the internal implementation of another module. Low coupling is a sign of a well structured computer system. However, in order to achieve maximum efficiency, a highly coupled system is probably needed. In modern computing systems, performance can often be traded for low coupling; the gains in the software development process are greater than the value of the running performance gain.
The types of coupling, in order of lowest to highest coupling, are as follows:
- Data coupling - Data coupling is when modules share data through, for example, parameters. Each datum is an elementary piece, and these are the only data which are shared (e.g. passing an integer to a function which computes a square root).
- Stamp coupling (Data-structured coupling) - Stamp coupling is when modules share a composite data structure, each module not knowing which part of the data structure will be used by the other (e.g. passing a student record to a function which calculates the student's GPA).
- Control coupling - Control coupling is one module controlling the logic of another, by passing it information on what to do (e.g. passing a what-to-do flag).
- External coupling - External coupling occurs when two modules share an externally imposed data format, communication protocol, or device interface.
- Common coupling - Common coupling is when two modules share the same global data (e.g. a global variable).
- Content coupling - Content coupling is when one module modifies or relies on the internal workings of another module (e.g. accessing local data of another module).
Coupling is usually contrasted with cohesion. Low coupling often correlates with high cohesion, and vice versa.
In organic chemistry coupling of hydrocarbon fragments occur in coupling reactions
In entertainment, Coupling is a television comedy series from the UK with an extremely short-lived American copy.
Coupling with reference to living beings refers to mating or to the act of sexual intercourse.