Linguagem de programação para propósitos diversos

Em um software, uma linguagem de programação para propósitos diversos é uma linguagem de programação projetada para ser usada para escrever um software em uma larga variedade de domínios de aplicação (uma linguagem de propósito geral). Em muitas formas uma linguagem de propósito geral apenas tem este status porque não inclui construções de linguagem projetadas para serem usadas dentro de um domínio de aplicação específico (por exemplo, uma linguagem de descrição de página contém construções planejadas para tornar mais fácil escrever programas que controlam o layout de texto e gráficos em uma página).

Uma linguagem de domínio específico é uma projetada para ser usada dentro de um domínio de aplicação específico.

História

As primeiras linguagens de programação foram projetadas para computação científica (cálculos numéricos) ou processamento de dados comerciais, assim como o hardware do computador. Linguagens científicas como Fortran e Algol suportavam cálculos de ponto flutuante e matrizes multidimensionais, enquanto linguagens de negócios como COBOL suportavam formatos de arquivo de campo fixo e registros de dados. Muito menos usadas eram linguagens especializadas como IPL-V e Lisp para processamento de lista simbólica; COMIT para manipulação de cadeia de caracteres; e APT para máquinas controladas numericamente. A programação de sistemas que exigia manipulação de ponteiros era normalmente feita em linguagem assembly, embora Jovial fosse usada para algumas aplicações militares.

O System/360 da IBM, anunciado em 1964, foi projetado como uma arquitetura de hardware unificada, suportando aplicações científicas e comerciais, e a IBM desenvolveu a PL/I para ele como uma linguagem única e de uso geral. De fato, um subconjunto da PL/I foi usado como linguagem de programação de sistemas padrão para o sistema operacional Multics .

Desde a PL/I, a distinção entre linguagens de programação científicas e comerciais diminuiu, com a maioria das linguagens agora suportando ambos ramos, com grande parte do tratamento de formatos de arquivo especiais sendo delegado a sistemas de gerenciamento de banco de dados especializados.

Muitas linguagens especializadas também foram desenvolvidas a partir da década de 1960: Simula e várias outras para simulação de eventos discretos; BASIC, Logo e Pascal para ensino de programação; C para programação de sistemas; JOSS e APL\360 para programação interativa.[1]

  1. Jean E. Sammet, "Programming Languages: History and Future", Communications of the ACM 15:7:601-610 (July 1972) doi:10.1145/361454.361485