Qual é a diferença entre um futuro e uma promessa? (Em Akka e Gpars.) Eles me parecem iguais, ao mesmo tempo em que bloqueiam e retornam o valor do futuro quando get é chamado e uma promessa é obter o resultado de um
Scala é uma linguagem de programação de uso geral direcionada principalmente à Java Virtual Machine. Projetado para expressar padrões de programação comuns de maneira concisa, elegante e com segurança de tipo, combina os estilos de programação imperativos e funcionais.
Qual é a diferença entre um futuro e uma promessa? (Em Akka e Gpars.) Eles me parecem iguais, ao mesmo tempo em que bloqueiam e retornam o valor do futuro quando get é chamado e uma promessa é obter o resultado de um
Estou mergulhando no mundo da programação funcional e continuo lendo em todos os lugares que linguagens funcionais são melhores para programas multithreading / multicore. Eu entendo como as linguagens funcionais fazem muitas coisas de maneira diferente, como recursão , números aleatórios etc., mas...
F # e Scala são linguagens de programação funcional que não forçam o desenvolvedor a usar apenas tipos de dados imutáveis. Ambos têm suporte para objetos, podem usar bibliotecas escritas em outros idiomas e executadas em uma máquina virtual. Ambos os idiomas parecem basear-se no ML. Quais são as...
Existem alguns problemas que são facilmente resolvidos por tipos de dados algébricos, por exemplo, um tipo de lista pode ser expresso de maneira muito sucinta como: data ConsList a = Empty | ConsCell a (ConsList a) consmap f Empty = Empty consmap f (ConsCell a b) = ConsCell (f a) (consmap f b) l...
Estou trabalhando com akka por 7-8 meses agora diariamente. Quando comecei, trabalhava nos aplicativos e notava que os atores seriam usados basicamente em qualquer lugar do sistema de atores para se comunicar entre a maioria dos objetos. Então eu fiz o mesmo - criar outro ator por x / y /...
O Scala não possui uma palavra-chave estática , mas possui uma funcionalidade semelhante por meio de objetos complementares. Nos bastidores, os objetos complementares são compilados para classes que têm métodos estáticos, então tudo isso é açúcar sintático. Quais são as vantagens desta opção de...
Antes de mais, gostaria de deixar claro que essa não é uma questão de linguagem X versus linguagem Y para determinar qual é a melhor. Uso Java há muito tempo e pretendo continuar usando-o. Paralelamente, atualmente estou aprendendo Scala com grande interesse: além de pequenas coisas que levam...
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...
Antecedentes Revisitei um site antigo (mas ótimo) que não conhecia há muito tempo - o Alioth Language Shootout ( http://benchmarksgame.alioth.debian.org/ ). Comecei a programar em C / C ++ há vários anos, mas desde então tenho trabalhado quase exclusivamente em Java devido a restrições de...
O Clojure não executa a otimização de chamada de cauda por si só: quando você tem uma função recursiva de cauda e deseja otimizá-la, deve usar o formulário especial recur. Da mesma forma, se você tiver duas funções recursivas mutuamente, poderá otimizá-las apenas usando trampoline. O compilador...
Muitas, muitas, luas atrás, fiz meu mestrado em Engenharia de Software Orientada a Objetos. Eu cobri tudo: iniciação do projeto, requisitos, análise, design, arquitetura, desenvolvimento, etc. etc. Meu livro de TI favorito de todos os tempos foi o Desenvolvimento de Software Orientado a Objetos,...
Ultimamente, tenho me interessado por alguns dos conceitos de programação funcional. Eu tenho usado OOP por algum tempo agora. Eu posso ver como eu criaria um aplicativo bastante complexo no OOP. Cada objeto saberia como fazer as coisas que o objeto faz. Ou qualquer coisa que a classe dos pais faça...
Gostaria de saber se posso mudar de Java para Scala em um projeto Spring + Hibernate para tirar proveito de alguns recursos do Scala, como correspondência de padrões, Option e o que me parece uma sintaxe mais limpa em geral. Eu tenho procurado o ORM por padrão no ecossistema do Scala e achei...
Eu li um pouco sobre semântica denotacional (DS) e estou muito intrigado com o processo de projetar programas de computador em que tipos e funções têm mapeamentos fortes e claros para a matemática. Existem recursos que discutem a criação de programas baseados no DS em detalhes? Eu já vi alguns...
Gostaria de saber quais são as diferenças técnicas de implementação entre C # e Scala e como as duas soluções se comparam às idéias e preocupações de implementação expressas no email Peek Past lambda de Brian Goetz, enviado à lista de discussão do Project Lambda (JSR 335) ? Do email: Exploramos...
Estou certo de que essa pergunta já foi feita várias vezes. No entanto, eu gostaria de perguntar novamente com a intenção de qual é o futuro dessas línguas. Fui apresentado ao Groovy e gostei muito. Eu senti que a sintaxe era mais simples e muito mais próxima do Java e pude aprender rapidamente o...
Sei que essa é uma questão muito ampla, ambígua e possivelmente filosófica. Até certo ponto, a palavra-chave mais importante da pergunta - sistema de tipos "forte" - em si está mal definida . Então, deixe-me tentar explicar o que quero dizer. Contexto geral da pergunta Criamos um aplicativo da...
Alguém sabe por que o Scala foi implementado em Java e .NET em vez de C ou C ++? A maioria das linguagens é implementada com Cor C ++ [ou seja, Erlang, Python, PHP, Ruby, Perl]. Quais são as vantagens do Scala implementado em Java e .NET além de fornecer acesso às bibliotecas Java e...
Fechado . Esta questão é baseada em opiniões . No momento, não está aceitando respostas. Deseja melhorar esta pergunta? Atualize a pergunta para que ela possa ser respondida com fatos e citações editando esta postagem . Fechado há 6 anos . Então agora o...
Eu li este artigo: Como escrever um método de igualdade em Java . Basicamente, ele fornece uma solução para um método equals () que suporta herança: Point2D twoD = new Point2D(10, 20); Point3D threeD = new Point3D(10, 20, 50); twoD.equals(threeD); // true threeD.equals(twoD); // true Mas é uma...