Ludzie zawsze programowali w więcej niż jednym języku. Kiedy ludzie używali asemblera, musieli wprowadzać nowy język asemblera za każdym razem, gdy zmieniali architekturę.
Kiedy ludzie robili COBOL lub Fortran, zwykle robili też RPG i / lub JCL.
W Uniksie ludzie pracowaliby z C, sed, awk, skryptem powłoki i prawie wszystkim w zlewozmywaku kuchennym Unix (prawie każde narzędzie wiersza poleceń w Unixie ma własną, bardzo specjalną DSL).
W DOS ludzie będą programować w Turbo Pascal lub C oprócz skryptów wsadowych. Później, kiedy pojawił się system Windows, był to VB lub coś w rodzaju PowerBuilder w połączeniu z SQL i ewentualnie skryptami instalacyjnymi.
W chwili obecnej de facto ludzie „pracują” w więcej niż dwóch językach każdego dnia (a przez „pracę” mam na myśli faktyczne codzienne kodowanie lub praktyczną wiedzę). Java, C # lub VB zmieszane przynajmniej z JavaScript i SQL. Następnie w grę wchodzą inne języki dla skryptów wsadowych / zadań itp. Następnie, dla każdego języka, masz strukturę, która sama implementuje wewnętrzną DSL, mini-język sam w sobie.
Praca z więcej niż jednym językiem jest nie tylko korzystna, ale jest konieczna. Nie ma sposobu na zbudowanie nowoczesnego, złożonego systemu w jednym języku (a przez „kompilację” nie mam na myśli tylko kodowania bzdur, które się kompilują, ale zbudowanie czegoś o przyzwoitym projekcie).
Cholera, wyjdę z kończyny i powiem, że spodziewałbym się, że dzieci w college'u będą biegle posługiwać się co najmniej dwoma językami, jeśli poważnie podchodzą do tego zawodu.
Jeśli chodzi o twoje pytanie:
Moje główne pytanie brzmi: czy mądrze jest nadal to robić, czy powinienem kontynuować rozwój w C #? Czy zaszkodziłoby mi to na dłuższą metę (pamiętajcie, że moim głównym celem nie jest bycie walorem we wszystkich transakcjach), czy też jest to dobra praktyka?
Tak więc krótka odpowiedź, nie, używanie lub przełączanie między językami nie da ci kłopotów. Znajomość więcej niż jednego języka nie sprawi, że staniesz się ekspertem od wszystkich transakcji, a programista nie może zostać ekspertem, ponieważ nie będzie w stanie używać więcej niż jednego języka.