E os microsserviços?

Vale ressaltar que depende muito do que você de fato busca realizar. Cada linguagem de programação tem seu objetivo, por exemplo, existem cenários específicos, por exemplo iterações de grande quantidade de items, onde o prórpio PHP irá ser muito mais veloz que o NodeJS. Tudo depende do que você quer.

Outra coisa é a arquitetura e boas práticas. Uma arquitetura assíncrona é a chave da velocidade nas tecnologias Web. O uso correto da linguagem também te dá muito mais potência. Se você fizer uma tarefa de repetição árdua, como um loop enorme, concatenando em cada iteração usando ${} será mais lento que com "" + "". Pequenos detalhes assim, em execuções curtas, não alteram em nada, mas es tarefas de alta repetição, fazem uma diferença enorme.

As microtimizações somente servem para tarefas repetitivas. No final, tudo depende do que seu código faz. Existem tarefas, como produção de raltório, que não dá para otimizar as querys pois você precisa de todas as linhas e dados de uma tabela para poder fazer um cálculo matemático.

E é nessa ideia que também surgiram os microsserviços: fazer tarefas específicas em ambientes especificos, com desenvolcedores específicos para conseguir a melhor velocidade de produção de código, performance e manutenção.

O meu ponto aqui é que frequentemente o diagnóstico do problema é feito da maneira errada. É muito confortável olhar um sistema ruim e dizer que o problema é a linguagem. Você terceiriza a culpa para os desenvolvedores da linguagem/framework e ainda ganha argumento para reescrever tudo na sua linguagem favorita.

Sim eu entendo plenamente, principalmente programadores Júnior ou até mesmo Pleno. Como de fato não conhecem como as linguagens de programação funcionam a fundo (vivem aprendendo somente Frameworks), podem ter essa impressão de que: o problema do código deles estar lento, é a linguagem. Mas nunca esquecer que a ordem de importância na optimização de código deve ser mais ou menos assim: 1. Identificar parte do código que está lenta 2. Refatorar código 2.1 Checar boas práticas 2.2 Buscar outras maneiras de fazer a mesma tarefa baseando-se em 2.2.1 Algorítimos especializados (não reinventar a roda) 2.2.2 Mineirar soluções parecidas no Stackoverflow ou até mesmo no ChatGPT3 2.2.3 Buscar em código aberto de outros projetos, soluções similares 3. Buscar bibliotecas que tenham o mesmo fim 4. Se já usa uma biblioteca e está lento ou continua lento 4.1 Buscar outras bibliotecas que tenham menor footprint 4.2 Criar sua própria biblioteca de maneira Open-Source, se caso não houver nenhuma outra alternativa na comunidade 4.3 Ou até mesmo não usar bibliotecas. Ás vezes, nossa primeira escolha é não reinventar a roda, mas existem situações onde que, para extrair a maior performance possível, você deve "enxugar" os "middlewares e pesos desnecessários" das bibliotecas disponíveis, para chegar a melhor performance. 5. Trocar arquitetura Grande parte dos problemas se resolvem com a arquitetura adequada para aquela função de código. 6. Microsserviços pagos Alternativas em outros serividores tipo API HTTP 7. Criar seu próprio microsserviço em um ambiente especializado com menor footprint 8. Trocar de linguagem de programação 9. Usar linguagens de mais baixo nivel, como C e C++ 10. Criar sua própria linguagem de programação 11. Escrever em Assembly 12. Desistir do projeto kkkk Brincadeiras à parte nos últimos tópicos, a questão é que a maioria dos problemas se resolvem até no passo 5!

Ou faz como o facebook. Eles tem números tão grandes, tão grandes que eu mesmo não imagino tudo rsrsr

Eles tinham PHP. Eles não mudaram do PHP pra C por exemplo. Eles mudaram o compilador

Primeiro com o HPHPc - já descontinuado E usam o HipHop Virtual Machine hoje!

Claro que eles tem microserviços em diversas linguagens, sabemos disso pq eles mesmos disponibilizam em código aberto N ferramentas em n linguagens.

Mas saber que eles resolveram mexer na forma como o PHP interpreta e compila foi muito interessante - eles podem dinheiro não falta ali! Nós meros mortais em empresas de sowtare não complexo não temos esse privilégio!

Abraços

Nesse artigo falo um pouco sobre Imperatividade: [TabNews - Declarativo vs Imperativo](https://www.tabnews.com.br/brunofreire/codigo-imperativo-vs-declarativo-o-futuro-da-programacao)