Atualmente o foco de desenvolvimento parece ter mudado para a criacao de grandes bibliotecas que cercam, muitas vezes de maneira inferior, as limitacoes de algumas linguagens. Outro foco e a criacao de metodologias que empregam melhor as linguagens ja existentes, como exemplo dessa tendencia pode-se citar: Extreme Programming e UML (Unified Modeling Language) que sao tecnicas que se encaixam em praticamente qualquer tipo de linguagem de programacao, mas nao alteram fundamentalmente as mesmas. UML e uma linguagem de modelagem nao proprietaria de terceira geracao, nao e uma metodologia de desenvolvimento, o que significa que ela nao diz para voce o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicacao entre objetos. Basicamente, a UML permite que desenvolvedores visualizem os produtos de seu trabalho em diagramas padronizados. Junto com uma notacao grafica, a UML tambem especifica significados, isto e, semantica. E uma notacao independente de processos, embora o RUP (Rational Unified Process) tenha sido especificamente desenvolvido utilizando a UML. Programacao extrema (do ingles eXtreme Programming), ou simplesmente XP, e uma metodologia agil para equipes pequenas e medias e que irao desenvolver software com requisitos vagos e em constante mudanca. Para isso, adota a estrategia de constante acompanhamento e realizacao de varios pequenos ajustes durante o desenvolvimento de software. Os quatro valores fundamentais da metodologia XP sao: comunicacao, simplicidade, feedback e coragem. A partir desses valores, possui como principios basicos: feedback rapido, presumir simplicidade, mudancas incrementais, abracar mudancas e trabalho de qualidade.Dentre as variaveis de controle em projetos (custo, tempo, qualidade e escopo), ha um foco explicito em escopo. Para isso, recomenda-se a priorizacao de funcionalidades que representem maior valor possivel para o negocio. Desta forma, caso seja necessario a diminuicao de escopo, as funcionalidades menos valiosas serao adiadas ou canceladas. A XP incentiva o controle da qualidade como variavel do projeto, pois o pequeno ganho de curto prazo na produtividade, ao diminuir qualidade, nao e compensado por perdas (ou ate impedimentos) a medio e longo prazo. Todd Proebsting, um pesquisador da Microsoft, argumenta que o problema mais importante na criacao de uma linguagem de programacao moderna e como melhorar a produtividade do programador ja que o hardware hoje e suficientemente poderoso e nao requer que compiladores otimizem massivamente o codigo e os dados de um programa para obter uma boa performance. Proebsting diz que algoritmos e modelagem apropriada sao suficientes para o desenvolvimento de programas eficientes em compiladores modernos e que criadores de linguagens deveriam se preocupar com meios de ajudar programadores a desenvolverem bons programas rapidamente, corretamente e facilmente. Segundo ele, linguagens de programacao sao o local certo para resolver o problema ja que elas estao na raiz do processo, em oposicao a engenharia de software e analise. Nesta mesma linha de pensamento, Paul Graham, em um artigo baseado em uma palestra que ele deu na PyCon, tenta imaginar como as linguagens de programacao serao daqui a cem anos. Ele argumenta que as linguagens do futuro provavelmente serao baseadas em um nucleo limpo e conciso contendo todos os axiomas