Hva er reaktiv programmering?

Reaktiv programmering er et datavitenskapskonsept som beskriver egenskapene til et dataprogrammeringsspråk som er fokusert på automatisk å opprettholde tilstanden til et program når dataene som brukes i programmet endres. En av hovedfunksjonene i et reaktivt programmeringsspråk er at deklarerte og kalkulerte variabler kontinuerlig blir evaluert som andre variabler som brukes i deres beregningsendring. Dette betyr at språket reagerer på endringene i datatilstanden, i motsetning til å bruke mer tvingende kommandoer for å administrere staten, slik mange tradisjonelle programmeringsspråk gjør. Det teoretiske resultatet av en applikasjon som bruker reaktive programmeringsfilosofier, vil være et program som kontinuerlig og automatisk endrer displayet eller andre faktorer basert på de endrede dataene som strømmer inn i programmet. Selv om flere tvingende programmeringsmodeller kan brukes for å oppnå de samme resultatene som reaktiv programmering, vil målet med å lage et reaktivt språk være å ha innfødt støtte for reaktive endringer på det primitive nivået, i stedet for på et objektnivå.

En måte å hjelpe deg med å avklare hvordan reaktiv programmering fungerer, er å sammenligne det med tvingende programmering. Når to tall legges til på et imperativt språk, lagres resultatet av tillegget vanligvis på et gitt minneplass. Operasjonen finner sted i det øyeblikket kommandoen utføres, og resultatet kobles fra de to numrene som ble lagt til for å opprette summen. Dette betyr at hvis et av de to numrene som ble lagt til endres etter at tillegget finner sted, ville verdien av summen ikke endret seg fordi den allerede er lagret i minnet og atskilt fra de opprinnelige operandene.

Når et reaktivt programmeringsspråk legger til to variabler for å opprette en sum og en av de to variablene endres på et tidspunkt i fremtiden, vil summen også endre seg. Dette innebærer at et reaktivt program har muligheten til å overvåke tilstanden til dataene som brukes og å reagere automatisk på endringer, og potensielt endre den generelle tilstanden til hele applikasjonen. Det er flere modeller i tvingende programmering, inkludert hendelsesbasert programmering og observatørdatamodeller, som kan utføre de samme oppgavene ved å lage strukturer som overvåker dataendringer, men et reaktivt språk ville ha innebygde mekanismer for å gjøre dette.

Bruken av et reaktivt programmeringsspråk kan være i områder der sanntidsfortolkning av vilkårlige datastrømmer er nødvendig. Dette kan omfatte vitenskapelig visualisering, grafiske brukergrensesnitt (GUIer) eller til og med sanntidskommunikasjon der programmet hele tiden endres basert på datastrømmen som mottas. Det skal imidlertid bemerkes at det virkelig ikke er noen fullstendig implementerte, uavhengige reaktive programmeringsspråk. De fleste arbeider implementeringer av konseptet har form av eksterne biblioteker for mer tradisjonelle imperativ eller funksjonelle språk.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?