Rodrigo_P_A escreveu:Em uma outra comparação que eu citei aqui faço acesso a banco de dados, webservices, além de um monte de outras coisas, consumindo apenas 12MB.
Acho que o correto, para título de comparação, é colocar tudo na mesma escala e padrão, mas como fazer isso para comparar ferramentas totalmente diferentes? É igual comparar uma talhadeira com uma chave de fenda só porque as pontas delas são parecidas.
Fazer um benchmark entre C#, PHP e JAVA da vida talvez faz sentido, mas como separar o C# de um dos frameworks da Microsoft (NET CORE, NET Framework, NET Standar ou NET MicroFramework pois C# da MS não gera código fora deles)? Mesmo uma comparação entre PHP e NET CORE não é tão simples, pois PHP é uma linguagem e o NET CORE é um Framework! Compare Laravel com NET CORE e veja se a Microsoft fez um serviço razoável ou não:
https://medium.com/@jamesjudd_21057/ben ... c1c3e9663dPara que um benchmark entre NET CORE (framework) e C/C++ ou Pascal e etc tenha algum sentido, teria que encontrar uma situação comum e de mesma usabilidade para ambos. C/C++ não é para WEB hoje em dia e muita coisa em C# tem foco em WEB e aplicações grandes, mas em termos de performance e footprint de memória, dificilmente o NET CORE vai bater o C/C++, só se o programador C/C++ for muito ruim.
Comparar o NET CORE (Framework) com C/C++ (linguagem) é, de grosso modo, como comparar uma carreta (NET CORE) contra um carro de corrida (C/C++, pascal...) e querer que a carreta tenha peso (Memória) ou velocidade similar ao do carro de corrida. Isso é algo que não tem uso prático. Se for olhar pelo trabalho realizado pelo motorista por tempo (= horas de programação) em relação a quantidade de programação (= carga transportada), a carreta faz muito mais em uma única viagem, o carro de corrida sequer foi feito para levar carga, daí ele perde feio pra carreta, pois nesse caso, o carro de corrida só vai ganhar da carreta se ele conseguir levar tudo em uma única viagem sem quebrar (pouca carga = aplicação pequena).
Agora, se o alvo é um sistema pequeno ou minúsculo, não faz sentido usar JEE (JAVA) ou NET CORE (VB.NET, C#, F#)... pois por ser muito pequeno, não vai aproveitar das capacidades e facilidades de uma linguagem voltada para desenvolvimento de sistemas grandes, usando e abusando de padrões de projetos, principalmente como inversão de controle ou injeção de dependência, frameworks para cada camada ou função e etc.
Gostaria de entender como vocês querem comparar um Framework (NET CORE) com uma linguagem de programação sem ser injusto para um dos lados, pois são ferramentas totalmente diferentes. Talvez seja até mais fácil comparar a CPU de uso genérica (como o Intel Core I9) contra um DSP como o Blackfin da Analog Devices (outra comparação um tanto quanto fora da casinha, mas muito menos do que NET CORE vs C/C++ ou afins). Se estiver cogitando o uso do NET CORE em plataformas enxutas, como ter só 64MB de RAM, já começou errado na escolha, é igual usar chave de fenda com martelo para abrir/quebrar peças de lata/metal ou uma talhadeira em um parafuso para chave de fenda... não vai prestar