Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagens de
Programação
Faculdade Nova Roma
Cursos de Ciências da Computação (6° Período)
Prof. Adriano Avelar -
Site: www.adrianoavelar.com
Email: edson.avelar@yahoo.com.br
faculdadenovaroma.com.br
Ementa
faculdadenovaroma.com.br
Objetivo
faculdadenovaroma.com.br
Bibliografia Sugerida
faculdadenovaroma.com.br
Metodologia
faculdadenovaroma.com.br
Avaliação
P1
Uma prova escrita (10Pts)
Teoria sobre Paradigmas
Exercícios (Máximo de 1Pt de Bonificação)
P2
Um Prova Escrita (30% da P2)
Trabalho Prático (70% da P2)
Individual ou Dupla
Apresentar uma implementação de uma linguagem de
programação a ser definida por sorteio.
faculdadenovaroma.com.br
Observação sobre Exercícios:
faculdadenovaroma.com.br
Visão Geral da Disciplina
Paradigmas de Linguagens
Categorias de Problemas
de Programação
faculdadenovaroma.com.br
Aula de Hoje
Motivação Introdução a
Por que estudar Linguagens de
princípios e modelos Programação
de linguagens de modelos de
programação? linguagens
Características desejáveis
em linguagens de
programação
faculdadenovaroma.com.br
Princípios de Linguagens de Programação
Definição (LP)
Uma linguagem de programação é uma linguagem
artificial projetada para expressar computações
que possam ser executadas por uma máquina,
particularmente um computador
faculdadenovaroma.com.br
Porque estudar Paradigmas de LP?
faculdadenovaroma.com.br
Projeto de Linguagens de Programação
Visão de projeto:
Qual a finalidade da LP?
Qual sua diferença em relação a outras LP existentes?
faculdadenovaroma.com.br
Modelos de execução
Sequencial Concorrente
Uma computação é Múltiplas computações
realizada após o término podem ser executadas
da anterior simultaneamente
Controle de fluxo de Computações paralelas
execução interno ao Múltiplos processadores
programa: compartilham memória
Sequência Computações distribuídas
Seleção múltiplos computadores
Iteração conectados por uma
rede de comunicação
Invocações
faculdadenovaroma.com.br
Modelo de Execução/Construção
Compilada Interpretada
faculdadenovaroma.com.br
Modelo de Nível
faculdadenovaroma.com.br
Modelo de Aplicação
Científica
Algol, Fortran, Matlab
Comerciais
Cobol, Dataflex
Processamento de Listas
Lisp
Gerais
Java, C, C++, Visual Basic
Inteligência Artificial
PROLOG
Web
JSP, PHP, HTML
faculdadenovaroma.com.br
Critérios para avaliação de LP
Legibilidade
Simplicidade
Expressividade
Ortogonalidade
Confiabilidade
Portabilidade
faculdadenovaroma.com.br
Legibilidade
faculdadenovaroma.com.br
Simplicidade
faculdadenovaroma.com.br
Expressividade
faculdadenovaroma.com.br
Ortogonalidade
faculdadenovaroma.com.br
Portabilidade
Longevidade:
ciclo de vida útil do software e o do hardware não
precisam ser síncronos; ou seja, é possível usar o
mesmo software após uma mudança de hardware
faculdadenovaroma.com.br
Confiabilidade
faculdadenovaroma.com.br
Critérios para escolha de uma LP
Implementação Sintaxe
Disponibilidade quanto Certos tipos de
a plataforma; problemas acomodam-
Eficiência; se melhor a certos
modelos;
Competência na LP
Semântica
Experiência do
programador; Aplicação X facilidade;
Competência do grupo Ambiente de
envolvido; Programação
Portabilidade Ferramentas diminuem
Execução em várias o esforço;
plataformas Uso de bibliotecas
Modelo de computação
faculdadenovaroma.com.br
Estudo de Caso PHP
- Afinidade
- Confiabilidade
- Portabilidade Android
- Finalidade (web) - Afinidade
- Facilidade
MySQL - Disponibilidade de
- Ambiente de Equipamento
programação - Finalidade (Mobile)
- Afinidade
Linguagem C
- Ambiente de
Linguagem C++ programação
- Ambiente de
programação
- Código Fonte J2ME (Java Micro
Aberto Edition)
- Ambiente de
programação
faculdadenovaroma.com.br
Linguagens de Programação
faculdadenovaroma.com.br
Histórico das Linguagens de Programação
Década de 1960
Programação baseada na arquitetura do hardware
existente
Computadores caros e inacessíveis
Seqüência de instruções
Sem preocupação com reutilização de código
Exemplos de linguagens populares:
Uso acadêmico: ALGOL
Uso científico: FORTRAN
Uso comercial: COBOL
faculdadenovaroma.com.br
Histórico das Linguagens de Programação
Exemplos de linguagens
Uso acadêmico: Pascal / Modula / C
Programação de tempo real: Ada 83
Orientada a objetos: SmallTalk
faculdadenovaroma.com.br
Histórico das Linguagens de Programação
Exemplos de linguagens
Object-Pascal / Delphi
C / C++ / Objective-C
Ada83 / Ada95
Java
faculdadenovaroma.com.br
faculdadenovaroma.com.br
faculdadenovaroma.com.br
Histórico das Linguagens de Programação
Atualmente
Mecanismos alternativos de modularidade
programação orientada a aspectos
faculdadenovaroma.com.br
Linguagens mais populares de 2013
http://readme.lk/busting-bubbles-ten-popular-programming-languages/
faculdadenovaroma.com.br
Exercício (Entrega até o final da aula)
faculdadenovaroma.com.br
Exercício
Enunciado:
Apresente uma redação sobre o tema “critérios
de seleção de linguagens de programação”
Mínimo: 2 páginas
Usar o template da SBC para artigos técnicos
http://www.sbc.org.br/index.php?option=com_jdownloads&
Itemid=195&task=finish&cid=38&catid=32
faculdadenovaroma.com.br
Exercício
• Exemplo:
http://homepages.dcc.ufmg.br/~figueiredo/publications/wei07ready.pdf
faculdadenovaroma.com.br