Mind map
Paradigmas e Classificação de Linguagens de Programação
Map content
Paradigmas e Classificação de Linguagens de Programação
O que é?
- É um meio de se classificar as linguagens de programação baseado em suas funcionalidades,podem ser classificadas em vários paradigmas.
- Porque estudar ?
- Aumenta a eficiência da Programação;
- Evitar o Vício de Programação de uma LP;
- Permite fazer mais com menor esforço;
- Facilita o Aprendizado de uma nova LP;
- Permite explorar ao máximo os recursos da LP;
- Porque estudar ?
- Classificação:
- Em relação ao nível:
- Alto nível:
- Médio nível:
- Baixo nível:
- Voltadas para a máquina;
- Voltadas ao ser humano e a máquina;
- Exemplo – Linguagem C:
- Baixo nível:
- São linguagens voltadas para o ser humano. Em geral utilizam sintaxe mais estruturada, tornando o seu código mais fácil de entender.
- Permitem ao programador se esquecer completamente do funcionamento interno da máquina.
- São linguagens independentes de arquitetura.
- Exemplos: Lua, Java, C#, Python,
- São linguagens independentes de arquitetura.
- Permitem ao programador se esquecer completamente do funcionamento interno da máquina.
- Médio nível:
- Alto nível:
- Em relação à geração:
- 1ª Geração: linguagens em nível de máquina:
- 2ª Geração: linguagens de montagem (Assembly):
- 3ª Geração: linguagens orientadas ao usuário:
- 4ª Geração: linguagens orientadas à aplicação:
- 5ª Geração: linguagens do conhecimento:
- Em relação ao paradigma:
- É um modelo interpretativo (ou conceitualização) de uma realidade. Um ponto de vista que determina como uma realidade é entendida e como se atua sobre ela.
- Paradigma imperativo (sequência, atribuição, estado): Basic, Pascal, C, Ada, Fortran, Cobol, Assembly...
- São orientadas a ações, onde a computação é vista como uma sequência de instruções que manipulam valores de variáveis (leitura e atribuição).
- Baseia-se na arquitetura de computadores Von Neumann:
- Subdivide-se em estruturado e não-estruturado.
- Linguagens estruturadas permitem a criação de procedimentos (funções);
- Paradigma funcional (função, aplicação, avaliação): Lisp, Haskell, Erlang, Scheme...
- Trata a computação como um processo de avaliação de funções matemáticas
- Enfatiza a aplicação de funções
- Consistem em pensar qual função deve ser aplicada para transformar uma entrada qualquer na saída desejada.
- Programas são funções que descrevem uma relação explícita e precisa entre E/S; • Estilo declarativo: não há o conceito de estado nem comandos como atribuição;
- Paradigma lógico (relação, dedução): Prolog.
- Baseado em lógica formal
- Consiste em declarar fatos, que podem ser relações (associações) ou regras que produzem fatos deduzidos a partir de outros.
- Programação em linguagens lógicas requer um estilo mais descritivo;
- Programas descrevem um conjunto de regras que disparam ações quando suas premissas são satisfeitas;
- Paradigma orientado a objetos (objeto, estado, mensagem): C++, Java, C#, Eiffel, Smalltalk, Python...
- Tratam os elementos e conceitos associados ao problema como objetos;
- Sugere a diminuição da distância entre a modelagem computacional e o mundo real:
- Sistemas são vistos como coleções de objetos que se comunicam, enviando mensagens, colaborando para dar o comportamento global dos sistemas.
- Uma aplicação é estruturada em módulos (classes) que agrupam um estado (atributos) e operações (métodos) sobre este;
- A classe é o modelo ou molde de construção de objetos. Ela define as características e comportamentos que os objetos irão possuir.
- A orientação a objetos permite que classes possam "herdar" as características e métodos de outra classe para expandi-la ou especializá-la de alguma forma.
- Paradigma concorrente (processo, comunicação (síncrona ou assíncrona)): C++, C#, Java...
- Paradigma imperativo (sequência, atribuição, estado): Basic, Pascal, C, Ada, Fortran, Cobol, Assembly...
- É um modelo interpretativo (ou conceitualização) de uma realidade. Um ponto de vista que determina como uma realidade é entendida e como se atua sobre ela.
- Em relação ao nível:
- É um meio de se classificar as linguagens de programação baseado em suas funcionalidades,podem ser classificadas em vários paradigmas.
Information
- Description
- Mind Map on Paradigmas e Classificação de Linguagens de Programação, created by Carlos Alexandre de Sousa on 10/03/2020.
- Created by
- Carlos Alexandre de Sousa
- Views
- 0
- Rating