Es war schon immer so, dass Menschen mit mehr als einer Sprache programmierten. Wenn Benutzer Assembly verwenden, müssen sie bei jedem Architekturwechsel eine neue Assembly-Sprache lernen.
Wenn Leute COBOL oder Fortran machen, machen sie normalerweise auch RPG und / oder JCL.
Unter Unix wurde mit C, sed, awk, Shell-Skripten und so ziemlich allem in der Unix-Küchenspüle gearbeitet (fast jedes Befehlszeilen-Tool unter Unix ist ein eigenes, sehr spezialisiertes DSL.)
Unter DOS programmierten die Benutzer zusätzlich zu Batch-Skripten in Turbo Pascal oder C. Später als Windows kam, war es VB oder etwas wie PowerBuilder, gekoppelt mit SQL und möglicherweise Batch-Installationsskripten.
Heutzutage ist es ein de-facto , dass die Menschen „Arbeit“ mit mehr als zwei Sprachen zu einem gegebenen Datum (und von „Arbeit“ Ich meine tun Wissen tatsächlicher Tag-zu-Tag - Codierung oder hat arbeiten). Zumindest Java oder C # oder VB gemischt mit JavaScript und SQL. Dann kommen andere Sprachen zum Batch- / Job-Scripting und dergleichen ins Spiel. Dann haben Sie für jede Sprache ein Framework, das selbst eine interne DSL implementiert, eine eigene Mini-Sprache.
Es ist also nicht nur vorteilhaft, mit mehr als einer Sprache zu arbeiten, sondern es ist auch notwendig. Es gibt keine Möglichkeit, ein modernes, komplexes System mit einer einzigen Sprache zu erstellen (und mit "erstellen" meine ich nicht nur den Code für irgendeinen Mist, der kompiliert wird, sondern etwas mit einem anständigen Design zu erstellen.)
Verdammt, ich werde aus dem Rahmen gehen und sagen, dass ich erwarten würde, dass Kinder im College zwei oder mehr Sprachen beherrschen, wenn sie es ernst meinen, in diesem Beruf zu sein.
Also zu deiner Frage:
Meine Hauptfrage ist, ist es für mich ratsam, damit fortzufahren, oder sollte ich die Entwicklung in C # fortsetzen? Würde mir das auf lange Sicht schaden (wohlgemerkt, mein Hauptziel ist es nicht, ein Alleskönner zu sein) oder ist es eine gute Praxis, dies zu tun?
Eine kurze Antwort, nein, das Verwenden oder Wechseln zwischen Sprachen wird Ihnen nicht die nötigen Spielereien bringen. Wenn Sie mehr als eine Sprache kennen, werden Sie nicht zum Alleskönner, und ein Entwickler kann nicht zum Experten werden, wenn er nicht mehr als eine Sprache verwenden kann.