
One great thing about programming languages is that there is such diversity that you can choose the best one to solve any given problem. But sometimes the worst thing can be when projects take advantage of this and build applications or systems of applications that require domain knowledge of many different languages. When this happens, it can be difficult for everyone, or even anyone, to fully understand the scope of the project.