Casa > P > Por Que A Amazon Usa Principalmente Java?

Por que a Amazon usa principalmente Java?

EDIT1: Estou respondendo como aconteceu que a Amazon passou a usar predominantemente Java como sua linguagem interna. Então eu peço desculpas se os amantes de Java são't tendo os seus egos acariciados com comentários sobre como o próprio Java é ótimo. I'tenho certeza que é'é a melhor coisa desde o pão fatiado. Se você'está procurando por "Oh por favor me diga mais uma vez como o Java é ótimo, e deixe's todos se alegrarem que podemos citar Amazon como um endosso", isso'não é essa resposta.

EDIT2: Eu estava profundamente envolvido na migração e uma das primeiras equipes a se mudar de Perl para Java. Eu também estive envolvido mais tarde no primeiro esforço para mudar de Java para Scala+Node. Então eu sei do que eu'estou falando. E eu fui o resolvedor Tier 1 deles (basicamente a única pessoa responsável quando a parte de pesquisa do site vai para baixo na sexta-feira preta) por dois anos. Então eu REALMENTE sei do que I'estou falando. I'pus o meu dinheiro onde a minha boca está. I'não estou falando hipotéticamente sobre como os sistemas de produção devem/deveriam funcionar. Eu os executei.

>p>Algumas razões. Por uma, Java é muito novo para a empresa. Há muitas emoções envolvidas quando você faz uma migração dessa escala.

A Amazon mudou de C para Perl para Java ao longo dos anos. Três anos atrás, teria sido 99% código Perl, com alguns "hipsters" que estavam tentando trazer essa nova coisa chamada Java. Hoje, ele's Java com alguns "hipsters" tentando trazer coisas novas como Node.js ou Scala.

Quando eles tiveram que se mover do Perl, linguagens como Swift, Rust, Scala, Javascript, e o que você tem - eles não eram't exatamente opções. Você nunca planeja uma migração com base no que você pensa que vai acontecer cinco anos depois. Você tem que planejar com base no que existe.

Se eles fossem't abertos para outras coisas, eles não't teriam construído Lambda em Javascript. Eles sabem o que existe. Há equipes que não adorariam nada mais do que mudar para coisas mais novas e simples.

Having disse que, eu direi que as questões sobre gerenciamento intermediário que foram escritas por outro comentarista, existem de fato. Mas Java foi't trazido devido a esses problemas. Esses problemas aconteceram como resultado do Java se tornar predominante.

Inúmeras horas são desperdiçadas debatendo padrões de design, ou se algo deveria ser estático, ou se algo deveria retornar um Opcional<> ou não. Inúmeros esforços de refatoração produzem promoções. Inúmeros problemas podem e fazem parar o progresso.

Mas olhe para Javascript. Trouxe as aulas não trouxe' não trouxe? As pessoas com estática têm o seu caminho. O que antes era a linguagem mais simples, melhor e mais limpa está se transformando em objetos e herança clássica ao longo do tempo. Scala ainda está atolada pelo legado de bibliotecas Java existentes que precisam ser transportadas, e uma JVM que executa apagamento de tipo, ou a necessidade de métodos criativos para implementar a recuperação de cauda (uma vez que os stack frames podem't ser substituídos).

But don't kid yourself. A Amazon tem muitas pessoas MUITO inteligentes, e muitas delas já reconhecem as limitações do Java há algum tempo. Muitas ferramentas internas usam sistemas do tipo Prolog. Muitos desenvolvedores estão brincando com o Scala. Abundância de ferramentas internas usam Python ou Ruby. Abundância de novas ferramentas como o Lambda são Javascript. Não existe um mandato de nível de gestão sénior para usar Java ou ficar com ele. Não é uma doutrina de toda a empresa. Há muitas pessoas tentando vencer a guerra contra o Java, e um número surpreendente delas estão conseguindo.

Addendum: Estas batalhas na Amazon são vencidas através de dados, não por política ou pensamentos-experimentais. Então quando eu vi eles'estão ganhando essas batalhas, eles'estão fazendo isso ou diminuindo custos, aumentando a confiabilidade, aumentando as receitas ou tudo isso de uma só vez.

De Roda Squarciafico

O que é o modo Doze no andróide 6.0 Marshmallow? :: As câmeras IP diminuem a velocidade da sua rede?