Características das Principais Linguagens
FORTRAN
- Computação científica
- Variáveis e atribuição, tipos, subprogramas, I/O formatada
- John Backus, IBM, USA
COBOL
- Aplicações comerciais
- Arquivos, registros, código verboso
- Ausência de subprogramas
- Comitê, DoD, USA
ALGOL-60
- Computação científica
- Blocos, recursão, programação estruturada
- Difícil de implementar, sintaxe complicada
- Comitê Internacional
LISP
- Computação simbólica e IA
- Funções, recursão, listas, ausência de
variáveis, interpretador, ambiente flexível, confusão
entre programas e dados
- Ausência de tipos
- Grupo de IA, MIT
PL/I
- Propósito geral
- Exceções, multi-tarefa (baixo nível), ponteiros
- Mistura de FORTRAN, COBOL e ALGOL-60, muito complicada e
mal projetada
- Grupo da IBM, USA
SIMULA
- Simulação
- Classes, objetos, herança, co-rotinas
- Ausência de encapsulamento
- Norwegian Computer Centre
ALGOL-68
- Propósito geral
- Ortogonalidade, procedimentos de alta ordem, tipos de dados
definidos pelo usuário
- Díficil de aprender, implementar e entender a descrição
- Comitê, Europa
Pascal
- Ensino de programação
- Tipos de dados definidos pelo usuário, simplicidade,
conjuntos
- Niklaus Wirth, Suiça
Prolog
- IA, prova de teoremas
- Relações, predicados, unificação, características
meta-lógicas
- Ausência de tipos fortes
- Universidades, França
Smalltalk
- Propósito geral
- Orientação a objetos "pura", ambiente de programação
gráfico, programação exploratória
- Ausência de tipos
- PARC, Xerox, USA
C
- Implementação do UNIX, propósito geral
- Assembly independente de hardware, portável, flexível
- Baixo nível, aritmética de ponteiros, ausência de
tipos fortes, coercions
- Bell Labs, USA
Modula-2
- Propósito geral
- Módulos, ADTs, co-rotinas
- Módula 3: orientação a objetos, concorrência
- Niklaus Wirth, Suiça
Ada
- Sistemas Software/Hardware
- Módulos, ADTs, exceções, multi-tarefa, rendezvous,
parametrização de módulos
- Tony Hoare: "Pascal, like AlGOL-60 before it, was an advance over
its successors"
- ADA-95 (complexa, orientação a objetos)
- Concorrência, DoD, USA
C++
- Propósito geral
- C com orientação a objetos, classes parametrizadas
- Baixo nível, uso irestrito de ponteiros, ausência de encapsulamento,
interfaces explícitas entre módulos, e tipos fortes
- Bjarne Stroustrup, Bell Labs, USA
Eiffel
- Propósito geral
- Orientação a objetos, classes parametrizadas, asserções,
exceções, bem projetada
- Ausência de módulos
- Bertrand Meyer, ISE, Europa (e USA)
Haskell
- Propósito geral
- Não estrita, puramente funcional, overloading, tipos
- Comitê Internacional