Evolução das Principais Linguagens de Programação Marcelo Marinho ([email protected])

25
Evolução das Principais Linguagens de Programação Marcelo Marinho ([email protected])

Transcript of Evolução das Principais Linguagens de Programação Marcelo Marinho ([email protected])

Page 1: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Evolução das Principais

Linguagens de

ProgramaçãoMarcelo Marinho

([email protected])

Page 2: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Linguagens que introduziram conceitos importantes e que ainda estão em uso:

1955 - 1965 FORTRAN (FORmula TRANslation)COBOL (COmmon Business Oriented Language)ALGOL 60 (ALGorithmic Oriented Language) LISP (LISt Processing)APL (A Programming Language)BASIC (Beginners All-purpose Symbolic

Instruction Code

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 3: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

1965 – 1971 (LP's baseadas em ALGOL)

PL/I (Programming Language I) SIMULA 67 ALGOL 68 PASCAL

Linguagens dos anos 80

PROLOG (PROgramming in LOGic) SMALL TALK C MODULA 2 ADA Java

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 4: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

FORTRAN (FORmula TRANslation)

Desenvolvida em 1956 por John Backus (Univ. Stanford); 1a LP de alto nível; Resolução de problemas científicos; Ainda usada no meio técnico-científico; Inicialmente para o IBM 704, hoje existem diversas

versões; Vasta biblioteca de rotinas (redução de custo e tempo).

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 5: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Contribuições de FORTRAN:

Variáveis;Comando de atribuição;Conceito de tipos;Modularidade (subprogramas);E/S formatadas.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 6: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

COBOL (Common Business Oriented Language) Desenvolvida em 1959 pelo Departamento de Defesa dos

EUA e fabricantes de computadores; Se tornou uma linguagem padrão para aplicações

comerciais; Desenvolvimento independente de máquina.

Contribuições: Código mais legível (“English-like”); Estrutura de Dados Heterogênea

Registro (record)

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 7: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

ALGOL 60 (ALGorithmic Oriented Language)Origem européia (1958);1ª linguagem estruturada;Resolução de problemas científicos; Influenciou quase todas as suas sucessoras;Pouco usada comercialmente, pois não tem

facilidades de E/S;Tornou-se padrão para a publicação de

algoritmos.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 8: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Contribuições do ALGOL 60:

Estrutura de blocosEscopo de variáveis e influência de

comandos de controleComandos de controle estruturadosif-then-elseRecursividade.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 9: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

LISP (LISt Processing)Criada em 1960, por John McCartly (IA/MIT);1ª linguagem funcional;Criada para pesquisa em IA;Muitos dialetos (linguagem não padronizada);Padrão informal: Common LISP, 1981.

ContribuiçõesPioneira na computação simbólica ou

não-numérica.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 10: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

APL (A Programming Language)

Desenvolvida em 1960 por Kenneth Iverson (IBM);

Utiliza notação matemática com operadores poderosos;

Difícil implementação;Notação compacta para aplicações

matemáticas;Modelo funcional (sua principal estrutura é o

array).Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 11: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

BASIC (Beginners All-purpose Symbolic Instruction Code)

Desenvolvida em 1965 por John Kemeny e Thomas Kurtz (Dartmouth College);LP de fácil aprendizado;Com o surgimento dos microcomputadores

(70) tornou-se muito popular;Não contribuiu muito tecnologicamente.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 12: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Contribuições do BASIC:

Ofereceu ambiente de programação interativo.

Programa BASIC: seqüência de instruções que são executadas na ordem em que são descritas a menos que um desvio seja indicado.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 13: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

PL/I (Programming Language I)Desenvolvida em meados da década de 60 pela

IBM;Objetivo: incluir as características das LPs

existentes numa única linguagem de propósito geral: Estrutura de bloco, de controle e recursividade (do ALGOL 60); Subprogramas e E/S formatadas (FORTRAN); Manipulação de arquivos e registros (COBOL); Alocação dinâmica de memória e estruturas encadeadas (LISP); Operações com arrays (APL);

Linguagem complexa de difícil aprendizado.Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 14: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Contribuições de PL/I:

Tratamento de interrupção;Multitarefa (concorrência).

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 15: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

SIMULA 67 Baseada em ALGOL 60; Criada em 1967 por Ole Johan Dahl e Kristan

Nygaard, na Noruega; Propósitos: descrição de sistemas e simulações.

Contribuições:Conceito de classe: encapsulamento de dados e

procedimentos. Predecessor às classes das linguagens orientadas a objeto.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 16: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

ALGOL 68 Muito diferente de ALGOL 60; LP de propósito geral; Projetada para a comunicação de algoritmos e para

execução em vários computadores; Sua difícil descrição resultou em baixa popularidade.

Contribuições: Ortogonalidade: número de construtores básicos e um

conjunto de regras para combiná-los relativamente pequeno.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 17: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

PASCALCriada por Niklaus Wirth, em 1969;Linguagem de fácil aprendizado e

implementação;Suporta programação estruturada;Adequada para o ensino de programação; Influenciou quase todas as linguagens mais

recentes.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 18: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Contribuições de Pascal:

Estruturas de controle flexíveis;Tipos definidos pelo usuário;Arquivos;Registros (Records);Conjuntos.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 19: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

PROLOG (PROgramming in LOGic)

Desenvolvida em 1972, em Marseille (França);

Para aplicações de IA;Baseada em lógica formal;1ª linguagem Lógica.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 20: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

SMALL TALK

Criada por Alan Kay da XEROX (Palo Alto – EUA), no início dos anos 1970;

Possui ambiente de programação com menus pop-up, windows (janelas) e mouse;

Paradigma Orientado a Objetos;Conceito de classe do SIMULA 67 mais

herança e instanciação.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 21: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Contribuições de SMALL TALK :

1ª linguagem a utilizar o paradigma de programação OO;

Introduz o conceito de LP extensível

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 22: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

CCriada por Dennis Ritchie, nos laboratórios AT&T-Bell, em 1972;Padronizada pelo comitê ANSI-C em 1983;Linguagem de alto nível com facilidades para a programação em baixo nível;Gera código executável eficiente;Alta portabilidade;Grande conjunto de operadores.

Page 23: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

MÓDULA 2

Criada por Niklaus Wirth no final dos anos 70;Linguagem de propósito geral;Baseada em melhorias no PASCAL;Desenvolvimento de software de grande

porte;Também usada para ensinar programação.

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 24: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

ADA Criada no início dos anos 70, pelo Departamento de Defesa dos EUA; Baseada em Pascal; Padronizada em 1983; Utiliza o conceito de classes do SIMULA 67; Tratamento de exceções de PL/I; Facilidades para o processamento concorrente; Para aplicações:

Numéricas; Que envolvem concorrência; Que envolvem tempo real;

Seu nome é uma homenagem à ADA Augusta, 1ª programadora (século 19).

Estudo de Linguagens de Programação - Prof. Marcelo Marinho

Page 25: Evolução das Principais Linguagens de Programação Marcelo Marinho (marinho.mlm@gmail.com)

Histórico

C++ Desenvolvida em 1983 (AT&T); Linguagem Orientada a Objetos; Formadas pela linguagem C adicionada de um conjunto de

instruções voltados à OO; Quem sabe programar em C conhece a maior parte de C++;

JAVA Desenvolvida em 1994 pela Sun Microsystems; Linguagem Orientada a Objetos; Conta com recursos para programação distribuída; Sintaxe parecida com C++; Linguagem híbrida muito utilizada na Internet

Estudo de Linguagens de Programação - Prof. Marcelo Marinho