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

Perguntas envolvendo o design e a estrutura das linguagens de programação.


9
Por que existe um suporte tão limitado ao Design by Contract na maioria das linguagens de programação modernas?
Descobri recentemente o Design by Contract (DbC) e considero uma maneira extremamente interessante de escrever código. Entre outras coisas, parece oferecer: Melhor documentação. Como o contrato é a documentação, é impossível ficar desatualizado. Além disso, como o contrato especifica exatamente o que uma rotina faz, ajuda a dar suporte à …

12
Por que a maioria das linguagens de programação possui palavras-chave ou sintaxe especiais para declarar funções? [fechadas]
A maioria das linguagens de programação (linguagens de tipo dinâmico e estaticamente) possui palavras-chave e / ou sintaxe especiais que parecem muito diferentes do que declarar variáveis ​​para declarar funções. Vejo funções como apenas declarar outra entidade nomeada: Por exemplo, em Python: x = 2 y = addOne(x) def addOne(number): …

4
Quão rápido o Go pode ir?
Go é uma das poucas linguagens que devem rodar 'perto do metal', ou seja, é compilada, com estaticamente digitado e executa código nativamente, sem uma VM. Isso deve proporcionar uma vantagem de velocidade em relação a Java, C # e similares. Parece, no entanto, que está por trás do Java …


5
Por que o C # não tem escopo local nos blocos de caso?
Eu estava escrevendo este código: private static Expression<Func<Binding, bool>> ToExpression(BindingCriterion criterion) { switch (criterion.ChangeAction) { case BindingType.Inherited: var action = (byte)ChangeAction.Inherit; return (x => x.Action == action); case BindingType.ExplicitValue: var action = (byte)ChangeAction.SetValue; return (x => x.Action == action); default: // TODO: Localize errors throw new InvalidOperationException("Invalid criterion."); } } …









4
Por que .compareTo () está em uma interface enquanto .equals () está em uma classe em Java?
Quero saber por que o .compareTo()está na Comparableinterface enquanto um método como .equalsestá na Objectclasse. Para mim, parece arbitrário o motivo de um método como esse .compareTo()ainda não estar na Objectclasse. Para usar .compareTo(), você implementa a Comparableinterface e implementa o .compareTo()método para seus propósitos. Para o .equals()método, você simplesmente …

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.