Linguagens de programação evoluem
Novas linguagens de programação geralmente aprendem com os idiomas existentes e adicionam, removem e combinam recursos de uma nova maneira. Existem alguns paradigmas diferentes, como orientado a objetos e funcional , e muitas linguagens modernas tentam misturar recursos de ambas.
Há também novos problemas que precisam ser resolvidos, por exemplo, o aumento de CPUs multi-core. A solução mais comum para isso tem sido threads, mas algumas linguagens de programação tentam resolver o problema de simultaneidade de uma maneira diferente, por ex. o modelo de ator. Veja Erlang - Software para um mundo concorrente