Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação
Derick E. D. Rosa1, Renato R. M. Oliveira1
1
Instituto de Ciências Exatas e Naturais (ICEN) – Universidade Federal do Pará
Campus Universitário do Guamá, Av. Augusto Corrêa, no.1, CEP: 66.075 – 900
Cidade: Belém-PA
{derick.rosa,renato.oliveira}@icen.ufpa.br
1. INTRODUÇÃO
Diante da grande diversidade de linguagens e ferramentas, evolução
tecnológica, expansão da computação móvel e crescente exigência de qualidade,
escolher uma linguagem de programação se tornou uma tarefa árdua. Muitas vezes sua
importância é ignorada e as escolhas são baseadas apenas em preferências dos
desenvolvedores ou políticas da empresa, sem um critério realmente válido do ponto de
vista técnico.
Uma linguagem de programação é caracterizada em termos de uma gramática e
um significado bem definidos. Além disso, a linguagem deve ser implementável
(executável) com eficiência aceitável e deve ser universal, no sentido que deve ser
possível expressar todo problema computável nessa linguagem; recursão, comandos de
interação (como while loops) ou mesmo comandos de desvio (como go to) são
suficientes para garantir universalidade a uma linguagem de programação.
Ao se estudar os critérios de seleção das linguagens de programação, obtemos
um conhecimento que nos ajuda a compreender e utilizar qualquer linguagem, uma vez
que o conhecimento de diversas linguagens, seus paradigmas, limitações e vantagens
são base de escolha da linguagem apropriada para resolver um determinado problema
ou para desenvolver um projeto, logo, o programador fará um melhor uso da linguagem
de programação. Este trabalho visa introduzir conceitos que podem auxiliar na escolha
com critérios, indispensáveis para conduzir a uma tomada de decisão mais
consciente, não se trata de um indicativo das melhores linguagens, porém um
conjunto de conceitos essenciais para se fazer uma escolha técnica e imparcial.
Em Java.
aList.get(aList.size -1)
Em Ruby.
anArray.last
Fica claro que o código parece ser melhor expresso com Ruby. "Ser
expressivo" pode facilitar futuras manutenções, ampliações e integrações no código.
Quando se fala de combinar estruturas de uma linguagem de programação, de
forma que melhor se adapte ao problema a ser resolvido, isso se refere à Ortogonalidade
de uma linguagem de programação. Desse modo é gerado um grande número de
combinações de estruturas em uma linguagem de programação, ampliando ainda mais a
sua área na resolução de diversos problemas.
Alguns exemplos de ortogonalidade são a combinação de arrays com registros,
onde cada espaço do vetor abrangeria um registro. Outro exemplo é a interação entre
ponteiros e os tipos primitivos de dados (inteiro, real, caractere), onde o ponteiro deve
ser capaz de apontar para qualquer tipo de variável ou estrutura de dados.
A Confiabilidade está diretamente ligada à facilidade de escrita e a legibilidade
(pois há mais facilidade na correção de um programa) e refere-se aos mecanismos que
permitem o desenvolvimento de programas conforme o conjunto de requisitos.
Assim para se obter uma grande confiabilidade é interessante que a linguagem
ofereça suporte as seguintes capacidades: (1) verificação de tipos; (2) manipulação de
exceções; (3) legibilidade e Capacidade de Escrita.
O suporte a verificação de tipos, consiste em assegurar que as operações
considerem os dados sempre conforme seus tipos corretos, ou seja, de acordo com a
definição de tipo. Quanto ao tratamento de exceções a linguagem deve permitir que
procedimentos especiais sejam executados em caso de comportamento não
usual e ainda que seja permitido diagnosticar erros em tempo de execução.
A Portabilidade refere-se à capacidade de uma linguagem de programação ser
multiplataforma, ou seja, de rodar em várias plataformas, sem que sejam necessárias
adaptações, como a adaptação de hardware ou software. Uma outra coisa importante no
critério da portabilidade é a longevidade, onde os ciclos de vida útil dos softwares e
hardwares não precisam estar síncronos, sendo permitida, deste modo, a mudança de
ambos, sem que afete a execução da linguagem de programação.
4. REFERÊNCIAS
“Introdução a Paradigmas de Linguagem de Programação”
Acessado em 19/03/2011
http://www.estig.ipbeja.pt/~rmcp/estig/20052006/1s/lp/pdf/teorica/cap1.pdf