Buscar

PARADIGMAS DE PROGRAMAÇÃO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Paradigmas de Programação 
 PARADIGMAS DE PROGRAMAÇÃO 
Prof. Claudinei Dias 
email: prof.claudinei.dias@gmail.com 
Histórico de Linguagens de Programação 
Bacharelado em Ciência da Computação 
Paradigmas de Programação 
Objetivos 
• Geral: 
– Estudar as características dos principais modelos de programação 
quanto a estruturação, interação e a relação entre as linguagens de 
programação. Estudar os tipos de técnicas de implementação 
utilizados para o desenvolvimento de programas e solução de 
problemas. 
 
• Específicos: 
– Estudar os custos de implementação; 
– Comparar técnicas entre linguagens de programação; 
– Estudar as estruturas conceituais para resolver problemas; 
– Entender alguns dos principias conflitos entre os recursos de 
linguagens. 
2 
Paradigmas de Programação 
Plano de Ensino 
• 1. Histórico de linguagens de programação 
 
– 1.1. Motivação 
– 1.2. Histórico 
– 1.3. Paradigmas de programação 
3 
Paradigmas de Programação 
Motivação 
• Adquirir habilidades de expressar ideias; 
 
• A profundidade da soluções está relacionada pelos recursos 
da linguagem com o qual está trabalhando; 
 
• Avanço do poder computacional e das tecnologias; 
 
• Aperfeiçoa-se a compreensão do significado da 
implementação; 
 
• Aprimora-se a habilidade de aprender novas linguagens. 
4 
Paradigmas de Programação 
Histórico 
1950................................................................................................. 
 
1960................................................................................................. 
 
1970................................................................................................. 
 
1980................................................................................................. 
 
1990................................................................................................. 
5 
OO Imperativo Funcional Lógico 
FORTRAN 
PROLOG 
Godel 
LISP 
ML 
Haskel 
Miranda 
ALGOL-60 COBOL 
PL BASIC 
C 
ALGOL-60 
Pascal 
Ada 
Modula2 
DBASE II 
SIMULA 
Smalltalk 
C++ 
Java Delphi 
Paradigmas de Programação 
Paradigmas de Programação 
• Programação Imperativa 
– Fortran, Pascal, PL, C 
 
• Programação Orientada a Objetos 
– Java, C++, Smalltalk 
 
• Programação Funcional 
– Lisp, Haskel 
 
• Programação Lógica 
– Prolog 
6 
Paradigmas de Programação 
Paradigma Imperativo 
• Primeiro paradigma que surgiu 
 
• Programas desenvolvidos por variáveis e comandos 
 
• Também denominado de paradigma procedural 
 
• Vantagens: 
– Eficiência (modelo de Von Neumann) 
– Modelagem “natural” de aplicações do mundo real 
– Paradigma dominante 
 
• Problemas: 
– Relacionamento indireto E/S ocasionando difícil legibilidade, erros 
durante manutenção 
7 
Paradigmas de Programação 
Paradigma Orientado a Objetos 
• É um sub-paradigma do imperativo 
 
• O diferencial é a metodologia quanto a modelagem do 
sistema 
• É estruturada em módulos (classes) que agrupam operações 
(métodos) 
 
• Vantagens: 
– Todas as do paradigma imperativo 
– Classes: modularidade, reusabilidade e extensibilidade 
• Problemas: 
– Semelhantes ao do imperativo 
8 
Paradigmas de Programação 
Paradigma Funcional 
• Modelagem por funções que descrevem relações explicitas e 
precisa 
 
• Estilo declarativo sem comandos como atribuição 
 
• Vantagens: 
– Manipulação de programas mais simples 
– Prova de propriedade 
– Transformações de otimização 
 
• Problemas: 
– Mecanismos primitivos de E/S 
9 
Paradigmas de Programação 
Paradigma Lógico 
• Modelagem com relações entre E/S 
 
• Estilo declarativo mas na prática assume características 
imperativas 
 
• Vantagens: 
– Todas do funcional 
– Alto nível de abstração 
 
• Problemas: 
– Todos do paradigma funcional 
– Não possuem tipos de dados 
10 
Paradigmas de Programação 
Características importantes em LP 
Legibilidade 
 
 É o quanto o código é de fácil leitura e compreensão, quanto 
maior a legibilidade, mais fácil será de entender o código e 
achar erros de programação. 
 
 Por exemplo o uso do goto (como o switch, case em C), 
dificulta o acompanhamento lógico da leitura do código, ou 
também o operador ‘*’ em C, que é usado tanto para 
operação de multiplicação quanto para uso de ponteiros. 
 
(Mattos, Renato. Linguagem de Programação). 
11 
Paradigmas de Programação 
Características importantes em LP 
Confiabilidade 
 
 É o quanto pode-se confiar em um código de uma linguagem, 
ou seja, uma linguagem com uma boa confiabilidade, não 
propicia erros de programação, assim sendo a confiabilidade 
está relacionada a legibilidade. 
 
 Quando uma linguagem possui recurso de tratamento de 
exceções, também aumenta a confiabilidade, pois é mais 
difícil o programador esquecer de tratar a exceção ou de 
tratar de forma errada. 
 
(Canalle, Gabrielle K. ; de Araújo C. Everton. 
C/C++ e Java: Principais Características). 
12 
Paradigmas de Programação 
Características importantes em LP 
Eficiência 
 
 É o quanto os códigos são mais eficientes, atingem seus 
objetivos de maneira rápida, segura. 
 
 Essa característica pode variar de código para código, um site 
de um banco, por exemplo, é preciso ser seguro, rápido, de 
fácil acesso, de fácil uso, etc. Essas características são critérios 
de eficiência. 
13 
Paradigmas de Programação 
Características importantes em LP 
Facilidade de aprendizado 
 
 Está diretamente relacionado à legibilidade, pois se um código 
não tem boa legibilidade, não tem uma fácil compreensão do 
código, e não terá um aprendizado fácil. 
 
 Facilidade de Aprendizado é o quanto é simples para algum 
programador que não conheça a linguagem, aprende-la. Uma 
linguagem com uma boa facilidade de aprendizado, tem uma 
boa legibilidade e é simples de entende-la. 
 
14 
Paradigmas de Programação 
Características importantes em LP 
Ortogonalidade 
 
 É a capacidade da linguagem de programação de deixar o 
programador usar seus conceitos básicos sem que se tenha 
efeitos não desejados ou aleatórios, ou seja, quanto menos 
exceções de código a linguagem permite. 
 
 Por exemplo a não necessidade de declaração do tipo da 
variável, é ruim tanto para a legibilidade quanto para a 
ortogonalidade. 
 
(Mattos, Renato. Linguagem de Programação). 
15 
Paradigmas de Programação 
Características importantes em LP 
Modificabilidade 
 
 São as facilidade oferecidas pela linguagem para que se mude 
uma parte do código tendo que mudar o mínimo possível as 
outras partes. 
 
 Por exemplo uma linguagem Orientada a Objetos possui essa 
característica, pois é uma característica forte do próprio 
paradigma, outro exemplo são as constantes que algumas 
linguagem permitem ser declaradas, assim se for necessário 
mudar a constate, muda-se uma vez na sua declaração e não 
no seu uso. 
 
(Mattos,Renato. Linguagem de Programação). 
16 
Paradigmas de Programação 
Características importantes em LP 
Portabilidade 
 
 É a capacidade do código de fazer a mesma coisa em 
diferentes plataformas ou sistemas operacionais 
independentemente da ferramenta utilizada para traduzi-lo. 
 
 Assim um mesmo programa pode ser utilizado em diversos 
ambientes e situações sem que seja necessário fazer uma 
reescrita de código para adaptá-lo em um novo ambiente ou 
situação 
 
 (Mattos,Renato. Linguagem de Programação). 
17 
Paradigmas de Programação 
Características importantes emLP 
Reusabilidade 
 
 É a capacidade de se utilizar o mesmo código, ou trecho do 
código em outra situação, outra característica forte do 
paradigma orientado a objetos, assim as linguagem que 
seguem a esse paradigma são de alta reusabilidade. 
 
 Essa é uma característica muito boa que se faz ganhar 
bastante tempo e consequentemente, dinheiro quando se 
trata de se desenvolver vários softwares. 
18 
Paradigmas de Programação 
Características importantes em LP 
19 
x 
Paradigmas de Programação 
Bibliografia da Disciplina 
20 
BIBLIOGRAFIA : 
PRATT, T. W., ZELKOVITZ, M. Programming Languages: Design and Implementation. 4ªed. 
Prentice Hall, 2001. ISBN 0130276782. 
 
MICHELL, JOHH C. Concepts in Programming Languages. Cambridge University Press, 2003. 
 
SEBESTA, R.W. Conceitos de Linguagens de Programação. 5a ed. Editora Bookman. 2003. ISBN 
8536301716. 
 
VAREJÃO, F.M. Linguagens de Programação. Editora Campus. 2005. ISBN 8535213171. 
Paradigmas de Programação 
 PARADIGMAS DE PROGRAMAÇÃO 
Prof. Claudinei Dias 
email: prof.claudinei.dias@gmail.com 
Histórico de Linguagens de Programação 
Bacharelado em Ciência da Computação

Continue navegando