Context: In mathematics and computer science, an algorithm is a self-contained sequence of actions to be performed. Algorithms perform calculation, data processing, and/or automated reasoning tasks., Programming paradigms are a way to classify programming languages according to the style of computer programming. Features of various programming languages determine which programming paradigms they belong to; as a result, some languages fall into only one paradigm, while others fall into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, such as allowing side effects, or whether the sequence of operations is defined by the execution model. Other paradigms are concerned mainly with the way that code is organized, such as grouping code into units along with the state that is modified by the code. Yet others are concerned mainly with the style of syntax and grammar., Computer software, or simply software, is that part of a computer system that consists of encoded information or computer instructions, in contrast to the physical hardware from which the system is built., Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. , A computer is a device that can be instructed to carry out an arbitrary set of arithmetic or logical operations automatically. The ability of computers to follow a sequence of operations, called a "program", make computers very flexible and useful. Such computers are used as control systems for a very wide variety of industrial and consumer devices. This includes simple special purpose devices like microwave ovens and remote controls, factory devices such as industrial robots and computer assisted design, but also in general purpose devices like personal computers and mobile devices such as smartphones. The Internet is run on computers and it connects millions of other computers., Computer science is the study of the theory, experimentation, and engineering that form the basis for the design and use of computers. It is the scientific and practical approach to computation and its applications and the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information. An alternate, more succinct definition of computer science is the study of automating algorithmic processes that scale. A computer scientist specializes in the theory of computation and the design of computational systems., Information is that which informs. In other words, it is the answer to a question of some kind. It is thus related to data and knowledge, as data represents values attributed to parameters, and knowledge signifies understanding of real things or abstract concepts. As it regards data, the information's existence is not necessarily coupled to an observer (it exists beyond an event horizon, for example), while in the case of knowledge, the information requires a cognitive observer., Computer engineering is a discipline that integrates several fields of electrical engineering and computer science required to develop computer hardware and software. Computer engineers usually have training in electronic engineering (or electrical engineering), software design, and hardware-software integration instead of only software engineering or electronic engineering. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microcontrollers, microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also how they integrate into the larger picture., Engineering is the application of mathematics and scientific, economic, social, and practical knowledge in order to invent, innovate, design, build, maintain, research, and improve structures, machines, tools, systems, components, materials, processes, solutions, and organizations., Computing is any goal-oriented activity requiring, benefiting from, or creating a mathematical sequence of steps known as an algorithm  e.g. through computers. Computing includes designing, developing and building hardware and software systems; processing, structuring, and managing various kinds of information; doing scientific research on and with computers; making computer systems behave intelligently; and creating and using communications and entertainment media. The field of computing includes computer engineering, software engineering, computer science, information systems, and information technology., Software engineering (SWE) is the application of engineering to the development of software in a systematic method., A programming language is a formal computer language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms., In computing , reactive programming is a programming paradigm oriented around data flows and the propagation of change . This means that it should be possible to express static or dynamic data flows with ease in the programming languages used , and that the underlying execution model will automatically propagate changes through the data flow . For example , in an imperative programming setting , a : = b + c would mean that a is being assigned the result of b + c in the instant the expression is evaluated , and later , the values of b and c can be changed with no effect on the value of a. However , in reactive programming , the value of a would be automatically updated based on the new values , the opposite of functional programming . A modern spreadsheet program is an example of reactive programming . Spreadsheet cells can contain literal values , or formulas such as `` = B1 + C1 '' that are evaluated based on other cells . Whenever the value of the other cells change , the value of the formula is automatically updated . Another example is a hardware description language such as Verilog . In this case , reactive programming allows changes to be modeled as they propagate through a circuit . Reactive programming has foremost been proposed as a way to simplify the creation of interactive user interfaces , animations in real time systems , but is essentially a general programming paradigm . For example , in a Model - view - controller architecture , reactive programming can allow changes in the underlying model to automatically be reflected in the view , and vice versa ., A software engineer is a person who applies the principles of software engineering to the design, development, maintenance, testing, and evaluation of the software and systems that make computers or anything containing software work., Subject: reactive programming, Relation: subclass_of, Options: (A) ability (B) algorithm (C) analysis (D) application (E) building (F) case (G) code (H) computer (I) computer hardware (J) computer language (K) computer programming (L) computer science (M) computing (N) data (O) device (P) domain (Q) electronic engineering (R) engineer (S) engineering (T) information (U) knowledge (V) language (W) mathematics (X) method (Y) model (Z) order ([) out (\) person (]) process (^) programming language (_) reasoning (`) representation (a) research (b) scale (c) science (d) scientist (e) sequence (f) software (g) software engineering (h) storage (i) structure (j) study (k) style (l) technology (m) theory (n) training
Output: computer programming