È sempre stato il caso per le persone di programmare usando più di una lingua. Quando le persone usavano Assembly, devono usare un nuovo linguaggio Assembly ogni volta che cambiano architettura.
Quando le persone facevano COBOL o Fortran, in genere facevano anche giochi di ruolo e / o JCL.
In Unix, le persone lavoravano con C, sed, awk, shell script e praticamente tutto nel lavello della cucina Unix (quasi tutti gli strumenti da riga di comando in Unix sono i suoi DSL, molto speciali).
In DOS, le persone avrebbero programmato in Turbo Pascal o C oltre agli script batch. Più tardi, quando arrivò Windows, era VB o qualcosa di simile a PowerBuilder accoppiato con SQL e probabilmente script di installazione batch.
Al giorno d'oggi, è di fatto che le persone "lavorano" con più di due lingue in un dato giorno (e per "lavoro" intendo fare la codifica quotidiana o avere conoscenze di lavoro). Almeno Java o C # o VB miscelati con JavaScript e SQL. Quindi entrano in gioco altre lingue per lo scripting batch / lavoro e simili. Quindi, per ogni lingua, hai un framework che implementa esso stesso un DSL interno, un mini-linguaggio a sé stante.
Pertanto, non è solo utile lavorare con più di una lingua, ma è necessario. Non c'è modo di costruire un sistema moderno e complesso con un solo linguaggio (e per "costruire" non intendo solo codificare qualche schifezza che si compila, ma costruire qualcosa con un design decente).
Cavolo, uscirò da un arto e dirò che mi aspetterei che i bambini al college siano competenti in due o più lingue se sono seriamente intenzionati a svolgere questa professione.
Quindi, per quanto riguarda la tua domanda:
La mia domanda principale è: è saggio che continui a farlo o dovrei continuare lo sviluppo in C #? Questo mi danneggerebbe a lungo termine (intendiamoci, il mio obiettivo principale non è quello di essere un tuttofare) o è una buona pratica da fare?
Quindi, una risposta breve, no, l'uso o il passaggio da una lingua all'altra non ti darà i trucchi. Conoscere più di una lingua non ti renderà un tuttofare e non c'è modo per uno sviluppatore di diventare un esperto non essendo in grado di utilizzare più di una lingua.