No tengo muy claro la diferencia entre C #, C # .NET y lo mismo para ASP y otros lenguajes '.NET'.
Por lo que entiendo, .NET es una biblioteca / marco de ... cosas. Creo que son esencialmente acceso a datos de Windows, como elementos de formulario, etc., pero eso no parece aplicarse a ASP.NET.
Además, veo personas que se hacen llamar desarrolladores '.NET'. ¿Significa esto que dominan C #, ASP y otros lenguajes?
Finalmente, nunca veo C # sin .NET conectado. ¿C # está estrechamente relacionado con .NET como inutilizable sin él?
En resumen: ¿qué proporciona exactamente .NET? ¿Cómo se relaciona con C # y ASP, etc.? ¿Qué significa "desarrollador de .NET"? Y finalmente, ¿por qué nunca ves C # sin .NET?
[Por otro lado, me doy cuenta de que estas son preguntas múltiples, pero creo que están muy relacionadas entre sí (o al menos esa es la impresión que me han dado los programadores de navegación / SO, etc.)].
.NET es un marco de desarrollo de aplicaciones: contiene numerosas bibliotecas que contienen una variedad de funcionalidades.
C # es un lenguaje creado para usar con .NET. No es el único lenguaje compatible con .NET; otras opciones incluyen VB.NET, F #, Managed C ++, IronRuby y IronPython. Usted escribe el código en el idioma que elija para usar la funcionalidad en .NET Framework.
ASP.NET es una extensión de .NET que lo ayuda a escribir aplicaciones y sitios web basados en la web. Gran parte del marco general está disponible (o es útil, por ejemplo, en el caso de WinForms) en este contexto.
[Classic] ASP es un marco web anterior, también de Microsoft. A pesar de los nombres similares, ASP y ASP.NET son bastante diferentes bajo el capó. Una diferencia notable es que sus únicas opciones de lenguaje para ASP son VBScript y JScript. ASP es una tecnología antigua y obsoleta, no te preocupes por ello.
fuente
En primer lugar, .Net es un marco de bytecode, similar al bytecode de Java. Sin embargo, .Net solo es BYTECODE. No hay un idioma oficial ".Net". Los dos idiomas principales dirigidos a .Net son C # y VB.Net. ASP.Net es una extensión de la biblioteca .Net proporcionada para permitir que las aplicaciones escritas en C # o VB.Net (u otros lenguajes dirigidos a .Net) funcionen como un sitio web.
Los desarrolladores que dicen que conocen .Net generalmente significan que conocen C # o VB.Net, o ambos, y pueden aprender fácilmente el que no conocen (C # y VB.Net son lenguajes extremadamente similares, aparte de la sintaxis general)
Por último, ASP NO ES lo mismo que ASP.Net. Tienen grandes diferencias
fuente
Como solo una respuesta menciona Mono sin entrar en detalles:
Aunque C # como lenguaje se desarrolló originalmente en Microsoft como parte de .NET Framework, más tarde fue estandarizado por ECMA , lo que significa que se pueden desarrollar implementaciones independientes del lenguaje que cumplan con los estándares, y de hecho lo fueron. El más destacado de ellos es Mono .
Mono es una implementación de código abierto de un conjunto de herramientas compatibles con el estándar ECMA compatible con .NET Framework, que incluye un compilador C # y una implementación CLI (Mono Runtime, el equivalente de CLR de Microsoft, la máquina virtual de .NET Framework). Su objetivo es ejecutar aplicaciones .NET multiplataforma. A partir de hoy, es compatible con C # 4.0 y una parte sustancial de las características de .NET Framework . Además de reflejar la implementación de Microsoft, el equipo de Mono también está haciendo innovaciones propias.
Entonces, sí, es posible y factible trabajar en C # sin .NET. Sin embargo, es poco probable que Mono pueda rivalizar con la participación de mercado de Microsoft y la posición de .NET Framework, no ahora y no en el futuro inmediato.
fuente
El libro de Jon Skeet, C # In Depth desglosa .NET en forma bastante sucinta. A menudo se usa en relación con
fuente
Las otras respuestas hacen un buen trabajo al explicar qué es cada tecnología, pero creo que pierden uno de los principales motivos de confusión. C # y C # .NET son esencialmente sinónimos, sin embargo, VB.NET y VB son diferentes y ASP y ASP.NET también son diferentes. VB generalmente se refiere a VB6 y versiones anteriores, y ASP se refiere a ASP clásico. Estas tecnologías se rediseñaron radicalmente con el lanzamiento del marco .NET y, en lugar de crear nuevos nombres para los productos, Microsoft agregó .NET a casi todo, pero C # también era nuevo, por lo que ambos nombres realmente se refieren a lo mismo.
fuente
Debe diferenciar entre lenguajes, marcos, CLR, patrones y métodos de programación.
ASP.Net utiliza un patrón de programación completamente diferente para el desarrollo de Winforms, aunque comparten la misma base. Puede programar aplicaciones ASP.net y .Net en una variedad de idiomas.
Luego está Mono y el lenguaje C # utilizado en el contexto Mono, probablemente valga la pena investigar.
Lea estos enlaces:
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://en.wikipedia.org/wiki/.NET_Framework#Alternative_implementations
http://en.wikipedia.org/wiki/File: Overview_of_the_Common_Language_Infrastructure.svg
fuente