Um dos problemas é que você pode escrever muito código para expressar algo da maneira que fará em outro idioma, enquanto há um jeito mais direto no idioma usado.
Por exemplo, em uma resposta no Stack Overflow , expliquei como os contratos de código, conceito usado no .NET Framework, podem ser parcialmente emulados no PHP que não os suporta. Acabei escrevendo muito código para nada, já que a mesma coisa era possível com matrizes simples.
De maneira mais geral, cada idioma tem sua própria cultura, suas melhores práticas, seu próprio estilo.
Se eu começar a escrever código C # como se fosse C, seria feio.
Se eu apreender Haskell como um desenvolvedor Java que foi forçado a usar Haskell, mas não quer entender seus pontos fortes e apenas clonar os conceitos de Java, o código que eu escreveria sofrerá.
etc.
Não há nada errado em tentar aprimorar o idioma (por exemplo, melhorar o C # introduzindo unidades de medida como em F #), mas se você estiver fazendo isso demais, talvez deva escolher um idioma diferente que realmente atenda às suas necessidades.