RafaelViana wrote:Tenha acompanhado este tópico para obter mais informações sobre a maratona.
Acredito que o @alankelon está argumentando que na competição essas otimizações da linguagem não fazem diferença. Pois, o que importa é a otimização do algortimo. Por exemplo, uma equipe usando Bubble Sort para ordenação nunca obterá a mesma eficiência de uma equipe usando um algoritmo de ordenação por intercalação.
Já o @juliocbq está argumentando que o Java é uma linguagem mais simples de programar, pois o compilador já faz suas otimizações internas. Portanto, seria vantajoso para as equipes utilizarem o Java.
Com base nisso, pergunto: @alankelon, duas equipes que estão usando o mesmo algoritmo. No entanto, um escrito em C++ e outro escrito em Java. Terá alguma diferença de perfomance? Ou de uso de memória? E essa diferença é analisada pelo juiz? Ganha-se pontos extras por consumir menos memória? Ou usar menos tempo?
Por que a maioria das equipes preferem usar o C++ sendo que o Java tem uma linguagem mais simples (na minha opinião)?
A resposta é não para todas as perguntas do penúltimo parágrafo.
Preferem C e C++ por questão cultural apenas, porque, em geral, os times de uma instituição deixam código legado para os próximos times no notebook citado anteriormente. O legado mundial é predominantemente escrito em C e C++ e não há motivo de reescrever em Java.
Nesta competições, orientação a objetos não é fundamental. No máximo, usa-se estruturas de C. É muito comum o uso de arrays estáticos também.