¿Por qué mi IDE no compila / construye en segundo plano?

13

Hoy me desarrollo en una computadora bastante compleja, tiene múltiples núcleos, unidades SSD y lo que no. Sin embargo, la mayor parte del tiempo que estoy programando la computadora no está haciendo nada por el contrario. Cuando necesito compilar y ejecutar / desplegar un proyecto algo complejo, en el mejor de los casos, aún me toma unos segundos. ¿Por qué? Ahora que estamos viviendo cada vez más en la "era del instante", ¿por qué no puedo presionar F5 en Visual studio y lanzar / implementar mi aplicación al instante?

Es posible que un par de segundos no suene tan mal, pero aún así la fricción cognitiva y el tiempo se acumulan, y francamente hace que la programación sea menos divertida. Entonces, ¿cómo podría la compilación ser instantánea?

Bueno, la gente tiende a editar archivos en diferentes ensamblajes, ¿qué pasaría si Visual Studio / The IDE compilara constantemente y construyera todo lo que modifiqué en cualquier momento que pudiera ser apropiado? Diablos, si quisieran ir realmente avanzados, podrían hacer una compilación por clase. Es posible que la compilación no funcione, pero luego simplemente no puede hacer nada (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 a alguien le resulta molesto, se puede deshabilitar por opción. Sé que es probable que haya mil problemas técnicos y algunas extravagantes instantáneas que deberían resolverse para que esto sea transparente y práctico, pero sin duda 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 pudieron mantener los ensamblajes en la memoria hasta que se implementaron / ejecutaron?

    
pregunta Homde 03.02.2011 - 00:49

8 respuestas

6

Eclipse hace compilación y construcción automática. Es posible que desee ver cómo lo hacen. Es de código abierto. Creo que se compila cada vez que guardas un archivo.

    
respondido por el Brian 03.02.2011 - 01:12
6

¿Alguna vez has pensado en cuántas pulsaciones de teclas haces antes de obtener un archivo para poder compilarlo? En serio, fíjate en lo que sucedería si tratas de compilar class f, class fo, class foo, etc. ¿Cuándo quieres que el IDE te diga que arregles un error tipográfico en lugar de dejar que uno termine de escribir? Me preguntaría qué tan bien lo has pensado al crear algo desde cero, ya que es donde pude ver que esto es bastante doloroso.

    
respondido por el JB King 03.02.2011 - 01:07
2

Visual Studio no ha proporcionado la facilidad de compilación automática. Pero sí, algunos IDE como Eclipse hacen una compilación automática cuando guardas cualquier archivo. Espero que en las futuras versiones de Visual Studio Microsoft agregue esta característica.

    
respondido por el MitAmr 03.02.2011 - 12:35
1

Adivina qué ... si estás utilizando un IDE moderno que te advierte, está haciendo una compilación en segundo plano. Así es como sabe que esos elementos no se compilarán como están.

    
respondido por el Jesse McCulloch 03.02.2011 - 01:28
1

Siempre puede dividir un proyecto en componentes precompilados. Prefiero que mi computadora compile en comando. La fricción cognitiva de un hombre es el momento de reflexionar y tomar café de otro hombre.

    
respondido por el JeffO 03.02.2011 - 01:45
1

Si usa Visual Studio y desarrolla en c # o VB, Reshaper puede hacerlo por usted. enlace Ahorro mucho tiempo al conocer todos los lugares donde mis cambios en una interfaz rompen el código sin tener que recompilarlos manualmente.

(También creo que Resharper es la mierda por muchas otras razones también).

    
respondido por el Alex 03.02.2011 - 16:51
1

No lo sé, me gusta tener que compilar cosas. Es como si yo manejara mi código y le dijera a la computadora, " ¡Hah! ¡Vamos a ver que rechazas ESTO! "

Luego recibo un error de compilación, lo corrijo, luego, " ¡Ah! ¡Ahora veamos que rechazas ESTO! "

Luego se compila y tomo un poco de café. Se siente bien. :)

    
respondido por el Sergio 03.02.2011 - 17:00
0

Nota: esto se ha tomado de mi experiencia con Netbeans (Java), por lo que es posible que no se aplique a Visual Studio

TMK esto se hace en segundo plano cuando comienza a editar el archivo. A menos que el IDE sepa cada error de compilación y cómo detectarlo, asumiré que compila la clase en segundo plano y luego informa de cualquier error.

El problema es cuando quieres construir todo tu proyecto. A veces supongo que no se pueden detectar todos los errores con esta compilación "en vivo", por lo que simplemente reconstruye todo. También podría ser que la clase compilada en vivo contenga información adicional que el IDE necesita, pero no debe distribuirse en un binario.

    
respondido por el TheLQ 03.02.2011 - 01:15

Lea otras preguntas en las etiquetas