Além disso, é importante saber as peculariedades de cada linguagem, de forma que você consiga desenvolver um código da forma mais eficiente possível, e também, simplificar o código, mantendo sua complexidade baixa.
Por exemplo, em java, as strings são "imutáveis", então toda vez que você vai contatenar uma string com outra, o java pega o valor das duas strings na memória, cria uma nova string com a concatenação das duas originais em um novo espaço de memória e "apaga" as originais. Se você precisa concatenar muitas coisas, isso ficaria extremamente lento, sendo mais eficiente você criar um StringBuilder, adicionar todas strings à ele, e depois converter isso para String...