The two language problem refers to a phenomenon in programming and computer science where people developing solutions often have to work in two languages. When prototyping a solution (e.g. a new algorithm), they often work in a language that’s easy to write code in, because this makes the prototyping process faster. These languages tend to be slower (e.g. Python). After the person successfully implements a prototype of the solution/algorithm, they then typically have to translate the solution into a faster language (e.g. C++). These faster languages are harder to write in — which makes them ill-suited for prototyping — but are essential for production situations where code needs to run fast.