1 / 23

Paradigmas de Linguagens de Programação

Aula 1 – Profª Danielle Costa danielle.fcosta@terra.com.br. Paradigmas de Linguagens de Programação. Linguagens de Programação (LP). O objetivo de LPs é tornar mais efetivo o Processo de Desenvolvimento de Software (PDS )

nuwa
Download Presentation

Paradigmas de Linguagens de Programação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aula 1 – Profª Danielle Costa danielle.fcosta@terra.com.br Paradigmas de Linguagens de Programação

  2. Linguagens de Programação (LP) • O objetivo de LPs é tornar mais efetivo o Processo de Desenvolvimento de Software (PDS) • PDS visa geração e manutenção de softwares de modo produtivo e com garantias de padrões de qualidade

  3. Propriedades desejadas em Softwares • Confiabilidade • Manutenibilidade • Eficiência • Desempenho

  4. Propriedades desejáveis em LPs • Legibilidade • Marcadores de Blocos if(x>1) if(x==2) x=3; elsex=4; • Desvios Incondicionais (goto)

  5. Propriedades desejáveis em LPs • Facilidade de Aprendizado • Excesso de Características é Prejudicial c = c + 1; c+=1; c++; ++c; • Eficiência • Verificação Dinâmica de Tipos • Confiabilidade • Tratamento de Exceções

  6. Propriedades desejáveis em LPs • Reusabilidade • Redigibilidade • Tipos de Dados Limitados (FORTRAN) • Ausência de Tratamento de Exceções • Portabilidade • Rigor no Projeto • Pode Contrastar com Eficiência Um dos principais benefícios do POO

  7. Conceitos Básicos • Paradigma • Léxico • Sintaxe • Semântica

  8. Paradigma • Conjunto de regras que estabelecem fronteiras (domínios) e descrevem como resolver os problemas dentro destas fronteiras. • Exemplo ou modelo que servem de norma. • Forma de representar e manipular o conhecimento.

  9. Léxico e Sintaxe • Léxico: é o conjunto de palavras que compõem a linguagem (também chamadas de palavras reservadas) • Sintaxe: em LPs é a forma de suas expressões, de suas instruções e de suas unidades de programas.

  10. Semântica • Em LPs é o significado das expressões, instruções e definição de unidades de programas: • Exemplo: a sintaxe do IF no Pascal é: IF <expressão condicional> THEN <instrução> • Significado: se o resultado da expressão condicional for verdadeiro, excecuta a instrução, do contrário não. • Necessidade de Padronização (ISSO, IEEE, ANSI)

  11. Implementação de LPs

  12. Implementação de LPs • Compilação • Eficiência • Problemas com Portabilidade e Depuração • Interpretação Pura • Flexibilidade, Portabilidade e Facilidade de Depuração • Problemas com Eficiência • Híbrido • Une Vantagens dos Outros Métodos • JVM

  13. Pense... • Se as linguagens interpretadas são menos eficientes que as linguagens compiladas, por que elas foram criadas e ainda existem?

  14. Paradigmas de LPs

  15. Exemplos • Programação estruturada, em contraste a POO • Programação imperativa, em contraste de programação declarativa • Programação de passagem de mensagens • Programação procedural, em contraste de programação funcional • Programação orientada a fluxos, em contraste de programação orientada a eventos • Programação escalar, em contraste de programação vetorial • Programação restritiva, que complementa a programação lógica • Programação orientada a aspecto • Programação orientada a regras • Programação orientada a tabelas • Programação orientada a fluxo de dados • Programação orientada a políticas • Programação orientada a testes • Programação genérica • Programação multiparadigma

  16. Paradigmas de LPs • Imperativo • Processo de Mudanças de Estados • Variável, Valor e Atribuição • Células de Memória • Declarativo • Especificações sobre a Tarefa a Ser Realizada • Abstrai-se de Como o Computador é Implementado

  17. Paradigmas de LPs: Imperativo • Estruturado • Refinamentos Sucessivos • Blocos Aninhados de Comandos • Desestímulo ao uso de desvio incondicional • Orientado a Objetos • Abstração de Dados • Concorrente • Processos Executam Simultaneamente e Concorrem por • Recursos

  18. Paradigmas de LPs: Estruturado • Funcional • Programa Composto por Funções Matemáticas • Lógico • Predicados • Dedução Automática

  19. Histórico: Evolução de LPs • Dificuldade de Programação em Linguagens de Máquina • Foco de Primeiras LPs era Eficiência de Processamento e Consumo de Memória • Baixa Produtividade de Programação • Programação Estruturada • Tipos Abstratos de Dados • Orientação a Objetos

  20. Histórico: Evolução de LPs • FORTRAN (1957) • aplicações numéricas • LISP (1959) • programação funcional • ALGOL (1960) • programação estruturada • COBOL (1960) • aplicações comerciais

  21. Histórico: Evolução de LPs • BASIC (1964) • ensino para leigos • PASCAL (1971) • ensino de programação estruturada simplicidade • C (1972) • implementação de UNIX • PROLOG (1972) • programação lógica

  22. Histórico: Evolução de LPs • SMALLTALK (1972) • programação orientada a objetos • ADA (1983) • programação concorrente • C++ (1985) • disseminação da programação orientada a objetos • JAVA (1995) • mais simples e confiável que C++ • Internet

  23. Próxima Aula.. • Tipos de Dados • Estrutura de Controles

More Related