Please enable JavaScript.
Coggle requires JavaScript to display documents.
CRITÉRIOS DE AVALIAÇÃO DAS LINGUAGENS - Coggle Diagram
CRITÉRIOS DE AVALIAÇÃO DAS LINGUAGENS
OS DOMÍNIOS DA PROGRAMAÇÃO
APLICAÇÕES CINETÍFICAS
MÁQUINAS DE CALCULAR EM ALTA PRECISÃO
NOS PRIMÓRDIOS DA COMPUTAÇÃO - 1946 - A PRIMEIRA LINGUAGEM DE PROGRAMAÇÃO FOI A ASSEMBLY.
NA DÉCADA DE 1960 SURGEM AS PRIMEIRAS LINGUAGENS DE ALTO NÍVEL COMO FORTRAN E ALGOL60
SUAS PRINCIPAIS CARACTERÍSTICAS ERAM:
-ESTRUTURAS DE DADOS SIMPLES
-ALTO VOLUME DE CÁLCULOS COM ARITMÉTICA DE PONTO FLUTUANTE
PROCUPAÇÃO COM A EFICIÊNCIA
APLICAÇÕES COMERCIAIS
SUPRIR AS DEMANDAS DAS EMPRESAS A PARTIR DE 1950 E 1960
SURGIMENTO DA LINGUAGEM ÍCONE DAS APLICAÇÕES COMERCIAIS DE COMPUTADORES DE GRANDE PORTE:
COBOL
CARACTEŔÍSTICAS DAS LINGUAGENS
FACILIDADES PARA PRODUZIR RELATÓRIOS
PRECISÃO COM NÚMEROS DECIMAIS E COM PONTO FLUTUANTE
CAPACIDADE DE ESPECIFICAR OPERAÇÕES ARITMÉTICAS COMERCIAIS
APLICAÇÕES COM A.I.
A GRANDE RUPTURA NO PENSAMENTO COMPUTACIONAL É QUE AS LINGUAGENS QUE APOIAM A.I. USAM COMPUTAÇÃO SIMBÓLICA E NÃO NUMÉRICA
EM 1959 SURGE A LINGUAGEM
LISP
PRIMEIRA LINGUAGEM PROJETADA PARA APOIO À COMPUTAÇÃO SIMBÓLICA, PRIMEIRA REFERÊNCIA DA COMPUTAÇÃO FUNCIONAL
PROLOG
CRIADA EM 1977, FOI A PRIMEIRA LINGUAGEM CRIADA PARA APOIO À COMPUTAÇÃO LÓGICA, ESSÊNCIA DOS SISTEMAS ESPECIALISTA
PROGRAMAÇÃO DE SISTEMAS
CABE A LINGUAGENS QUE TENHAM COMANDOS E ESTRUTURAS PARA ACESSAR DIRETAMENTE O HARDWARE
USADAS PARA DESENVOLVER SOFTWARE BÁSICOS, COMO SISTEMAS OPERACIONAIS, TRADUTORES E INTERPRETADORES DE LINGUAGENS
PROGRAMAÇÃO PARA WEB
NESSE CONTEXTO TEMOS 2 DIFERENTES AMBIENTES DE DESENVOLVIMENTO
A CAMADA DE APRESENTAÇÃO QUE RODA NO NAVEGADOR (CLIENT SIDE)
E A CAMADA LÓGICA DO NEGÓCIO QUE RODA NOS SERVIDORES WEB (SERVER SIDE), JUNTAMENTE COM A CAMADA DE PERSISTÊNCIA
USA-SE HTML, CSS E JAVA SCRIPT NO LADO DO CIENTE
JÁ NO LADO DO SERVIDOR AS PRINCIPAIS LP SÃO: C#, PHP, ASP, .NET, JAVA, RUBY E PHYTON
PROGRAMAÇÃO MOBILE
OS APPS SÃO INTERFACES QUE RODAM NO CLIENT SIDE
O DESNSVOLVIMENTO DE APPS PARA IOS É BASEADO NUMA IDE CHAMADA XCODE, QUE PERMITE O DESENVOLVIMENTO DE APPS EM VARIA LINGUAGENS, COMO: C, C#, JAVA E C++, MAS OFICIALMENTE ORIENTA SWIFT E OBJECTIVE-C
JÁ O GOOGLE TEM POR BASE O ANDROID SFK, ORIENTA A USAR AS LINGUGENS KOTLIN, JAVA, C++, MAS A LINGUAGEM PYTHON, SHELL SCRIPT ENTRE OUTRAS TAMBÉM SÃO USADAS PARA O DESENVOLVIMENTO DE APPS PARA ANDROID
AVALIAÇÃO DAS LP
CRITÉRIOS PARA AVALIAÇÃO
LEGIBILIDADE
DIZ RESPEITO À CAPACIDADE COM QUE OS PROGRAMAS PODEM SER LIDOS E ENTENDIDOS PELA SINTAXE E CONSTRUÇÃO DA LINGUAGEM
CARACTERÍSTICAS QUE INFLUENCIAM
SIMPLICIDADE
UMA LINGUAGEM COM UM NÚMERO ELEVADO DE CONSTRUÇÕES BÁSICAS É MAIS DIFÍCIL DE SER COMPREENDIDA
OUTRO FATOR NEGATIVO É A MULTIPLICIDADE DE RECURSOS
TAMBÉM A SOBRECARGA DE OPERADORES É UM PROBLEMA, COMO POR EXEMPLO O USO DO '+' EM DIVERSOS CONTEXTOS
ORTOGONALIDADE
POSSIBILIDADE DE COMBINAR, ENTRE SI, SEM RESTRIÇÕES, AS CONSTRUÇÕES BÁSICAS DA LINGUAGEM PARA CONSTRUIR ESTRUTURAS DE DADOS E DE CONTROLE
BOA ORTOGONALIDADE: PERMITIR, POR EXEMPLO, QUE HAJA UM VETOR, CUJOS ELEMENTOS SEJAM DO TIPO REGISTRO (ESTRUTURA HETEROGÊNEA
MÁ ORTOGONALIDADE: NÃO PERMITIR QUE UM VETOR SEJA PASSADO COMO ARGUMENTO PARA UMA ROTINA
INSTRUÇÕES DE CONTROLE
LIMITAM A LEGIBILIDADE DOS PROGRAMAS, POIS ESSA INSTRUÇÃO PODE LEVAR O CONTROLE DO CÓDIGO A QUALQUER PONTO DO PROGRAMA , LIMITANDO O ENTENDIMENTO
TIPOS E ESTRUTURAS DE DADOS
A FACILIDADE OFERECIDA PELA LINGUAGEM PARA DEFINIR TIPOS E ESTRUTURAS DE DADOS AUMENTA A LEGIBILIDADE
UMA LINGUAGEM QUE NÃO PERMITA QUE UM VETOR TENHA REGISTROS COMO SEUS ELEMENTOS, TERÁ A LEGIBILIDADE AFETADA
UMA LINGUAGEM QUE USA UMA VARÁVEL FALSE PARA REPRESENTAR UM VALOR BOOLEANO AO INVÉS DE 0 FACILITA A LEGIBILIDADE
SINTAXE
RESTRIÇÃO DE TAMANHO
USO DE PALAVRAS RESERVADAS
ABRETURA E FECHAMENTO DE BLOCOS DE COMANDO
FACILIDADE DE ESCRITA
MEDIDA DO QUÃO FÁCIL A LINGUAGEM PERMITE CRIAR PROGRAMAS
SIMPLICIDADE E ORTOGONALIDADE
O IDEAL SÃO LINGUAGENS COM POUCAS CONTRUÇÕES PRIMITIVAS
SE HOUVEREM MUITAS ALGUMAS SERÃO DEIXADAS DE LADO, TALVEZ AS MAIS EFICIENTES E ELEGANTES
EXPRESSIVIDADE
UMA LINGUAGEM EXPRESSIVA POSSIBILITA ESCREVER CÓDIGOS DE UMA FORMA MAIS CONVENIENTE AO INVÉS DE DESELEGANTE
SUPORTE PARA ABSTRAÇÃO
EX: - PROCESSOS COM O CONCEITO DE SUBPROGRAMA; - DADOS, COMO UMA ÁRVORE OU LISTA SIMPLISMENTE ENCADEADA
CONFIABILIDADE
O PROGRAMA DEVE SE COMPORTAR CONFORME SUA ESPECIFICAÇÃO, SOB TODAS AS CONDIÇÕES, TODAS AS VEZES E QUE FOR EXECUTADO
VERIFICAÇÃO DE TIPOS
VERIFICAÇÃO DE ERROS EM TEMPO DE COMPILAÇÃO OU EXECUÇÃO. PREFERENCIALMENTE EM TEMPO DE COMPILAÇÃO
TRATAMENTO DE EXCEÇÃO
A LINGUAGEM DEVE PERMITIR A IDENTIFICAÇÃO DE EVENTOS INDESEJÁVEIS (ESTOURO DE MEMÓRIA , BUSCA DE ELEMENTOS INEXISTENTES, OVERFLOW, ETC.)
E ESPECIFICAR RESPOSTAS ADEQUADAS PARA CADA EVENTO
ALIASING (APELIDOS)
É O FATO DE TER DOIS OU MAIS NOMES, REFERENCIANDO A MESMA CÉLULA DE MEMÓRIA, O QUE É PERIGOSO E AFETA A CONFIABILIDADE
LEGIBILIDADE E FACILIDADE DE ESCRITA
CUSTO
VARIA EM FUNÇÃO DAS SEGUINTES DESPESAS: TREINAMENTO, ESCRITA DE PROGRAMA, COMPILADOR, EXECUÇÃO DO PROGRAMA, DE IMPLEMENTAÇAO DA LINGUAGEM E DA MANUTENÇÃO DO CÓDIGO