Różnica Między Programowaniem Funkcjonalnym A Programowaniem Imperatywnym

Spisu treści:

Różnica Między Programowaniem Funkcjonalnym A Programowaniem Imperatywnym
Różnica Między Programowaniem Funkcjonalnym A Programowaniem Imperatywnym

Wideo: Różnica Między Programowaniem Funkcjonalnym A Programowaniem Imperatywnym

Wideo: Różnica Między Programowaniem Funkcjonalnym A Programowaniem Imperatywnym
Wideo: Tech3camp #37: Łukasz Gąsior (Scalac) – Object oriented czy programowanie funkcyjne. A może by oba? 2024, Kwiecień
Anonim

Kluczowa różnica - programowanie funkcjonalne a programowanie imperatywne

Kluczowa różnica między programowaniem funkcjonalnym a programowaniem imperatywnym polega na tym, że programowanie funkcjonalne traktuje obliczenia jako funkcje matematyczne i unika zmiany stanu i danych, które można modyfikować, podczas gdy programowanie imperatywne wykorzystuje instrukcje, które zmieniają stan programu.

Paradygmat programowania zapewnia styl budowania struktury i elementów programu komputerowego. Paradygmaty programowania pomagają klasyfikować języki programowania na podstawie ich cech. Język programowania może wpływać na więcej paradygmatów. W paradygmacie zorientowanym obiektowo program jest zbudowany przy użyciu obiektów, a obiekty przekazują komunikaty za pomocą metod. Programowanie logiczne może wyrażać obliczenia wyłącznie w kategoriach logiki matematycznej. Kolejne dwa paradygmaty programowania to programowanie funkcjonalne i programowanie imperatywne. Programowanie funkcyjne pozwala na wyrażanie obliczeń jako oceny funkcji matematycznych. Programowanie imperatywne zapewnia instrukcje, które jawnie zmieniają stan pamięci. W tym artykule omówiono różnicę między programowaniem funkcjonalnym a programowaniem imperatywnym.

ZAWARTOŚĆ

1. Przegląd i kluczowe różnice

2. Co to jest programowanie funkcjonalne

3. Co to jest programowanie imperatywne

4. Podobieństwa między programowaniem funkcjonalnym a programowaniem imperatywnym

5. Porównanie obok siebie - programowanie funkcjonalne a programowanie imperatywne w formie tabelarycznej

6. Podsumowanie

Co to jest programowanie funkcyjne?

Programowanie funkcjonalne jest oparte na matematyce. Podstawową zasadą programowania funkcjonalnego jest to, że wszystkie obliczenia są traktowane jako połączenie oddzielnych funkcji matematycznych. Funkcja matematyczna odwzorowuje dane wejściowe na wyjścia. Załóżmy, że istnieje funkcja o nazwie f (x) = x * x. Wartość x 1 jest mapowana na wyjście 1. Wartość x 2 jest mapowana na wyjście 4. Wartość x 3 jest mapowana na wyjście 9 i tak dalej.

Różnica między programowaniem funkcjonalnym a programowaniem imperatywnym
Różnica między programowaniem funkcjonalnym a programowaniem imperatywnym

Rysunek 01: Przykład funkcjonalnego języka programowania - Haskell

W programowaniu funkcjonalnym brane są pod uwagę wzorce. Funkcjonalne języki programowania Haskell używają poniższej metody, aby znaleźć podsumowanie liczb.

Funkcja sum ma wartości całkowite, a wynik również będzie liczbą całkowitą. Można go zapisać jako sumę: [int] -> int. Podsumowanie można wykonać, postępując zgodnie z poniższymi wzorami.

sum [n] = n, suma jednej liczby jest samą liczbą.

Jeśli istnieje lista liczb, można ją zapisać w następujący sposób. N oznacza pierwszą liczbę, a ns oznacza pozostałe liczby

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

Powyższe wzorce można zastosować, aby znaleźć sumę trzech liczb, które są 3,4,5.

3 + suma [4,5]

3 + (4 + suma [5])

3+ 4 + 5 = 12

Mówi się, że funkcja lub wyrażenie ma skutki uboczne, jeśli modyfikuje jakiś stan poza swoim zakresem lub ma obserwowalną interakcję z funkcjami wywołującymi poza zwracaną wartością. Programowanie funkcjonalne minimalizuje te skutki uboczne. Zmiany stanu nie zależą od wejść funkcji. Jest to przydatne przy zrozumieniu zachowania programu. Jedną z wad programowania funkcjonalnego jest to, że nauka programowania funkcjonalnego jest trudniejsza w porównaniu z programowaniem imperatywnym.

Co to jest programowanie imperatywne?

Programowanie imperatywne to paradygmat programowania, który wykorzystuje instrukcje zmieniające stan programu. Skupia się na opisaniu sposobu działania programu. Języki programowania, takie jak Java, C i C #, są niezbędnymi językami programowania. Zawiera procedurę krok po kroku dotyczącą tego, co należy zrobić. Imperatywne języki programowania zawierają struktury, takie jak if, else, while, dla pętli, klas, obiektów i funkcji.

Kluczowa różnica między programowaniem funkcjonalnym a programowaniem imperatywnym
Kluczowa różnica między programowaniem funkcjonalnym a programowaniem imperatywnym

Rysunek 02: Przykład imperatywnego języka programowania - Java

Podsumowanie dziesięciu liczb można znaleźć w Javie w następujący sposób. W każdej iteracji wartość i jest dodawana do sumy i przypisywana do zmiennej sumy. W każdej iteracji suma sumuje się do poprzednio obliczonej sumy.

int sum = 0;

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

suma = suma + i;

}

Programowanie imperatywne jest łatwe do nauczenia się, zrozumienia i debugowania. Łatwo jest znaleźć stan programu dzięki wykorzystaniu zmiennych stanu. Niektóre wady są takie, że może to wydłużać kod, a także może zminimalizować skalowalność.

Jakie jest podobieństwo między programowaniem funkcjonalnym a programowaniem imperatywnym?

Zarówno programowanie funkcjonalne, jak i programowanie imperatywne są paradygmatami programowania

Jaka jest różnica między programowaniem funkcjonalnym a programowaniem imperatywnym?

Porównaj środek artykułu przed tabelą

Programowanie funkcjonalne i imperatywne

Programowanie funkcjonalne to paradygmat programowania, który traktuje obliczenia jako ocenę funkcji matematycznych i unika zmiany stanu i zmiennych danych. Programowanie imperatywne to paradygmat programowania, który używa instrukcji, które zmieniają stan programu.
Struktury
Programowanie funkcjonalne zawiera wywołania funkcji i funkcje wyższego rzędu. Programowanie imperatywne zawiera if, else, while, dla pętli, funkcji, klas i obiektów.
Języki programowania
Scala, Haskell i Lisp to funkcjonalne języki programowania. C, C ++, Java to niezbędne języki programowania.
Skupiać
Programowanie funkcjonalne koncentruje się na wyniku końcowym. Programowanie imperatywne skupia się na opisaniu sposobu działania programu.
Prostota
Programowanie funkcjonalne jest trudne. Programowanie imperatywne jest łatwiejsze.

Podsumowanie - Programowanie funkcjonalne a programowanie imperatywne

Paradygmat programowania zapewnia styl budowania struktury i elementów programu komputerowego. Programowanie funkcjonalne i programowanie imperatywne to dwa z nich. Różnica między programowaniem funkcjonalnym a programowaniem imperatywnym polega na tym, że programowanie funkcjonalne traktuje obliczenia jako funkcje matematyczne i unika zmiany stanu i danych, które można modyfikować, podczas gdy programowanie imperatywne wykorzystuje instrukcje, które zmieniają stan programu.

Zalecane: