A maior rede de estudos do Brasil

Grátis
43 pág.
aula2

Pré-visualização | Página 1 de 2

GCC 105 – LINGUAGENS DE 
PROGRAMAÇÃO I
AULA 2 – Aspectos Preliminares
1º Semestre de 2015
Prof. Janderson Rodrigo de Oliveira
Universidade Federal de Lavras
Departamento de Ciência da Computação
Por que estudar LPs?
• Capacidade aumentada para expressar ideias.
– A profundidade com a qual as pessoas podem pensar é 
influenciada pelo poder de expressividade da linguagem que 
elas usam para comunicar seus pensamentos.
– A linguagem na qual se desenvolve um software impõe 
restrições nos tipos de estruturas de controle, estruturas de 
dados e abstrações que podem ser utilizadas.
– Conhecer uma variedade mais ampla de recursos das linguagens 
de programação pode reduzir as limitações no processo de 
desenvolvimento de software.
Por que estudar LPs?
• Embasamento para escolher linguagens adequadas.
– Conhecer uma faixa mais ampla de linguagens e construções de 
linguagens, torna o programador mais capacitado a escolher a 
que inclui os recursos melhor adaptados às características do 
problema a ser resolvido.
– Evitar o comodismo das linguagens “já conhecidas”.
Por que estudar LPs?
• Habilidade aumentada para aprender novas linguagens.
– O processo de aprender uma nova linguagem de programação 
pode ser difícil, especialmente quando uma pessoa não possui 
conhecimento sobre os conceitos de linguagens de 
programação de um modo geral.
– Uma vez que o entendimento dos conceitos fundamentais das 
linguagens tenha sido adquirido, é mais fácil compreender como 
esses conceitos são incorporados no projeto da linguagem 
aprendida. Exemplo: Orientação a Objetos e Java.
Por que estudar LPs?
• Melhor entendimento da importância da implementação.
– Aprender os conceitos de linguagens de programação leva a 
habilidade de usar uma determinada linguagem de maneira 
mais inteligente, utilizando-a da forma como ela foi projetada 
para ser utilizada.
– Exemplo: um pequeno subprograma recursivo chamado 
frequentemente pode ser uma decisão de projeto altamente 
ineficiente. 
Por que estudar LPs?
• Melhor uso de linguagens já conhecidas.
– Muitas linguagens de programação são grandes e complexas. 
– Ao utilizar os conceitos de linguagens de programação, os 
programadores podem aprender sobre partes antes 
desconhecidas e não utilizadas das linguagens que eles já 
trabalham.
Por que estudar LPs?
• Avanço geral da computação.
– É fundamental que programadores em atividade conheçam os 
conceitos fundamentais das linguagens de programação para 
poderem ler e entender descrições e avaliações de novas 
linguagens de programação.
Domínios de Aplicação
• Computadores têm sido aplicados a uma grande variedade de 
áreas. Por causa dessa diversidade, linguagens de 
programação com objetivos muito diferentes têm sido 
desenvolvidas.
• Principais áreas de aplicação:
– Aplicações científicas;
– Aplicações empresarias;
– Inteligência Artificial;
– Programação de sistemas;
– Software para a Web.
Domínios de Aplicação
• Aplicações científicas
– Início em 1940.
– Aplicações científicas têm estruturas de dados relativamente 
simples, mas requerem diversas computações aritméticas de 
ponto flutuante.
– Estruturas de dados: vetores e matrizes. Estruturas de controle: 
laços de contagem e seleção.
– A primeira linguagem para aplicações científicas foi o Fortran.
Domínios de Aplicação
• Aplicações empresariais
– Início em 1950.
– A primeira linguagem de alto nível para negócios a ser bem-
sucedida foi o COBOL (1960).
– Linguagens de negócios são caracterizadas por facilidades para a 
produção de relatórios elaborados, maneiras precisas de 
descrever e armazenar números decimais e caracteres, e a 
habilidade de especificar operações aritméticas decimais.
Domínios de Aplicação
• Definições:
– Linguagem de alto nível: linguagem com um nível de abstração 
elevado, longe do código de máquina e mais próxima a 
linguagem humana. As características da arquitetura do 
computador são abstraídas nas linguagens de alto nível.
– Linguagem de baixo nível: linguagem de programação que 
compreende as características da arquitetura do computador. 
Assim, utiliza instruções do processador, conhecendo os 
registradores da máquina.
Domínios de Aplicação
• Inteligência Artificial (IA)
– IA é uma ampla área de aplicações computacionais 
caracterizada pelo uso de computações simbólica em vez de 
numéricas.
– Computações simbólicas são aquelas nas quais símbolos, 
compostos de nomes em vez de números, são manipulados.
– A primeira linguagem de programação desenvolvida para IA foi a 
linguagem funcional LISP (1959).
– Em 1970, uma abordagem alternativa surgiu: programação 
lógica usando a linguagem Prolog.
Domínios de Aplicação
• Programação de sistemas
– O sistema operacional e todas as ferramentas de suporte à 
programação de um sistema de computação são coletivamente 
conhecidos como seu software de sistema.
– O sistema operacional UNIX é escrito quase todo em C. Algumas 
características de C fazem com que ele seja uma boa escolha 
para a programação de sistemas. 
Domínios de Aplicação
• Software para Web
– A World Wide Web é mantida por uma eclética coleção de 
linguagens. Exemplos:
• Linguagens de marcação: XHTML.
• Linguagem de programação de propósito geral: Java.
• Linguagem de scripting: JavaScript ou PHP.
Domínios de Aplicação
• Definições:
– Linguagens de marcação: conjunto de códigos aplicados a um 
texto ou a dados, com o fim de adicionar informações 
particulares sobre esse texto ou dado, ou sobre trechos 
específicos.
– Linguagem de scripting: linguagens de programação executadas 
no interior de programas e/ou outras linguagens de 
programação.
Critérios de Avaliação
• Critérios:
– Legibilidade;
– Facilidade de escrita;
– Confiabilidade;
– Custo.
Critérios de Avaliação
• Legibilidade:
– Facilidade com a qual programas pode ser lidos e entendidos.
– Antes de 1970, as construções de linguagens foram projetadas 
mais do ponto de vista do computador do que do usuários.
– Nos anos 1970, a manutenção foi reconhecida como uma parte 
principal do ciclo de desenvolvimento de software.
– Como a facilidade de manutenção é determinada, em grande 
parte, pela legibilidade, esta característica se tornou uma 
medida importante de qualidade.
Critérios de Avaliação
• Fatores que influenciam a legibilidade:
1. Simplicidade geral
– Uma linguagem com muitas construções básicas é mais difícil de 
aprender do que uma com poucas.
– Outro ponto desfavorável: multiplicidade de recursos, ou seja, 
existir mais de uma maneira de realizar uma operação: Exemplo: 
incremento de uma variável inteira em Java e C/C++.
– Outro ponto desfavorável: sobrecarga de operadores - recurso 
no qual um operador tem mais de um significado.
Critérios de Avaliação
• Fatores que influenciam a legibilidade:
2. Ortogonalidade
– Significa que um conjunto relativamente pequeno de 
construções primitivas pode ser combinado a um número 
relativamente pequeno de formas para construir as estruturas 
de controle e de dados da linguagem.
– Além disso, cada possível combinação de primitivas é legal e 
significativa.
Critérios de Avaliação
• Fatores que influenciam a legibilidade:
2. Ortogonalidade
– Exemplo: Tipos primitivos de dados (inteiro, ponto flutuante, 
ponto flutuante com precisão dupla e caractere). Operadores de 
tipo (vetor e ponteiro).
– A ortogonalidade vem da simetria de relacionamentos entre 
primitivas. Uma falta de ortogonalidade leva a exceções às 
regras de linguagem.
Critérios de Avaliação
• Fatores que influenciam a legibilidade:
2. Ortogonalidade
– Exemplo de falta de ortogonalidade: em C, os registros

Crie agora seu perfil grátis para visualizar sem restrições.