Uno dei problemi è che potresti trovarti a scrivere un sacco di codice per esprimere qualcosa in un modo che faresti in un'altra lingua, mentre c'è un modo più diretto nella lingua che usi.
Ad esempio, in una risposta su Stack Overflow , ho spiegato come i contratti di codice, concetto utilizzato in .NET. Framework, può essere parzialmente emulato in PHP che non li supporta. Ho finito per scrivere un sacco di codice per niente, poiché la stessa cosa era fattibile con matrici semplici.
Più in generale, ogni lingua ha la sua cultura, le sue migliori pratiche, il suo stile.
-
Se inizio a scrivere codice C # come fosse C, sarebbe brutto.
-
Se apprendo Haskell come uno sviluppatore Java che è stato costretto ad usare Haskell, ma non voglio capire i suoi punti di forza e voglio solo clonare i concetti di Java, il codice che scriverò ne risentirà.
-
ecc.
Non c'è niente di sbagliato nel provare a migliorare la lingua (ad esempio, migliorare C # introducendo unità di misura come in F #), ma se lo fai troppo, dovresti scegliere una lingua diversa che soddisfi le tue esigenze.