Verschil tussen functioneel programmeren en imperatief programmeren

Inhoudsopgave:

Verschil tussen functioneel programmeren en imperatief programmeren
Verschil tussen functioneel programmeren en imperatief programmeren

Video: Verschil tussen functioneel programmeren en imperatief programmeren

Video: Verschil tussen functioneel programmeren en imperatief programmeren
Video: Imperative vs Declarative Programming 2024, November
Anonim

Belangrijk verschil - Functioneel programmeren versus imperatief programmeren

Het belangrijkste verschil tussen functioneel programmeren en imperatief programmeren is dat de functionele programmering de berekeningen als wiskundige functies beschouwt en vermijdt het veranderen van toestand en veranderlijke gegevens, terwijl imperatief programmeren de instructies gebruikt die de programmastatus wijzigen.

Een programmeerparadigma biedt een stijl voor het bouwen van de structuur en elementen van een computerprogramma. De programmeerparadigma's helpen om programmeertalen te classificeren op basis van hun kenmerken. Een programmeertaal kan meer paradigma's beïnvloeden. In objectgeoriënteerd paradigma is het programma gestructureerd met behulp van objecten en geven de objecten berichten door met behulp van methoden. De logische programmering kan berekening uitsluitend in termen van wiskundige logica uitdrukken. Nog twee programmeerparadigma's zijn functioneel programmeren en imperatief programmeren. Functioneel programmeren maakt het mogelijk berekeningen uit te drukken als de evaluatie van wiskundige functies. Dwingend programmeren biedt instructies die de toestand van het geheugen expliciet veranderen. Dit artikel bespreekt het verschil tussen functioneel programmeren en imperatief programmeren.

Wat is functioneel programmeren?

Functioneel programmeren is gebaseerd op wiskunde. Het belangrijkste principe achter functioneel programmeren is dat alle berekeningen worden beschouwd als een combinatie van afzonderlijke wiskundige functies. Een wiskundige functie koppelt inputs aan outputs. Neem aan dat er een functie is genaamd f(x)=xx. De x-waarde 1 wordt toegewezen aan uitgang 1. De x-waarde 2 wordt toegewezen aan uitgang 4. De x-waarde 3 wordt toegewezen aan uitgang 9 enzovoort.

Verschil tussen functioneel programmeren en imperatief programmeren
Verschil tussen functioneel programmeren en imperatief programmeren

Figuur 01: Voorbeeld van functionele programmeertaal – Haskell

Bij functioneel programmeren wordt rekening gehouden met de patronen. De functionele programmeertalen Haskell, gebruikt de onderstaande methode om de optelling van de getallen te vinden.

De somfunctie heeft gehele waarden en het resultaat zal ook een geheel getal zijn. Het kan worden geschreven als som: [int] -> int. De sommatie kan worden gedaan door de onderstaande patronen te volgen.

sum[n]=n, de som van één getal is het getal zelf.

Als er een lijst met getallen is, kan deze als volgt worden geschreven. De n staat voor het eerste getal, en ns staat voor de andere getallen

som (n, ns)=n + som ns.

Bovenstaande patronen kunnen worden toegepast om de som te vinden van drie getallen die 3, 4, 5 zijn.

3 + som [4, 5]

3 + (4 + som [5])

3+ 4 + 5=12

Er wordt gezegd dat een functie of expressie neveneffecten heeft als het een toestand wijzigt die buiten het bereik v alt of een waarneembare interactie heeft met zijn aanroepende functies naast de terugkerende waarde. Functioneel programmeren minimaliseert deze bijwerkingen. De toestandsveranderingen zijn niet afhankelijk van de functie-ingangen. Het is nuttig om het gedrag van het programma te begrijpen. Een nadeel van functioneel programmeren is dat het leren van functioneel programmeren moeilijker is in vergelijking met imperatief programmeren.

Wat is imperatief programmeren?

Imperatief programmeren is een programmeerparadigma dat de instructies gebruikt die de status van een programma veranderen. Het richt zich op het beschrijven hoe een programma werkt. Programmeertalen zoals Java, C en C zijn imperatieve programmeertalen. Het biedt een stapsgewijze procedure over wat te doen. Dwingende programmeertalen bevatten structuren zoals if, else, while, for loops, klassen, objecten en functies.

Belangrijkste verschil tussen functioneel programmeren en imperatief programmeren
Belangrijkste verschil tussen functioneel programmeren en imperatief programmeren

Figuur 02: Voorbeeld van imperatieve programmeertaal – Java

De optelling van tien getallen kan als volgt in Java worden gevonden. In elke iteratie wordt de i-waarde toegevoegd aan de som en toegewezen aan de somvariabele. In elke iteratie blijft de somwaarde optellen bij de eerder berekende som.

int som=0;

for (int i=0; i<=10; i++) {

som=som + i;

}

Imperatief programmeren is gemakkelijk te leren, te begrijpen en te debuggen. Het is gemakkelijk om de programmastatus te vinden vanwege het gebruik van statusvariabelen. Enkele nadelen zijn dat het de code lang kan maken en ook de schaalbaarheid kan minimaliseren.

Wat is de overeenkomst tussen functioneel programmeren en imperatief programmeren?

Zowel functioneel programmeren als imperatief programmeren zijn programmeerparadigma's

Wat is het verschil tussen functioneel programmeren en imperatief programmeren?

Functioneel versus imperatief programmeren

Functioneel programmeren is een programmeerparadigma dat berekening beschouwt als de evaluatie van wiskundige functies en vermijdt het veranderen van toestand en veranderlijke gegevens. Imperative Programming is een programmeerparadigma dat gebruik maakt van statements, die de status van een programma veranderen.
Structuren
Functionele programmering bevat functieaanroepen en functies van een hogere orde. Imperative Programming bevat if, else, while, voor loops, functies, klassen en objecten.
Programmeertalen
Scala, Haskell en Lisp zijn functionele programmeertalen. C, C++, Java zijn imperatieve programmeertalen.
Focus
Functioneel programmeren richt zich op het eindresultaat. Imperative Programming richt zich op het beschrijven hoe een programma werkt.
Eenvoud
Functioneel programmeren is moeilijk. Imperatief programmeren is makkelijker.

Samenvatting – Functioneel programmeren versus imperatief programmeren

Een programmeerparadigma biedt een stijl voor het bouwen van de structuur en elementen van een computerprogramma. Functioneel programmeren en imperatief programmeren zijn er twee van. Het verschil tussen functioneel programmeren en imperatief programmeren is dat functioneel programmeren de berekeningen als wiskundige functies beschouwt en vermijdt het veranderen van de status en veranderlijke gegevens, terwijl imperatief programmeren de instructies gebruikt die de programmastatus wijzigen.

Aanbevolen: