Baixe o app para aproveitar ainda mais
Prévia do material em texto
C++ LEGIBILIDADE : 5,0 SIMPLICIDADE 4 Possui identificadores livres e uma boa estrutura do código. Poém possui amplas possibilidades de se implementar uma soluação para um mesmo problema. ORTOGONALIDADE 2 A estrutura "goto" e a divisão do código em diferentes arquivos(.h, cpp...) causa dificuldade na leitura do programa TIPOS DE DADOS 8 Todas as variáveis tem seu tipo declarados previamente, e com a orientação a objetos, há diversos tipos que cada variável, função, método, ..., pode assumir. PROJETO DA SINTAXE 6 Palavras reservadas curtas e garatem entendimento bom e não podem ser usadas como nome de variáveis. Identificadores livres. Gramática complexa já que existem varias formas de ambiguidade na linguagem. REDIGIBILIDADE: 6,0 SIMPLICIDADE 4 Possui vários recursos para se resolver um mesmo problema. ORTOGONALIDADE 4 Muitos erros dificéis de identificar. SUPORTE PARA ABSTRAÇÃO 8 Há abstração de processos (subprogramas) e abstração de dados (arrays, classes, dados estruturados). EXPRESSIVIDADE 8 Muitas informações podem ser passadas em um pequeno número de linhas de código. CONFIABILIDADE: 5,4 VERIFICAÇÃO DE TIPOS 3 É possível fazer manipulação direta de endereços de memória utilizando ponteiros, propiciando erros. TRATAMENTO DE EXCEÇÕES 9 Em C++ é possível que o programador implemente um código que possa tratar exceções, quando ocorrerem (try() e catch() ), evitando que o programa feche inesperadamente, sem saber ao certo o que ocorreu. ALIASING 4 Ponteiros criam problemas de aliasing, retardando o código binário. LEGIBILIDADE E REDIGIBILIDADE 5,5 CUSTO: 3,3 CUSTO DE TREINAMENTO 4 Determinado pela ortogonalidade e simplicidade. CUSTO DE REDIGIBILIDADE 4 CUSTO DE COMPILAÇÃO 3 Em função do tempo de espera pela compilação. E c++ é a mais rápida entre as linguagens OO. CUSTO DE EXECUÇÃO 1 Função da qualidade do código produzido CUSTO DE IMPLEMENTAÇÃO DA LINGUAGEM 2 CONFIABILIDADE FRACA 5,6 MANUTENIBILIDADE 5 Função principalmente da legibilidade da linguagem. PORTABILIDADE 3 Facilidade de mudança dos programas de uma plataforma para outra. GENERALIDADE DA LINGUAGEM 2 Aplicabilidade a uma ampla faixa de utilizações BOA DEFINIÇÃO 3 NOTA TOTAL: 5,8 JAVA LEGIBILIDADE : 7,5 SIMPLICIDADE 9 Por ser orientada a objetos, possui sobrecarga, o que ajuda na simplicidade. Além disso, possui poucos componentes básicos. ORTOGONALIDADE 7 É possível fazer qualquer classe com uma combinação qualquer de estruturas primitivas. TIPOS DE DADOS 7 Tem facilidade em definir, já que é uma linguagem orientada a objetos. PROJETO DA SINTAXE 7 Possui delimitadores, permite criação de estruturas mnemônicas. REDIGIBILIDADE: 7,0 SIMPLICIDADE 6 Possui modificadores (public, private, class) e atributos (extends). ORTOGONALIDADE 6 SUPORTE PARA ABSTRAÇÃO 8 Suporta abstração, conceitos como classes, heranças, tipo abstrato de dados, etc. EXPRESSIVIDADE 8 Existem várias possibilidades para programar. O fato de ter a estrutura "for" e "overload" aumenta a expressividade. CONFIABILIDADE: 5,2 VERIFICAÇÃO DE TIPOS 5 Possui verificação de tipo estática, descobrindo o erro mais cedo, se comparado com o Python. TRATAMENTO DE EXCEÇÕES 7 Possui garbage collector, reduz a quantidade de ponteiros pendentes, tornando o código mais confiável, se comparado ao C. ALIASING 2 Permite levar falhas de segurança LEGIBILIDADE E REDIGIBILIDADE 7 CUSTO: 4,0 CUSTO DE TREINAMENTO 7 Necessita de programadores com certa experiência e que conheçam os conceitos de programação orientada a objetos. Iniciantes tem certa dificuldade CUSTO DE REDIGIBILIDADE 3 CUSTO DE COMPILAÇÃO 7 Checagem de tipo estática é lenta comparada à dinâmica, sem contar que precisa gerar o executável para JVM, custando mais tempo. CUSTO DE EXECUÇÃO 1 Uma vez gerado o executável, funciona em qualquer JVM CUSTO DE IMPLEMENTAÇÃO DA LINGUAGEM 5 CONFIABILIDADE FRACA 5,2 MANUTENIBILIDADE 2 Suporte para abstração, packages, garbage collector, classes, orientação a objetos. PORTABILIDADE 2 Criado para rodar em todos os lugares, qualquer dispositivo. GENERALIDADE DA LINGUAGEM 5 Possui campo moderado de aplicações, e com limitações de hardware, memória ou vídeo. BOA DEFINIÇÃO 3 Gramática bem definida. NOTA TOTAL: 6,4 PYTON LEGIBILIDADE : 7,5 SIMPLICIDADE 8 Possui conjunto expressivo de tipos primitivos e as estrtuturas de controle lógico colaboram para um bom entendimento da linguagem ORTOGONALIDADE 7 Conjunto reduzido, mas completo de tipos primitivos e estruturas de controle. Permite ligações entre tipos de dados diferentes. (checagem dinâmica) TIPOS DE DADOS 7 É uma linguagem orienta a objetos PROJETO DA SINTAXE 8 Tem restrição para identificação de variáveis, restrição para palavras reservadas, e semântica é consistente. REDIGIBILIDADE: 6,7 SIMPLICIDADE 8 Poucas palavras reservadas e instruções básicas, dando agilidade ao programador. ORTOGONALIDADE 6 Uso de identação. SUPORTE PARA ABSTRAÇÃO 9 Permite que uma função tenha como parâmetro ou retorno outra função, abrindo as portas para implementação de novos tipos abstratos de dados. EXPRESSIVIDADE 4 Enfatiza a importância do esforço do programador sobre o esforço computacional. Prioriza a legibilidade sobre a velocidade e expressividade. CONFIABILIDADE: 6,2 VERIFICAÇÃO DE TIPOS 2 Não tem declaração formal de tipos de variáveis, além disso, possui verificação dinâmica, prejudicando a confiabilidade TRATAMENTO DE EXCEÇÕES 8 ALIASING 8 LEGIBILIDADE E REDIGIBILIDADE 7 CUSTO: 3,5 CUSTO DE TREINAMENTO 1 Possui ampla comunidade de desenvolvedores, boa documentação e grande quantidade de exemplos e tutoriais. CUSTO DE REDIGIBILIDADE 4 CUSTO DE COMPILAÇÃO 8 Intepretação híbrida CUSTO DE EXECUÇÃO 7 Verificação de tipo durante o tempo de execução, que depende praticamente do quão rápido é o interpretador. CUSTO DE IMPLEMENTAÇÃO DA LINGUAGEM 0 é open source. CONFIABILIDADE FRACA 4,8 MANUTENIBILIDADE 2 Possui boa legibilidade e é orienta a objetos, facilitando a manutenção. PORTABILIDADE 4 Padronização não é tão forte e unificada como a de Java. GENERALIDADE DA LINGUAGEM 1 Tem sua abrangência de funionalidades praticamente ilimitada BOA DEFINIÇÃO 3 NOTA TOTAL: 6,7 LINGUAGENS DE PROGRAMAÇÃO TRABALHO PRÁTICO 1 BRUNA LISBOA CASTRO OLIVEIRA – 81857 VIÇOSA Abril de 2017
Compartilhar