Люди всегда программировали на нескольких языках. Когда люди использовали Assembly, им приходится использовать новый язык Assembly каждый раз, когда они меняли архитектуру.
Когда люди делали COBOL или Fortran, они также обычно делали RPG и / или JCL.
В Unix люди будут работать с C, sed, awk, shell-сценарием и почти всем в кухонной раковине Unix (почти каждый инструмент командной строки в Unix - это свой собственный, очень специализированный DSL.)
В DOS люди будут программировать на Turbo Pascal или C в дополнение к пакетным скриптам. Позже, когда появилась Windows, это был VB или что-то вроде PowerBuilder в сочетании с SQL и, возможно, сценариями пакетной установки.
В настоящее время де-факто люди «работают» с более чем двумя языками в любой день (и «работают»). я подразумеваю фактическое повседневное кодирование или наличие рабочих знаний). Java или C # или VB, по крайней мере, смешаны с JavaScript и SQL. Затем другие языки вступают в игру для пакетного / задания сценариев и тому подобное. Затем для каждого языка у вас есть фреймворк, который сам реализует внутренний DSL, сам по себе мини-язык.
Таким образом, это не просто полезно работать с более чем одним языком, но это необходимо. Невозможно построить современную, сложную систему с одним языком (и под «сборкой» я подразумеваю не просто код какой-то хрени, которая компилируется, а создание чего-то с достойным дизайном)
Черт возьми, я выйду из состояния и скажу, что я ожидаю, что дети в колледже будут владеть двумя или более языками, если они серьезно относятся к этой профессии.
Итак, относительно вашего вопроса:
Мой главный вопрос: разумно ли мне продолжать делать это или мне следует продолжить разработку на C #? Повредит ли это мне в долгосрочной перспективе (учтите, моя главная цель - не быть мастером на все руки) или это хорошая практика?
Таким образом, короткий ответ, нет, использование или переключение между языками не принесут вам пользы. Знание более чем одного языка не сделает вас мастером на все руки, и разработчик не сможет стать экспертом, не имея возможности использовать более одного языка.