I think that the issue with multiple languages is how people write and think about programming and design, or the lack of a design. I have no problem with a solution using different languages, as long as they are discrete components and their interfaces are written in such a way that has interoperability across multiple languages.
The real problems are when there was clearly no design goal in mind and the code lacks any significant or usable documentation, especially when you're dealing with a component that is being used as an API.
I've definitely seen a lack of design, documentation, or plan - all in a single language - in APIs from a major vendor. So I don't think that problem is specific to mixed languages.
Oh absolutely, but including multiple languages just makes the problem even worse, especially since it probably indicates that there are two or more groups that aren't coordinating their activities and will invariably write something that won't be cross-compatible with the other team's code.
If you involve multiple groups, they can have the same problems with a single language. (something I see all too often)
And multiple languages doesn't necessarily mean multiple groups.
Think about a modern game: C, C++, GLSL, assembly, and Lua -- probably mostly written by one team (until they hand the Lua off to a UI designer). Some games even add domain specific languages for their AI.
Comments 4
The real problems are when there was clearly no design goal in mind and the code lacks any significant or usable documentation, especially when you're dealing with a component that is being used as an API.
Reply
Reply
Reply
And multiple languages doesn't necessarily mean multiple groups.
Think about a modern game: C, C++, GLSL, assembly, and Lua -- probably mostly written by one team (until they hand the Lua off to a UI designer). Some games even add domain specific languages for their AI.
Reply
Leave a comment