Cuando hablamos del mundo .NET, CLR es de lo que todo lo que hacemos depende. ¿Cuál es el conocimiento mínimo de CLR que un programador de .NET debe tener para ser un buen programador? ¿Puede darme uno/muchos de los que cree que son/son los temas más importantes: GC ?, ¿DominioDominio ?, ¿Subprocesos ?, ¿Procesos ?, ¿Ensamblados/Fusión?¿Cuál es el conocimiento mínimo de CLR que un programador de .NET debe tener para ser un buen programador?
Agradeceré mucho si publica enlaces a artículos, blogs, libros u otros sobre el tema donde se puede encontrar más información.
Actualización: Noté por algunos comentarios que mi pregunta no estaba clara para algunos. Cuando digo CLR no me refiero a .Net Framework. NO se trata de memorizar bibliotecas .NET, sino de comprender cómo funciona el entorno de ejecución (en el que esas bibliotecas viven en tiempo de ejecución).
Mi pregunta fue inspirada directamente por John Robbins el autor del libro "Debugging Applications for Microsoft® .NET" (que recomiendo) y su colega aquí citado Jeffrey Richter en Wintellect. En uno de los capítulos introductorios está diciendo que "... cualquier programador de .NET debería saber qué es lo que está sondeando y cómo se cargan los ensamblajes en el tiempo de ejecución". ¿Crees que hay otras cosas así?
Última actualización: Después de haber leído los primeros 5 capítulos de "CLR a través de C#", debo decir a cualquiera que lea esto. ¡Si todavía no has leído este libro!
plus Manejo de excepciones y recolección de basura –
¿Boxeo? ¿Los desarrolladores de .Net realmente son elegidos por tanto? :) – EBGreen
El manejo de excepciones es más un caso de buen diseño que la comprensión fundamental de lo que hacen las excepciones, en mi experiencia. Pero sí, agregaré GC a la lista. –