Reactive programming is the general approach to implementing systems in a reactive way, according to the Reactive Manifesto. The term "reactive" is most frequently applied to the various implementations of Reactive Extensions, pioneered by Microsoft, and appearing in many languages, usually with "Rx" prefix.
The Reactive Manifesto is a statement of principles of reactive systems. These reactive systems solve the problems of responsiveness, reliability and scalability that arise when very large information systems are built, spanning many platforms from phones to web browsers to mainframes.
Implementation of reactive systems requires both an architectural approach and an implementation approach. The implementations of reactive systems are usually described as reactive extensions. One home for a description of various reactive extension implementations is ReactiveX. It has extensive description of the various patterns and operations of reactive library implementations.