Porque é que o Google desenvolveu o Go?
O Google tem dois problemas tremendos. Um deles é o tempo de compilação. Nos anos 80, projectos de tamanho razoável demoravam horas a fazer uma compilação limpa. Havia fazendas inteiras de servidores dedicadas à recompilação. Você conseguiu uma nova "construção noturna" e fez modificações nisso.Google constrói coisas tão ridiculamente enormes que ainda é assim em 2017. Leva 5 horas para reconstruir o cromo do zero mesmo em um grande e gordo sistema i7. A dor do tempo de compilação nestas construções dói tanto que o Google inventou ferramentas de compilação que separam a análise de dependência e compilação, apenas para ganhar alguns por cento em tempo de compilação usando linguagens convencionais. Go foi projetado para uma compilação rápida sem a necessidade de verificação de dependência, então ele resolve o problema do build pain.
O outro problema do Google é o processamento de strings. O Google lê e analisa um monte de páginas web, que são arquivos de texto. Eles fazem muita manipulação de strings, então compensa para que isso seja realmente eficiente. O Google construiu uma rica biblioteca de funções de string em Go, Garbage collect faz com que as strings em Go sejam simples de pensar, e eficientes de maneiras que algumas outras bibliotecas de string não são (estou falando com você, comitê C++).
P>Todos pensam que são designers de linguagem. Microsoft e Apple tinham seus próprios idiomas, (a Apple tem dois hoje em dia). O Google decidiu que eles precisavam do seu próprio idioma, eu acho. Então o Facebook entrou na festa da língua proprietária, deixando apenas a pobre Amazon caseira sozinha na dança da língua. Como um designer de idiomas, Go não é irracional. Ele faz o que diz na lata. Não é de forma alguma inovador, mas certamente bem desenhado para um uso muito específico.
Go tem bom suporte de concorrência, o que é essencial para uma linguagem desenhada depois de 2002, e para empresas que têm um milhão de servidores à espera de serem fiados. Mas não é uma novidade na concorrência.
Go = C + strings + coleta de lixo + concorrência. Se você quer construir programas realmente grandes para analisar toda a maldita internet, Go seria uma boa escolha para você.
Obrigado por todos os upvotes.
Artigos semelhantes
- Porque é que a Microsoft não desenvolveu uma versão do Android que apenas usa a sua interface de azulejo?
- Qual é a aplicação chinesa mais útil que se desenvolveu na China?
- Devido a uma condição médica, o meu filho desenvolveu seios grandes algures na gama DD-DDD. Estou destroçado. Devo pedir-lhe que use um soutien?
- Qual é o melhor projeto de código aberto do Android para um iniciante que aprendeu Android mas nunca desenvolveu um aplicativo?