Histórico de Linguagens de Programação

Documentos relacionados
Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina)

Linguagens de Programação. Introdução. Carlos Bazilio

Linguagens de Programação

Aula 1 Java Prof. Dr. Sylvio Barbon Junior

Revisão: linguagens de programação

Linguagens de Programação

Paradigmas de Linguagens

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Nomes, vinculações e escopos

Nomes, vinculações e escopos

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Fundamentos de Programação 1

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Paradigmas de Linguagens

Paradigmas de Programação

PLANO DE UNIDADE DIDÁTICA- PUD

Linguagem de Programação e Compiladores

Linguagens de Programação 10 Avaliação de Linguagens

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

1 Introdução à Programação O que é? Para que serve?... 1

Linguagens de Programação Princípios e Paradigmas

Paradigmas de Linguagem de Programação. Aspectos Básicos

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Estudos de Linguagens de Programação - Revisão

Paradigmas de Programação

Paradigmas de Programação

Carga Horária: 60 h Créditos: 3 Pré-requisito: Não se aplica Professor(a): A definir Matricula: A definir Titulação: A definir

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Linguagens de Programação

Capítulo 1. Aspectos Preliminares

Programação de Computadores

Introdução à Orientação a Objetos

Expressões e sentença de atribuição

LINGUAGENS DE PROGRAMAÇÃO PROGRAMA E BIBLIOGRAFIA

Métodos de implementação de linguagens. Kellen Pinagé

Linguagens de Programação Conceitos e Técnicas. Amarrações

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

3. Linguagem de Programação C

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Programação I Apresentação

Paradigmas de Programação

Linguagens de Programação Aula 3

Introdução à Computação

Capítulo 7. Expressões e Sentenças de Atribuição

Linguagens de Programação Aula 2

Linguagens de Programação

Projeto de Linguagem. Linguagens de Programação

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 5

Capítulo 5. Nomes, Vinculações e Escopos

Paradigmas de Linguagem de Programação. Linguagens de Programação Análise histórica e atual

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO

Informática I. Aula 9. Aula 9-17/05/2006 1

Linguagem Funcional Haskell

Introdução à Análise e Projeto de Sistemas

Nomes, vinculações e escopos

Transcrição:

Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com

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

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

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

Histórico 1950... FORTRAN 1960... ALGOL-60 COBOL SIMULA LISP 1970... Pascal Smalltalk PROLOG 1980... Ada DBASE II Godel 1990... Haskel Java C++ Delphi ALGOL-60 Modula2 PL BASIC OO Imperativo Funcional Lógico C ML Miranda 5

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

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

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

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

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

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

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

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

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

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

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

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

Características importantes em LP 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

Características importantes em LP x 19

Bibliografia da Disciplina 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. 20

Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com