Hoy me desarrollo en una computadora bastante compleja, tiene múltiples núcleos, unidades SSD y demás. Aún así, la mayoría de las veces estoy programando que la computadora no hace nada. Cuando necesito compilar y ejecutar / implementar un proyecto un tanto complejo, en el mejor de los casos todavía me toma un par de segundos. ¿Por qué? Ahora que vivimos más y más en la "era del instante", ¿por qué no puedo presionar F5 en Visual Studio e iniciar / implementar mi aplicación al instante?
Puede que un par de segundos no suene tan mal, pero sigue siendo la fricción cognitiva y el tiempo lo que se suma, y francamente hace que la programación sea menos divertida. Entonces, ¿cómo podría ser la compilación instantánea?
Bueno, las personas tienden a editar archivos en diferentes ensamblajes, ¿qué pasaría si Visual Studio / The IDE compilara constantemente y construyera todo lo que modificara en cualquier momento que pudiera ser apropiado? Diablos, si querían avanzar realmente, podrían hacer una compilación por clase. Es posible que la compilación no funcione, pero no podría hacer nada en silencio (excepto agregar mensajes de error a la ventana de error).
Seguramente la computadora de hoy podría dedicar uno o dos núcleos a esta tarea, y si alguien lo encontrara molesto, podría deshabilitarse por opción. Sé que probablemente haya miles de problemas técnicos y algunas instantáneas sofisticadas que tendrían que resolverse para que esto sea fluido y práctico, pero seguro que haría que la programación sea más fluida.
¿Hay alguna razón práctica por la que este escenario no sea posible? ¿Sería demasiado el desgaste de escribir continuamente binarios? ¿No se pueden mantener los ensamblados en la memoria hasta que se implementen / ejecuten?