Olá Deiv.
Sim vale a pena aprender Assembly. Isso vai aumentar seu entendimento sobre a execução de programas pelo hardware com isso ajudar a estruturar seus programas para melhor aproveitamento de recursos.
Na verdade vale a pena aprender a maior variedade de linguagens que você puder, mas aconselho a procurar linguagens de paradigmas diferentes. Por exemplo você está estudando Java no momento. Deve estar aprendendo conceitos como herança, polimorfismo, métodos virtuais, classes e outras coisas relativas a Orientação a Objetos.
Você aprender C++ depois de java vai acrescentar pouco a forma como você resolve um problema.
Procura aprender uma linguagem puramente funcional que te mostre como resolver problemas sem usar objetos, classes, if, switch, while, for, em resumo qualquer conceito OO ou imperativo.