O esplendor e a pobreza da OLP - página 2

 
Integer:
Porque devo compreender os mecanismos de compilação? Só para acreditar que um mau resultado é melhor do que um bom?

Escrever testes correctamente e não induzir as pessoas em erro.

Nem sequer compreende o que escreveu nos seus testes e o que está realmente a testar.


Esta é a consequência da formação em massa em dotnet e línguas semelhantes. Os programadores não têm absolutamente nenhum desejo de compreender o que realmente funciona e como funciona.

 
Renat:

Escrever testes correctamente e não induzir as pessoas em erro.

Nem sequer compreende o que escreveu no seu teste e o que está realmente a testar.


Estas são as consequências da formação em massa em dotnet e línguas semelhantes. Os programadores não têm absolutamente nenhum desejo de compreender o que e como as coisas funcionam na realidade.

Todos têm os seus próprios cegos sobre os olhos, como os cavalos (para não verem demasiado).

Um vê o seu próprio, o outro vê o seu próprio. Mas isso não significa que ambos estejam certos ou errados.

A verdade está algures por perto.

O construtor queria uma coisa e conseguiu outra. Isso não significa que a tarefa esteja cumprida. Funciona, no entanto. Talvez não da forma que era esperada ou desejada.

O utilizador faz o seu teste (que é bastante previsível). Isso não significa que o teste satisfaça todas as partes.

A verdade está lá fora.

A rapidez das operações é demasiado importante. Este não é o meu capricho, isto é a vida.

E tem de o provar com testes, não com palavras.

 
Vinin:

A velocidade de operação é demasiado importante. Este não é o meu capricho, isto é a vida.

E tem de o provar com testes, não com palavras.

Apontei imediatamente os erros nos testes propostos. Depois expliquei o ponto várias vezes.

 

Os métodos virtuais serão sempre mais caros do que os métodos normais, mas os testes de optimização dos compiladores devem ser feitos correctamente com uma compreensão do que/como está a ser minimizado e optimizado.

Neste caso, ainda não implementámos um método de optimização para converter automaticamente uma função virtual para uma função regular (outros compiladores fazem-no quando possível), o que irá alterar imediatamente os resultados deste teste e induzir de novo em erro (uma chamada de método virtual pode ser subitamente mais rápida do que uma chamada de método regular).

 
Renat:

Os métodos virtuais serão sempre mais caros do que os métodos normais, mas os testes de optimização dos compiladores devem ser feitos correctamente com a compreensão do que/como está a ser desmoronado e optimizado.

Neste caso, ainda não implementámos um método de optimização para converter automaticamente uma função virtual para uma função regular (outros compiladores fazem-no quando possível), o que irá alterar imediatamente os resultados deste teste e induzir de novo em erro (uma chamada de método virtual pode ser subitamente mais rápida do que uma chamada de método regular).

Isto é - neste momento, a Integer tem razão. E era impossível reconhecer e explicar de imediato. Ou será que algo o impede?
 
Vinin:
Ou seja - nesta fase, a Integer tem razão. Não poderia simplesmente admitir e explicar logo de seguida. Ou há algo no caminho?
Reler cuidadosamente todo o tópico, por favor.
 
Renat:

Os métodos virtuais serão sempre mais caros do que os métodos convencionais, mas os testes de optimização dos compiladores devem ser feitos correctamente com uma compreensão do que/como está a ser minimizado e optimizado.

Neste caso não implementámos o método de optimização de converter automaticamente uma função virtual para uma função regular (outros compiladores fazem-no quando possível), o que irá alterar imediatamente os resultados deste teste e induzir de novo em erro (a chamada de um método virtual pode ser subitamente mais rápida do que uma função regular).

Na verdade, não é o compilador que está a ser testado, mas dois métodos para resolver o mesmo problema. Não importa como o frigorífico cantarola oooh ou wooh, o que importa é como congela.

 
Integer:

Na verdade, não era o compilador que estava a ser testado, mas dois métodos para resolver o mesmo problema. Não importa como o frigorífico cantarola oooh ou wooh, o que importa é como congela.

Testou incorrectamente, apresentando um caso de teste simplificado e degenerado. Não é um problema, é um exemplo degenerado a nada.

Não prestou atenção ao optimizador do compilador que está a optimizar fortemente a opção de chamadas directas a manequins.

 
Renat:

Testou incorrectamente, apresentando um caso de teste simplificado e degenerado. Isto não é uma tarefa, mas exactamente um exemplo degenerado a nada.

Não prestou atenção ao optimizador do compilador que está a optimizar fortemente a opção de chamadas directas a manequins.

Houve mais duas variantes de testes depois disso - 2 com funções não vazias e 3 com funções únicas - e os resultados foram semelhantes. A variante 1 foi ainda conduzida em C#, mas o resultado foi o oposto.
 
Renat:
Reler cuidadosamente todo o tópico, por favor.
Pode ler para sempre, mas tem de dar os factos. Realizar um teste e mostrar os números. Temos de provar que a Integer está errada. Ele (e não só ele) precisa de tal resultado. Também eu posso falar muito, mas tento não o fazer sem factos. Confio nos resultados dos testes da Integer. Mas não havia nada em contrário, apenas palavras
Razão: