Acho que depende muito do nível de conhecimento da pessoa!.
Para um iniciante na programação eu recomendo seguir aprendendo uma linguagem só, pois é necessário aprender aquelas coisas que são comuns a todas as linguagens (como o variáveis e seus tipos, controle do fluxo do programa, atribuição, comparação e etc...).
Agora se você tem pelo menos familiaridade com o paradigma procedural e imperativo, acho válido você aprender duas linguagens diferentes, seja por paradigma (orientação à objeto de Java e funcional de Haskell por exemplo) ou seja por linguagens que resolvem um conjunto diferente de problemas (Ruby para websites e Swift para mobile por exemplo). Dessa forma você aprende a resolver diferentes tipos de problema de formas diferentes.
E como as linguagens de programação hoje em dia são multiparadigmas e resolvem um grande número de problemas (sim estou falando de você JavaScript), quase sempre um conhecimento que foi aprendido em Java ou Haskell por exemplo converte-se em um conhecimento usado por outras linguagens, e que ajuda na resolução de problemas.
Aprendendo duas linguagens de programação você pode até saber qual você acha a ferramenta mais adequada para sua área de especialização.
Claro que não podemos exagerar, aprender múltiplas linguagens ao mesmo pode acabar fazendo com que você tenha um ponto de vista muito superficial sobre uma linguagem, então realmente é melhor focar em poucas linguagens que façam sentido para você.