## quadrature encoder

*n. *A type of rotary encoder. A mechanical device, the quadrature encoder produces two outputs 90 degrees out of phase. By counting transitions of these outputs, a computer can decode the shaft's position and its direction of motion.

The optical path of a quadrature encoder showing its two out-of-phase rings, each of which blocks a light source as the device rotates

Contrast with binary encoder, Gray code encoder.

## quantum programming

*n. *Any programming involving a quantum computer. Quantum computers are devices that compute using superpositions of quantum states. Small quantum computers have recently been built, and progress is continuing. It is widely suspected that if large-scale quantum computers can be built, they will be able to solve certain kinds of problems far faster than any classical computer.

EXAMPLE: Quantum programming attacks problems like finding a password. The problem has these four properties.

- The only way to solve it is to guess answers repeatedly and check them.
- There are n possible answers to check.
- Every possible answer takes the same amount of time to check.
- There are no clues about which answers might be better; generating possibilities randomly is just as good as checking them in some special order.

For problems with all four properties, it will take an average of n/2 guesses to find the answer using a classical computer. The time for a quantum computer to solve this will instead be proportional to the square root of n.

## Quantum Programming

*N. *A programming paradigm that extends traditional object-oriented programming with two additional fundamental concepts: hierarchical state machines and computing based on active objects. Abbreviated QP. These two concepts complement encapsulation, inheritance, and polymorphism—the famous tripartite mantra of OOP—and are just as fundamental. See also Quantum Framework.

FURTHER READING: Samek, Miro. Practical Statecharts in C and C++: Quantum Programming for Embedded Systems. CMP Books, 2002.