CLU (linguagem de programação)CLU é uma linguagem de programação criada pelo MIT pela estudante Barbara Liskov entre 1974 e 1975. Utiliza construtores para tipos de dados abstratos, um primeiro passo para a programação orientada a objeto (OOP) largamente utilizada a partir da década de 1990, mas havia muitas outras características da orientação a objeto que não estavam incluídas da CLU, como herança. HistóriaO propósito da linguagem CLU foi prover suporte linguístico à abstração de dados. Segundo Barbara Liskov, a linguagem CLU foi a primeira linguagem implementada a atingir este objetivo.[1] Embora inicialmente o objetivo não fosse produzir uma nova linguagem, logo este objetivo surgiu entre a primavera e o verão de 1973.[1] O objetivo principal do projeto foi a pesquisa em metodologia de programação. CLU foi projetada como uma linguagem de propósito geral embora mais voltada á computação simbólica do que à computação numérica. O projeto iniciou-se em 1974 com quatro projetistas: Barbara Liskov e três estudantes Russ Atkinson, Craig Schaffert e Alan Syder. Após algum tempo, outros estudantes se juntaram ao grupo. Entre os princípios seguidos pelo grupo se destacaram:
CLUstersUm programa CLU consiste de um grupo de módulos. Três tipos de módulos são disponibilizados: Procedures, Iterators e Clusters. Uma procedure executa uma ação em zero ou mais argumentos e termina retornando zero ou mais objetos. Um iterator realiza a computação de uma seqüencia de itens baseado em seus argumentos. Um cluster implementa uma abstração de dados, que é um conjunto de objetos e um conjunto de operações primitivas para criar e manipular estes objetos. As operações podem ser tanto procedurais quanto abstrações de controle.[2] A sintaxe da CLU foi baseada em ALGOL. Sintaxe CLU para a implementação de números complexos: complex_number = cluster is add, subtract, multiply, .... rep = record [ real_part: real, imag_part: real ] add = proc ... end add; subtract = proc ... end subtract; multiply = proc ... end multiply; ... end complex_number; CLU não suporta conversão explícita de tipos de dados. Existe um único tipo de dado universal que é representado por any e um procedimento force[] que "força" um tipo de dado que o programa queira. Influências do CLU em outras linguagens
Ver tambémReferências
Ligações externas
|