Khan Academy — rodando com 500 mil linhas em Go
(blog.khanacademy.org)-
Em 2019, começou o projeto Goliath para migrar de Python2 para Go
-
No começo ninguém conhecia Go, mas agora muitos engenheiros dizem que é "fácil de ler e escrever" e que "quanto mais trabalham com Go, mais gostam da linguagem"
-
A ausência de generics era um incômodo, mas a equipe do Go está trabalhando nisso
-
Como os recursos da linguagem Go são mais limitados, portar código Python exige mais esforço, mas o código fica mais consistente e pode ser lido mais rapidamente
-
Ganho enorme de desempenho em relação ao Python
→ O código Python de atualização em massa no Google Cloud Datastore, que gerava cerca de 100 warnings de contention por hora, foi reescrito em Go e passou a funcionar quase sem warnings
- Em geral, é preciso escrever mais código do que em Python (verbose), mas é mais rápido, as ferramentas são boas e funciona bem em produção
5 comentários
Como alguém com 5 anos de experiência com Go, eu preferiria que não colocassem genéricos... aff.
Parece que aquela simplicidade, que é uma das vantagens do Go, acaba se perdendo um pouco, mas...
como os problemas que poderiam ser resolvidos com genéricos hoje estão sendo feitos com o padrão de
interface, isso não me parece muito elegante,então eu sou favorável à adição de genéricos.. haha
É até surpreendente, de certa forma, que eles tenham começado a mudança de linguagem sem ter desenvolvedores de Go.
No texto em que diziam que iam começar a mudança, não havia esse tipo de informação, então eu achei que eles tivessem bastante gente que desenvolvia em Go.
Em uma organização comum, se alguém propusesse uma tentativa dessas, provavelmente haveria uma resistência enorme, mas também fico pensando se isso só foi possível por ser uma organização sem fins lucrativos.
Parece que as organizações que migram para Go ficam todas com um nível de satisfação bem alto.
Com certeza é uma linguagem simples e pela qual é fácil criar apego.
Acho que isso pode ser possível porque Go é uma linguagem menor do que Python. Muitos desenvolvedores conseguiam desenvolver até em meio dia.