Paradigmas de Programação

Description

Estudo sobre diferentes paradigmas de programação existentes
Maria Ines Vasconcellos Furtado
Mind Map by Maria Ines Vasconcellos Furtado, updated more than 1 year ago More Less
Thiago Nishio
Created by Thiago Nishio over 7 years ago
Maria Ines Vasconcellos Furtado
Copied by Maria Ines Vasconcellos Furtado over 5 years ago
4
0

Resource summary

Paradigmas de Programação
  1. Imperativa (Imperative)

    Annotations:

    • Oposto: Declarativa
    1. Procedural
      1. Derivada de programação estruturada, baseado no conceito de programação modular ou chamada procedural
        1. Variáveis locais, sequência, seleção, iteração e modularização
          1. C, C++, Lisp, PHP, Python
          2. Instruções que alteram o estado do progrma diretamente
            1. Atribuição direta, estruturas de dados comuns e variáveis globais
              1. C, C++, Java, PHP, Python, Ruby
              2. Declarativa (Declarative)
                1. Funcional (Functional)
                  1. Trata computação como a avaliação de funções matemáticas, evitando estado e dados mutáveis
                    1. Lambda, composicionalidade, formula, recursão, transparência referencial, sem efeitos colaterais
                      1. C++, Clojure, Coffeescript, Elixir, Erlang, F#, Haskell, Lisp, Python, Ruby, Scala, SequenceL, SML
                      2. Define lógica computacional sem definir detalhes para controle de fluxo de dados (Control Flow)
                        1. Datastream
                          1. Reativa (Reactive)
                            1. Promises
                              1. Realiza a propagação da mudança,
                          2. Orientada a Eventos (Event Driven)
                            1. Fluxo é determinado principalmente por eventos, tais como cliques de mouse, teclado, tela, temporizador, sensores e mensagens
                              1. Loop principal, manipuladores de eventos (event handlers) processos assíncronos (asynchronous processes)
                                1. Javascript, ActionScript, Visual Basic, Elm, Delphi
                                2. Baseada em Automata (Automata Based Programming)
                                  1. Estruturada (Structured)
                                    1. Orientada a Objetos (Object Oriented Programming - OOP)
                                      1. Trata campos de dados (propriedades) como objetos manipulados por métodos pré-definidos
                                        1. Objetos, métodos, passagem de mensagens, abstração de dados, intefaces (código), controladores de acesso a propriedades, encapsulamento, polimorfismo, herança (inheritance), sobrecarga
                                          1. Common Lisp, C++, C#, Eiffel, Java, PHP, Python, Ruby, Scala
                                            1. Orientada a Aspecto (Aspect-Oriented Programming - AOP)
                                              1. Usado para um conjunto específico de problemas: Cross-cutting concerns. UM concern é algo que aparece em diferentes lugares em uma aplicação (autorização e controle de acesso via login, por exemplo).
                                                1. Possui pelo menos 2 componentes: uma forma de centralizar a funcionalidade para lidar com um concern e uma forma especificar onde na aplicação esta funcionalidade será acrescentada sem alterar o código.
                                                2. Classes e os relacionamentos entre elas: herança (um relacionamento que é configurado em tempo de compilação e composição (quando objetos são agrupados em tempo de execução)
                                                3. Um estilo de programação imperativa, com mais estruturas lógicas
                                                  1. Structogramas, indentação, pode ter uso limitado de instruções GOTO
                                                    1. C, C++, Java, Python
                                                      1. Estruturas de controles executadas em sequência, seleção de fluxo (instruções if e else), iteração (while, for, do while, foreach), recursão (chamando a mesma subrotina repetidamente até uma determinada condição), blocos e subrotinas
                                                      Show full summary Hide full summary

                                                      Similar

                                                      História da informática
                                                      Renato Costa
                                                      Programação
                                                      Prepara Palhoça
                                                      QUESTIONÁRIO DE INFORMÁTICA: SISTEMAS OPERACIONAIS
                                                      anapaulabrasilam
                                                      Mapa Mental - Algoritmos e Programação
                                                      Marcos Santos2025
                                                      Mapa Mental de Revisão de Algoritmos e Programação I
                                                      José Toniazzo
                                                      Organização e Arquitetura de Computador
                                                      Rodrigo Gomes
                                                      Linguagens de Programação
                                                      Lucas Miranda
                                                      ARQUITETURA DE COMPUTADORES
                                                      wesley.silva.ads
                                                      PROGRAMAÇÃO
                                                      Guilherme Toniello
                                                      LINGUAGEM DE PROGRAMAÇÃO I
                                                      ailtonmidias
                                                      Lógica de Programação- Dados
                                                      Gabriela Alves