Mapa mental
PLP
Conteúdo do mapa
PLP
O que é?
- Meio de Comunicação
- Desenvolvimento de Software
- Projeto
- Implementação
- Teste
- Verificação
- Manutenção
- Interação com Máquinas
- Conversão
- Linguagem Alto Nível -> Linguagem de Máquina
- Compiladores/Interpretadores
- Linguagem Alto Nível -> Linguagem de Máquina
- Conversão
- Linguagem
- Expressar um Processo
- Modelos/Paradigmas
- Pontos de Vista
- Modelos/Paradigmas
- Expressar um Processo
Porque estudar?
- Ampliar e Melhorar
- Capacidade de Resolução de Problemas
- Capacidade de Expressar Ideias
- Conhecimento sobre LP's
- Linguagens Apropriadas para Determinados Problemas
- Implementação no Processo de Desenvolvimento de Software
- Entendimento
- Utilização
- Projeção
- Desenvolvimento
- Programas Efetivos
- Vocabulário de Construção
- Entendimento
- Aprendizado
- Novas Linguagens
- Compreensão de Conceitos Gerais
- Globalização da Computação
- Ampliar e Melhorar
Áreas de Aplicação
- Ciência
- Hardware
- IA
- Ciência de Dados
- Software
- Comercial
Características
- Simplicidade
- Suporte para Abstração de Dados
- Suporte ao Programador
- Expressividade
- Ortogonalidade
- Suporte à Manutenção e Portabilidade
- Eficiência
Escolha de Uma LP
- Fatores
- Complexidade
- Características
- Facilidades
- Adequação
- Tipos de Aplicação
- Fatores
Critérios de Avaliação
- Legibilidade
- Facilidade de Leitura e Entendimento
- Simplicidade Geral
- Poucos Componentes Básicos
- Multiplicidade de Recursos Complica a Legibilidade
- Facilidade de Leitura e Escrita de Programas
- Desenvolvimento e Depuração
- Manutenção
- Desempenho da Equipe de Programação
- Fatores que Melhoram
- Abstração de Dados
- Comandos de Controle
- Modularização de Programas
- Documentação
- Convenções Léxicas, Sintaxe e Semântica
- Capacidade de Escrita
- Medida de Facilidade
- Uma Linguagem Para Um Problema Escolhido
- Características que Afetam Ligibilidade também Afetam a Capacidade de Escrita
- Simplicidade e Ortogonalidade
- Baixo Número de Construções
- Uso de Recursos Conhecidos
- Suporte para Abstração
- Abstração: Capacidadede definir e, depois usar estruturas ou operações complicadas de uma maneira que permita ignorar muito dos detalhes.
- Tipos
- Processo: Algoritmos em Geral
- Dados: Tipos de Dados e Estruturas de Dados
- Medida de Facilidade
- Confiabilidade
- Comportamento de Acordo com Suas Especificações Sob Todas as Condições
- Recursos que Afetam a Confiabilidade
- Verificação de Tipos: Visa testar se existem erros de tipos de dados no programa por meio do compilador ou durante a execução do programa
- Manipulação de Exceções: Capacidade de um programa de interceptar erros em tempo de execução, pôr em prática medidas corretivas e, depois, prosseguir
- Aliansing (Apelidos): Referências à mesma posição de memória
- Legibilidade e Facilidade de Escrita
- Quanto mais fácil é escrever um programa, mais probabilidade ele tem de estar correto
- Programas de difícil leitura complicam também sua escrita e sua modificação
- Custo
- Treinamento
- Cresce em função da simplicidade e da ortogonalidade da linguagem e da experiência dos programadores
- Escrita
- Os esforços originais para projetar e implementar linguagens de alto nível foram motivados pelos desejos de diminuir os custos para criar software
- Má Confiabilidade
- Falhas podem ocasionar insucesso do software e ações judiciais
- Sistema de Implementação
- Uma linguagem de programação cujo sistema de implementação seja caro, ou rode somente em hardware caro, terá muito menos chance de tornar-se popular
- Projeto da Linguagem
- Se uma linguagem de programação exigir muitas verificações de tipos durante a execução, proibirá a execução rápida do código
- Compilação
- Problema amenizado com o surgimento de compiladores otimizados e de processadores mais rápidos
- Manutenção
- Depende principalmente da legibilidade. O custo de manutenção pode atingir de duas a quatro vezes o custo de desenvolvimento
- Treinamento
- Legibilidade
Fatores de Influência
- Implementação
- Disponibilidade quanto à plataforma
- Eficiência: velocidade de execução do programa objeto
- Competência
- Experiência do Programador
- Competência do grupo envolvido
- Portabilidade
- Necessidade de executar em diferentes plataformas
- Ambiente
- Ferramentas para desenvolvimento de software diminuem o esforço de programação
- Bibliotecas
- Modelo de Computação
- Aplicação vs Modelo de Computação
- Ex.: para realização de busca heurística é adequado o Paradigma Lógico, para simulações, o Paradigma Orientado a Objeto
- Aplicação vs Modelo de Computação
- Implementação
Informações
- Descrição
- Mapa mental sobre Paradigmas de Linguagem de Programação.
- Criado por
- Franklin Santos Araujo
- Visualizações
- 1
- Avaliação