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

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


16
Por que o Java não suporta entradas não assinadas?
Por que o Java não inclui suporte para números inteiros não assinados? Parece-me uma omissão estranha, uma vez que eles permitem escrever código com menor probabilidade de produzir estouros em entradas inesperadamente grandes. Além disso, o uso de números inteiros não assinados pode ser uma forma de autodocumentação, pois indica …

13
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 …

5
Por que "final" não é permitido nos métodos de interface do Java 8?
Um dos recursos mais úteis do Java 8 são os novos defaultmétodos nas interfaces. Existem essencialmente duas razões (podem existir outras) pelas quais elas foram introduzidas: Fornecendo implementações padrão reais. Exemplo:Iterator.remove() Permitindo a evolução da API do JDK. Exemplo:Iterable.forEach() Do ponto de vista de um designer de API, eu gostaria …






12
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 …

5
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, …





Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.