18 pontos por ragingwind 2022-08-01 | 3 comentários | Compartilhar no WhatsApp
  • No Facebook, uma Supported Language é uma linguagem que pode ser usada de forma contínua e recebe vários tipos de suporte em nível corporativo (explicação adicional no documento)
  • Como, uma vez tomada, essa decisão acaba tendo grande impacto na engenharia, a escolha foi feita com extrema cautela
  • Recomendado o uso de Rust no desenvolvimento de serviços sensíveis a desempenho e ferramentas de CLI

3 comentários

 
xguru 2022-08-01

Ah, haha, eu estava resumindo para postar, mas já publicaram! Como seria um desperdício, vou complementar nos comentários~!

  • A Meta decide a escolha de linguagens com muito cuidado
  • Hack, C++, Python e, recentemente, Rust foram adicionadas
    • Para backends em que desempenho é importante: C++ e Rust
    • Para CLI, Rust também é recomendado
    • Para lógica de negócio e aplicações stateless, o ecossistema de Hack oferece o mais alto nível de automação
    • Para data science / ML / Instagram: Python
    • Java, Erlang, Haskell, Go etc. são usados apenas em casos de uso específicos
  • O que significa uma linguagem de programação ser "Supported"
    • Oferece uma boa experiência em edição de código, depuração, build, deploy, além de bibliotecas centrais e interoperabilidade
    • Ao escolher essa linguagem, não será necessário trocá-la por outra no futuro
    • Na maioria dos casos, recomenda-se escolher essa linguagem para novos projetos/serviços
    • Como dar suporte total a uma linguagem é um grande investimento para a Meta, outras linguagens de "long tail" ficam como "Community Supported"
      • Para essas linguagens, cada equipe assume o ônus de mantê-las diretamente, e elas não devem ser usadas em novos desenvolvimentos (a menos que a equipe já tenha feito um grande investimento nelas por algum motivo especial)
  • Motivos para escolher linguagens "Supported"
    • Reduzir o esforço necessário para dar suporte às bibliotecas centrais
    • Segurança e privacidade
    • Minimizar riscos operacionais
    • Fortalecer a especialização
    • Melhorar a experiência do desenvolvedor
 
tpdns90321 2022-08-02

É curioso que uma empresa de serviços web, e o Facebook, criador do React, não tenha escolhido TS ou JS.

 
cwyang 2022-08-02

É uma linguagem para o lado do servidor :-)