Paradigmas de Linguagens de Programação Aula 2

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Augusto NevesJoão CarlosRodrigo Paula Linguagem de Programação C++ Componentes do Grupo.
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como.
Sistemas operacionais
Paradigmas de Programação
Conteúdo: - Operadores.
Projeto de Sistemas de Software
Prof. Heloise Manica Paris Teixeira
Ricardo Jacobi Linguagem C Introdução Linguagens de Programação Fatores de Qualidade em Software Estilos de Programação Manutenção em Software Histórico.
INTRODUÇÃO À PROGRAMAÇÃO
Rafael Pinto Frederico Corrêa
APL/SNOBOL As primeiras linguagens dinâmicas
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Curso Sistemas de Informação Disciplina: Arquitetura de Software
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
Aula 2 Aspectos Preliminares
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Paradigmas de Linguagens de Programação Introdução Professor: Armando Hage Belém-2008.
Universidade do Vale do Rio dos Sinos
Configuração de manutenção
Programação Avançada Prof. Natalia Castro Fernandes
Projeto de Sistemas de Software
Linguagem de programação I A
Caracterização e Objetivos das LP
Avaliação da Linguagem de Programação
Estudo dos Conceitos e Paradigmas de Programação
Paradigmas de Linguagens de Programação Linguagem Imperativa 2
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Prof. Luciano R. Coutinho © 2001,02,07
Modelos de Processo de Software
02/08/2011 Professor Leomir J. Borba- –
Orientação a Objetos Parte I
Programação Orientada à Objetos
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Paradigma funcional.
Introdução a Linguagens de Programação
Analise Semântica aula-10-analise-semântica.pdf.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Algumas notas sobre a linguagem de programação C
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
Métodos Formais.
Aula 1 – Profª Danielle Costa
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
Linguagens de Programação Introdução Prof. Renato Melo.
Critérios de Avaliação das Linguagens de Programação
COMPILADORES 04 Prof. Marcos.
Semântica de Linguagens de Programação
Infra-Estrutura de Software
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Engenharia de Software
Engenharia de Software
Introdução Sintaxe Básica da Linguagem JAVA
PROGRAMAÇÃO II – PARTE 1 Profa. Maria Augusta Constante Puget.
Evolução das Principais Linguagens de Programação
Paradigmas de Programação
Módulo II Capítulo 1: Orientação a Objetos
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Influencias sobre o Projeto da Linguagem
TÉCNICAS DE ESTIMATIVAS
MATA56 Tipos, Verificação de Tipos Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave – nomes.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Paradigmas de Linguagens de Programação Aula 2 Flávia Falcão

Domínios de Programação Aplicações científicas Aplicações comerciais Inteligência artificial Sistemas básicos Aplicações Internet

Modelos de Linguagens de Programação Linguagens imperativas programação orientada a procedimentos programação orientadas a objetos Linguagens concorrentes programação paralela programação distribuída Linguagens funcionais programação funcional programação em lógica

Caracteristicas de uma LP Legibilidade Simplicidade Expressividade Ortogonalidade Portabilidade confiabilidade

Característica: legibilidade (1) Facilidade de ler e escrever programas Legibilidade influi: desenvolvimento e depuração de programas manutenção de programas desempenho de equipes de programação

Característica: legibilidade(2) Fatores que melhoram a legibilidade: Abstração de dados Comandos de controle Modularização de programas Documentação Convenções léxicas, sintaxe e semântica Exemplo em Java: nomes de classes iniciam por letra maiúscula, nomes de campos com letra minúscula.

Característica: simplicidade(1) Representação de cada conceito seja simples de aprender e dominar Simplicidade sintática exige que a representação seja feita de modo preciso, sem ambigüidades contra-exemplo: A++; A=A+1; A+=1; ++A. Simplicidade semântica exige que a representação possua um significado independente de contexto contra-exemplo: private: B b; class B: private A

Característica: simplicidade(2) Simplicidade não significa concisão A linguagem pode ser concisa mas usar muitos símbolos especiais Exemplo: linguagens funcionais

Característica: expressividade(1) Representação clara e simples de dados e procedimentos a serem executados pelo programa Exemplo: tipos de dados em Pascal Expressividade x concisão muito concisa: falta expressividade? muito extensa: falta simplicidade?

Característica: expressividade(2) Linguagens mais modernas: incorporam apenas um conjunto básico de representações de tipos de dados e comandos aumentam o poder de expressividade com bibliotecas de componentes Exemplos: Pascal, C++ e Java

Característica: ortogonalidade(1) Possibilidade de combinar entre si, sem restrições, os componentes básicos da LP Exemplo: permitir combinações de estruturas de dados, como arrays de registros Contra exemplo: não permitir que um array seja usado como parâmetro de um procedimento Componente de primeira ordem: pode ser livremente usado em expressões, atribuições, como argumento e retorno de procedimentos

Característica: ortogonalidade(2) Influenciada pelo modelo de LP Modelo de Objetos: objeto Modelo funcional: funções

Característica: portabilidade (1) Multiplataforma: capacidade de um software rodar em diferentes plataformas sem a necessidade de maiores adaptações Sem exigências especiais de hardware/software Exemplo: aplicação compatível com sistemas Unix e Windows

Característica: portabilidade (2) 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

Característica: confiabilidade(1) Mecanismos que facilitem a produção de programas que atendam às sua especificações Tipagem forte: o processador da linguagem deve assegurar que a utilização dos diferentes tipos de dados seja compatível com a sua definição evitar que operações perigosas, tal como aritmética de ponteiros,seja permitida

Característica: confiabilidade(2) Tratamento de exceções: sistemas de tratamento de exceções permitem construir programas que : possuam definições de como proceder em caso de comportamento não usual possibilitem tanto o diagnóstico quanto o tratamento de erros em tempo de execução