Hoje eu desenvolvo em um computador bastante complexo, que possui vários núcleos, unidades SSD e o que não. Ainda assim, na maioria das vezes estou programando o computador sem fazer nada. Quando eu preciso compilar e executar / implantar um projeto um pouco complexo, na melhor das hipóteses, ainda leva alguns segundos. Por quê? Agora que estamos vivendo cada vez mais na "era do instante", por que não consigo pressionar F5 no Visual studio e iniciar / implantar meu aplicativo instantaneamente?
Alguns segundos podem não parecer tão ruins, mas ainda há atrito cognitivo e tempo, e, francamente, torna a programação menos divertida. Então, como a compilação pode ser instantânea?
Bem, as pessoas tendem a editar arquivos em diferentes assemblies, e se o Visual Studio / The IDE constantemente fizesse a compilação / construção de tudo o que eu modificava a qualquer momento que fosse apropriado. Heck se eles queriam ir realmente avançado, eles poderiam fazer compilação por classe. A compilação pode não funcionar, mas silenciosamente não pode fazer nada (exceto adicionar mensagens de erro à janela de erro).
Certamente, o computador de hoje pode dedicar um ou dois núcleos a essa tarefa e, se alguém o achar irritante, poderá ser desativado por opção. Sei que provavelmente existem milhares de questões técnicas e algumas cópias de sombra sofisticadas que precisariam ser resolvidas para que isso fosse contínuo e prático, mas com certeza tornaria a programação mais contínua.
Existe alguma razão prática para esse cenário não ser possível? O desgaste de escrever continuamente binários seria muito? Os assemblies não podiam ser mantidos na memória até serem implantados / executados?