Nó luôn luôn là trường hợp cho mọi người lập trình bằng nhiều ngôn ngữ. Khi mọi người đang sử dụng hội, họ phải nghiêng một ngôn ngữ hội mới mỗi khi họ thay đổi kiến trúc.
Khi mọi người thực hiện COBOL hoặc Fortran, họ cũng thường chơi RPG và / hoặc JCL.
Trong Unix, mọi người sẽ làm việc với C, sed, awk, shell script và mọi thứ trong bồn rửa nhà bếp Unix (hầu như mọi công cụ dòng lệnh trong Unix đều là DSL riêng, rất đặc biệt.)
Trong DOS, mọi người sẽ lập trình trong Turbo Pascal hoặc C ngoài các tập lệnh bó. Sau này khi Windows xuất hiện, đó là VB hoặc một cái gì đó giống như PowerBuilder kết hợp với SQL và có thể là các tập lệnh cài đặt hàng loạt.
Ngày nay, thực tế là mọi người "làm việc" với hơn hai ngôn ngữ bất kỳ ngày nào (và "công việc" Tôi có nghĩa là thực hiện mã hóa hàng ngày hoặc có kiến thức làm việc). Ít nhất là Java hoặc C # hoặc VB trộn lẫn với JavaScript và SQL. Sau đó, các ngôn ngữ khác đi vào chơi cho kịch bản hàng loạt / công việc và tương tự. Sau đó, đối với mỗi ngôn ngữ, bạn có một khung mà chính nó thực hiện DSL bên trong, một ngôn ngữ nhỏ theo đúng nghĩa của nó.
Vì vậy, nó không chỉ có lợi khi làm việc với nhiều hơn một ngôn ngữ, mà là cần thiết. Không có cách nào để xây dựng một hệ thống hiện đại, phức tạp với một ngôn ngữ duy nhất (và bằng cách "xây dựng", tôi không có nghĩa là chỉ viết mã một số thứ tào lao biên dịch, mà là để xây dựng một cái gì đó với một thiết kế hợp lý.)
Heck, tôi sẽ đi ra khỏi một chi và nói rằng tôi sẽ mong đợi những đứa trẻ ở trường đại học thành thạo hai hoặc nhiều ngôn ngữ nếu chúng nghiêm túc về nghề này.
Vì vậy, liên quan đến câu hỏi của bạn:
Câu hỏi chính của tôi là, liệu có khôn ngoan khi tôi tiếp tục làm điều này hay tôi nên tiếp tục phát triển trong C #? Điều này sẽ gây hại cho tôi về lâu dài (nhớ rằng mục tiêu chính của tôi không phải là một người tham gia tất cả các giao dịch) hay đó là một cách thực hành tốt?
Vì vậy, câu trả lời ngắn, không, sử dụng hoặc chuyển đổi giữa các ngôn ngữ sẽ không cung cấp cho bạn các thông tin. Biết nhiều hơn một ngôn ngữ sẽ không khiến bạn trở thành một người giỏi trong tất cả các giao dịch và không có cách nào để nhà phát triển trở thành chuyên gia bằng cách không thể sử dụng nhiều hơn một ngôn ngữ.