Skip to content
Logo do Site
hackerbr.net

  • Início
    • Sobre (About)
  • Política de Privacidade (Privacy Policy)
  • Contato (Contact)
  • Linguagens (languages)
    • HTML
    • Python
  • Banco de Dados (Database)
  • Cybersecurity
  • Computação Forense (Computer Forensics)
  • Anki Web
  • Baralhos Anki
  • Computadores (Computers)
    • Sistemas Operacionais (Operating System)
    • Redes de Computadores (Computer network)
Logo do Site
hackerbr.net

março 27, 2024

O que é a programação funcional? (What is functional programming?)

Em Português:

A programação funcional (FP) é um paradigma de programação que enfatiza a construção de software usando funções puras, evitando estado compartilhado, dados mutáveis ​​e efeitos colaterais. Vamos explorar os principais aspectos da programação funcional:

  1. Funções puras:
    • No FP tudo é função.
    • Uma função pura possui as seguintes características:
      • Sempre produz a mesma saída para a mesma entrada (sem estado oculto ou aleatoriedade).
      • Não modifica nenhum estado externo (dados imutáveis).
      • Não tem efeitos colaterais (como operações de E/S ou alteração de variáveis ​​globais).
  2. Dados imutáveis:
    • O FP promove a imutabilidade – uma vez criados os dados, eles não podem ser alterados. Em vez de modificar os dados existentes, o FP cria novas estruturas de dados com as alterações desejadas.
  3. Declarativo vs. Imperativo:
    • Declarativo: FP concentra-se no que resolver e não em como resolver.
    • Imperativo: A programação tradicional geralmente especifica como resolver um problema passo a passo.
  4. Apatridia:
    • Os programas funcionais não têm estado – as funções não dependem de estado externo. Cada função age como se estivesse sendo executada pela primeira vez, independentemente das chamadas anteriores.
  5. Sem loops:
    • FP evita loops (como loops for ou while).
    • Em vez disso, ele usa funções de ordem superior, como map, filter e reduce.
  6. Composição:
    • FP incentiva a composição de funções pequenas e reutilizáveis ​​em funções maiores. As funções tornam-se blocos de construção que se encaixam perfeitamente.
  7. Exemplos de linguagens funcionais:
    • Haskell, Elixir, Clojure e até mesmo partes de JavaScript (com bibliotecas como React) seguem princípios funcionais.

Em resumo, a programação funcional fornece uma maneira clara e concisa de expressar cálculos, tornando o código mais previsível e mais fácil de raciocinar.

In English:

Functional programming (FP) is a programming paradigm that emphasizes building software using pure functions, avoiding shared state, mutable data, and side effects. Let’s explore the key aspects of functional programming:

  1. Pure Functions:
    • In FP, everything is a function.
    • A pure function has the following characteristics:
      • It always produces the same output for the same input (no hidden state or randomness).
      • It does not modify any external state (immutable data).
      • It has no side effects (such as I/O operations or altering global variables).
  2. Immutable Data:
    • FP promotes immutability—once data is created, it cannot be changed.
    • Instead of modifying existing data, FP creates new data structures with desired changes.
  3. Declarative vs. Imperative:
    • Declarative: FP focuses on what to solve rather than how to solve.
    • Imperative: Traditional programming often specifies how to solve a problem step by step.
  4. Statelessness:
    • Functional programs are stateless—functions don’t rely on external state.
    • Each function acts as if it’s running for the first time, regardless of previous calls.
  5. No Loops:
    • FP avoids loops (like for or while loops).
    • Instead, it uses higher-order functions like map, filter, and reduce.
  6. Composition:
    • FP encourages composing small, reusable functions into larger ones.
    • Functions become building blocks that fit together seamlessly.
  7. Examples of Functional Languages:
    • Haskell, Elixir, Clojure, and even parts of JavaScript (with libraries like React) follow functional principles.

In summary, functional programming provides a clear, concise way to express computations, making code more predictable and easier to reason about.

References:

[1]M. Martin, “What is Functional Programming? Tutorial with Example,” Guru99, Mar. 02, 2024. [Online]. Available: https://www.guru99.com/functional-programming-tutorial.html

[2]GfG, “Functional Programming Paradigm,” GeeksforGeeks, Jun. 28, 2022. [Online]. Available: https://www.geeksforgeeks.org/functional-programming-paradigm/

[3]C. Williams, “Functional Programming 101,” GitHub, Jul. 12, 2022. [Online]. Available: https://github.com/readme/guides/functional-programming-basics

[4]“Intro to Functional Programming Basics,” freeCodeCamp.org, Apr. 28, 2021. [Online]. Available: https://www.freecodecamp.org/news/intro-to-functional-programming-basics/

[5]“Functional programming,” Wikipedia, Feb. 01, 2024. [Online]. Available: https://en.wikipedia.org/wiki/Functional_programming

Linguagens (languages)

Navegação de Post

Previous post
Next post
©2025 hackerbr.net | WordPress Theme by SuperbThemes