¿Qué es el framework dot net? Simplemente lo llamo ‘.NET’ para abreviar.
.NET fue la reacción de Microsoft a Java en 2001. O así es como lo percibo. Básicamente lo veo como un mejor Java. Para ser más precisos, debería decir que es un mejor JEE – Java Enterprise Edition. Como Java es un lenguaje, mientras que .NET es un framework. Pero como escribo solo en C # en la práctica, y C # /. NET y Java / JEE están bastante estrechamente acoplados. Microsoft simplemente no podía permitirse perder a todos los desarrolladores de VB que habían aprendido a codificar en las empresas, por lo que crearon dos idiomas. Porque también querían un lenguaje tipo C dirigido a otros desarrolladores. Y C # es donde la mayor parte del enfoque ahora está yendo (también con el proyecto actual Roslyn). Aunque solo VB todavía parece permitir literales XML, sean cuales sean.
De todos modos .NET está dirigido a empresas que escriben aplicaciones comerciales. Aunque puedes hacer casi cualquier cosa con él. Simplemente no funcionará tan bien en ciertos casos de uso específicos (que requieren lenguajes específicos de dominio).
Donde Java tiene la Máquina Virtual para la independencia de la plataforma, .NET tiene el ‘Lenguaje Intermediario’ que permite que se compilen varios lenguajes en la misma cosa y trabajen juntos. Inicialmente, VB.NET Shop y C #, luego F # Jonathan Danylko ya hicieron un buen trabajo al enumerarlos en su respuesta. El marco mono, una implementación de código abierto de .NET, también proporcionó implementaciones de plataforma alternativas (para Linux, Mac OS X, etc.). Pero la parte independiente de la plataforma parece que actualmente solo se está poniendo de moda, ahora que Microsoft lo está impulsando con One The Official Microsoft ASP.NET Site y MVC5 y Owin. Pero para Java también tardó algún tiempo antes de tener un competidor relevante para su lenguaje en Skala, que se compila en la misma máquina virtual Java.
Tanto Java como .NET también tienen recolección de basura (GC), por ejemplo, el tiempo de ejecución lo hace por usted, eliminando todo tipo de errores desagradables que el lenguaje no habilitado para GC había mostrado hasta entonces. Se ofrece solo a cambio de paradas impredecibles cuando el sistema de repente ‘decide’ que necesita recolectar basura cuando la memoria comienza a agotarse. Lo que lo hace prácticamente inservible para dispositivos más pequeños (aunque existen excepciones, como la simplificación del lenguaje JavaCards de Java y la compilación cruzada de Xamarin para C #).
Tanto Java como .NET también tienen un tiempo de ejecución. Esto es lo que la mayoría de los usuarios finales conocen mejor. De repente tienen que instalar .NET Framework, cuando instalan otro programa. O obtienen una ventana emergente persistente de que Java tiene una actualización.
Puede comparar el tiempo de ejecución con algo como Flash, una plataforma para que se ejecuten otras aplicaciones. Simplemente permite una capa más alta de abstracción. Flash ofrece una abstracción del navegador para que el mismo programa pueda ejecutarse en Internet Explorer. SI instaló el desagradable complemento que es.
Steve Jobs mató a Flash y los piratas web desagradables lo explotaron, porque podían escribir herramientas multiplataforma para molestarte y espiarlo: P. JRE y el tiempo de ejecución de .NET todavía viven en :). Las empresas requieren esto para hacer posible el software de escritura para múltiples plataformas.
Entonces, respondí tu pregunta simplemente lanzando muchos más términos con los que quizás no estés familiarizado :). Quizás alguien más inteligente que yo pueda ofrecerte una frase simple si lo prefieres.
Quizás un desarrollador de Node pueda decir algo como:
“.NET es el framework vivo más desagradable”.
¡Pero me quedaré con .NET Rocks!
Saludos,
Un fanboy de Microsoft 😛