It's interesting to see how people choose languages for projects, but it's also important to realize that "one" isn't necessarily the best choice. I think of programming languages as targeting tasks, not whole projects.
I've successfully merged multiple languages many times. You can save a lot of time if you know the strengths of each language and have learned how to combine them (e.g. SWIG bindings, wrappers around Objective-C modules, process invocations to run scripts).
In addition to benefits in exploiting languages for what they're "best at", it is great for bringing people into your project. Invariably the code will be partitioned into a more advanced "core" (e.g. C++) with some significant things in higher-level languages like Python. So the probability increases that a newcomer will see something familiar, and be able to understand major parts of the code quickly.
5 comments
[ 2.6 ms ] story [ 18.8 ms ] threadI've successfully merged multiple languages many times. You can save a lot of time if you know the strengths of each language and have learned how to combine them (e.g. SWIG bindings, wrappers around Objective-C modules, process invocations to run scripts).
In addition to benefits in exploiting languages for what they're "best at", it is great for bringing people into your project. Invariably the code will be partitioned into a more advanced "core" (e.g. C++) with some significant things in higher-level languages like Python. So the probability increases that a newcomer will see something familiar, and be able to understand major parts of the code quickly.
Do what works best for you and what you are comfortable with.