Nyckelskillnad - Funktionell programmering vs Imperativ programmering
Huvudskillnaden mellan funktionell programmering och tvingande programmering är att den funktionella programmeringen betraktar beräkningarna som matematiska funktioner och undviker att ändra tillstånd och muterbara data medan tvingande programmering använder de påståenden som ändrar programtillståndet.
Ett programmeringsparadigm ger en stil för att bygga strukturen och elementen i ett datorprogram. Programmeringsparadigmerna hjälper till att klassificera programmeringsspråk baserat på deras funktioner. Ett programmeringsspråk kan påverka fler paradigmer. I objektorienterat paradigm är programmet strukturerat med hjälp av objekt och objekten skickar meddelanden med metoder. Logikprogrammeringen kan uttrycka beräkning uteslutande i termer av matematisk logik. Ytterligare två programmeringsparadigmer är funktionell programmering och tvingande programmering. Funktionell programmering gör det möjligt att uttrycka beräkningar som utvärdering av matematiska funktioner. Imperativ programmering ger uttalanden som uttryckligen ändrar minnets tillstånd. Denna artikel diskuterar skillnaden mellan funktionell programmering och tvingande programmering.
INNEHÅLL
1. Översikt och nyckelskillnad
2. Vad är funktionell programmering
3. Vad är viktig programmering
4. Likheter mellan funktionell programmering och viktig programmering
5. Jämförelse sida vid sida - Funktionell programmering jämfört med nödvändig programmering i tabellform
6. Sammanfattning
Vad är funktionell programmering?
Funktionell programmering baseras på matematik. Nyckelprincipen bakom funktionell programmering är att all beräkning betraktas som en kombination av separata matematiska funktioner. En matematisk funktion kartlägger ingångar till utgångar. Antag att det finns en funktion som heter f (x) = x * x. X-värdet 1 mappas till utgång 1. x-värdet 2 mappas till utgång 4. x-värdet 3 mappas till utgång 9 och så vidare.
Figur 01: Exempel på funktionellt programmeringsspråk - Haskell
I funktionell programmering beaktas mönstren. De funktionella programmeringsspråken Haskell använder metoden nedan för att hitta summeringen av siffrorna.
Sumfunktionen har heltal och resultatet blir också ett heltal. Det kan skrivas som summa: [int] -> int. Sammanfattningen kan göras genom att följa nedanstående mönster.
summa [n] = n, summan av ett nummer är själva numret.
Om det finns en lista med siffror kan den skrivas enligt följande. N representerar det första numret och ns representerar de andra siffrorna
summa (n, ns) = n + summa ns.
Ovanstående mönster kan användas för att hitta summeringen av tre siffror som är 3,4,5.
3 + summa [4,5]
3 + (4 + summa [5])
3+ 4 + 5 = 12
En funktion eller ett uttryck sägs ha biverkningar om det ändrar något tillstånd utanför dess räckvidd eller har en observerbar interaktion med sina anropsfunktioner förutom returvärdet. Funktionell programmering minimerar dessa biverkningar. Tillståndsändringarna beror inte på funktionsingångarna. Det är användbart när du förstår programmets beteende. En nackdel med funktionell programmering är att inlärning av funktionell programmering är svårare jämfört med tvingande programmering.
Vad är imperativ programmering?
Imperativ programmering är ett programmeringsparadigm som använder uttalanden som ändrar programmets tillstånd. Den fokuserar på att beskriva hur ett program fungerar. Programmeringsspråk som Java, C och C # är tvingande programmeringsspråk. Det ger en steg för steg procedur om vad du ska göra. Imperativa programmeringsspråk innehåller strukturer som om, annars, medan, för loopar, klasser, objekt och funktioner.
Figur 02: Exempel på imperativt programmeringsspråk - Java
Sammanfattningen av tio nummer finns i Java enligt följande. I varje iteration läggs i-värdet till summan och tilldelas sumvariabeln. I varje iteration fortsätter sumvärdet att läggas till den tidigare beräknade summan.
int summa = 0;
för (int i = 0; i <= 10; i ++) {
summa = summa + i;
}
Tvingande programmering är lätt att lära sig, förstå och felsöka. Det är lätt att hitta programtillståndet på grund av att man använder tillståndsvariabler. Några nackdelar är att det kan göra koden lång och kan också minimera skalbarheten.
Vad är likheten mellan funktionell programmering och viktig programmering?
Både funktionell programmering och imperativ programmering är programmeringsparadigmer
Vad är skillnaden mellan funktionell programmering och viktig programmering?
Skilja artikeln mitt före bordet
Funktionell vs imperativ programmering |
|
Funktionell programmering är ett programmeringsparadigm som betraktar beräkning som utvärdering av matematiska funktioner och undviker ändring av tillstånd och muterbara data. | Imperativ programmering är ett programmeringsparadigm som använder uttalanden som ändrar programmets tillstånd. |
Strukturer | |
Funktionell programmering innehåller funktionssamtal och högre ordningsfunktioner. | Imperativ programmering innehåller om, annars, medan, för loopar, funktioner, klasser och objekt. |
Programmeringsspråk | |
Scala, Haskell och Lisp är funktionella programmeringsspråk. | C, C ++, Java är tvingande programmeringsspråk. |
Fokus | |
Funktionell programmering fokuserar på slutresultatet. | Imperativ programmering fokuserar på att beskriva hur ett program fungerar. |
Enkelhet | |
Funktionell programmering är svår. | Tvingande programmering är enklare. |
Sammanfattning - Funktionell programmering vs Imperativ programmering
Ett programmeringsparadigm ger en stil för att bygga strukturen och elementen i ett datorprogram. Funktionell programmering och imperativ programmering är två av dem. Skillnaden mellan funktionell programmering och tvingande programmering är att funktionell programmering betraktar beräkningarna som matematiska funktioner och undviker att ändra tillstånd och muterbara data medan tvingande programmering använder de påståenden som ändrar programtillståndet.