Linguagem de programação
Mesmo com essa abundância de linguagens, a sobreposição dos conceitos comuns é muito grande. Se observamos a criação de linguagens nos últimos dez anos, é fácil perceber que há pouquíssima evolução em termos de estruturas e conceitos. Perl, Python, PHP, Java, C, C++, C# e Delphi apresentam diferenças mínimas entre si. E, na maioria das vezes, essas diferenças não passam de um “açúcar sintático” que simplesmente mudam a maneira de escrever determinadas construções, sem alterar a semântica das mesmas. Pelas listas mencionadas anteriormente, pode-se também perceber que muitas linguagens não passam de pequenas ligeiras variações de uma linguagem base. Para esclarecer, a palavra evolução aqui está sendo usada para denotar reais mudanças de conceitos em oposição às mudanças que ocorrem devido à escolha de características para uma linguagem em função de necessidades e/ou gostos pessoais. Embora as linguagens citas acima sejam todas imperativas, o mesmo padrão é repetido em outras classes de linguagens. Por exemplo, a maioria das linguagens funcionais não ultrapassam muito dos paradigmas vistos em LISP. Para compensar essa homogeneidade, o foco de desenvolvimento parece ter mudado atualmente para a criação de metodologias que empregam melhor as linguagens já existentes. Extreme Programming e UML são exemplos dessa tendência. São técnicas que se encaixam em praticamente qualquer tipo de linguagem de programação, mas não alteram fundamentalmente as mesmas. Um outro foco é a criação de grandes bibliotecas que cercam, muitas vezes de maneira inferior, as limitações de algumas linguagens.
Os anos 1980 foram anos de