Mindmap
Paradigmas de Programação
Inhalt der Mindmap
Paradigmas de Programação
Imperativa (Imperative)
- Oposto: Declarativa
- Procedural
- Derivada de programação estruturada, baseado no conceito de programação modular ou chamada procedural
- Variáveis locais, sequência, seleção, iteração e modularização
- C, C++, Lisp, PHP, Python
- Instruções que alteram o estado do progrma diretamente
- Atribuição direta, estruturas de dados comuns e variáveis globais
- C, C++, Java, PHP, Python, Ruby
Declarativa (Declarative)
- Funcional (Functional)
- Trata computação como a avaliação de funções matemáticas, evitando estado e dados mutáveis
- Lambda, composicionalidade, formula, recursão, transparência referencial, sem efeitos colaterais
- C++, Clojure, Coffeescript, Elixir, Erlang, F#, Haskell, Lisp, Python, Ruby, Scala, SequenceL, SML
- Define lógica computacional sem definir detalhes para controle de fluxo de dados (Control Flow)
- Datastream
- Reativa (Reactive)
- Promises
- Realiza a propagação da mudança,
- Reativa (Reactive)
- Funcional (Functional)
Orientada a Eventos (Event Driven)
- Fluxo é determinado principalmente por eventos, tais como cliques de mouse, teclado, tela, temporizador, sensores e mensagens
- Loop principal, manipuladores de eventos (event handlers) processos assíncronos (asynchronous processes)
- Javascript, ActionScript, Visual Basic, Elm, Delphi
Baseada em Automata (Automata Based Programming)
Estruturada (Structured)
- Orientada a Objetos (Object Oriented Programming - OOP)
- Trata campos de dados (propriedades) como objetos manipulados por métodos pré-definidos
- Objetos, métodos, passagem de mensagens, abstração de dados, intefaces (código), controladores de acesso a propriedades, encapsulamento, polimorfismo, herança (inheritance), sobrecarga
- Common Lisp, C++, C#, Eiffel, Java, PHP, Python, Ruby, Scala
- Orientada a Aspecto (Aspect-Oriented Programming - AOP)
- 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).
- 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.
- 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)
- Um estilo de programação imperativa, com mais estruturas lógicas
- Structogramas, indentação, pode ter uso limitado de instruções GOTO
- C, C++, Java, Python
- 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
- Orientada a Objetos (Object Oriented Programming - OOP)
Informationen
- Beschreibung
- Estudo sobre diferentes paradigmas de programação existentes
- Erstellt von
- Thiago Nishio
- Aufrufe
- 38
- Tags
- Bewertung