Perguntas com a marcação «language-design»

Uma tag para perguntas relacionadas ao design de qualquer aspecto das linguagens de programação.

346
Por que devemos definir ambos == e! = Em C #?

O compilador C # exige que sempre que um tipo personalizado defina operador ==, ele também deve definir !=(veja aqui ). Por quê? Estou curioso para saber por que os designers consideraram necessário e por que o compilador não pode usar como padrão uma implementação razoável para um dos operadores...

241
Por que o Python não possui uma função de sinal?

Não consigo entender por que o Python não tem uma signfunção. Ele tem um absbuiltin (que eu considero signa irmã de), mas nãosign . No python 2.6 há até uma copysignfunção (em matemática ), mas nenhum sinal. Por que se preocupar em escrever um copysign(x,y)quando você pode simplesmente escrever um...

186
Por que uma matriz não pode ser atribuída à Iterable?

com Java5, podemos escrever: Foo[] foos = ... for (Foo foo : foos) ou apenas usando um Iterable no loop for. Isso é muito útil. No entanto, você não pode escrever um método genérico para iterável como este: public void bar(Iterable<Foo> foos) { .. } e chamando-o com uma matriz, pois não...