Uno de los problemas es que puede que te encuentres escribiendo mucho código para expresar algo de la misma manera que lo harás en otro idioma, mientras que hay una forma más directa en el idioma que usas.
Por ejemplo, en una respuesta sobre Stack Overflow , he explicado cómo los contratos de código, concepto utilizado en .NET Framework, pueden emularse parcialmente en PHP, que no los admite. Terminé escribiendo mucho código por nada, ya que lo mismo era factible con matrices simples.
En términos más generales, cada idioma tiene su propia cultura, sus mejores prácticas, su propio estilo.
Si empiezo a escribir código C # como si fuera C, sería feo.
Si aprendo a Haskell como desarrollador de Java que se vio obligado a usar Haskell, pero no quiero entender sus puntos fuertes y solo quiero clonar los conceptos de Java, el código que escribiría sufrirá.
etc.
No hay nada malo en tratar de mejorar el lenguaje (por ejemplo, mejorar C # mediante la introducción de unidades de medida como en F #), pero si lo está haciendo demasiado, tal vez debería elegir un idioma diferente que realmente se ajuste a sus necesidades.