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