Возможность узнать что-то новое, а не то, что вы делали раньше.
C ++ или C
Язык низкого уровня, который требует ручного управления памятью и учит вас, как все работает на более низком уровне. Хорошая база сообщества и является одним из языков, которые программист должен изучать.
Я бы предложил один из этих вариантов сборки, поскольку сборка еще ниже, создание проекта - боль. Изучение языка, такого как C или C ++, позволит вам очень быстро изучить ассемблер, если вы когда-либо захотите это сделать, поскольку относительно мало новых концепций по сравнению с переходом с Java на сборку.
Haskell
Чисто функциональный язык, который полностью меняет взгляд на некоторые проблемы. Это займет много сил, если вы уже привыкли к императивному стилю написания кода.
Он имеет большое преимущество в том, что обучает вас радостям рекурсии, и даже если вам никогда не платят за написание строки на Haskell, это должно повлиять на код, который вы пишете на других языках, что позволит вам увидеть лучшие и более чистые решения.
Java или C #
Если вы не используете PHP объектно-ориентированным способом (не только с помощью классов, но и с такими функциями, как наследование), то эти языки заставляют вас писать в ОО-стиле. Я не рекомендовал бы их, если вы довольны программированием ОО.