Não sou muito claro a diferença entre C #, C # .NET e o mesmo para ASP e outras linguagens '.NET'.
Pelo que entendi, o .NET é uma biblioteca / estrutura de ... coisas. Eu acho que eles essencialmente acessam dados do Windows, como elementos de formulário, etc., mas isso não parece se aplicar ao ASP.NET.
Além disso, vejo pessoas chamando-se desenvolvedores de '.NET'. Isso significa que eles são fluentes em C #, ASP e outros idiomas?
Finalmente, nunca vejo o C # sem o .NET anexado. O C # está tão intimamente ligado ao .NET quanto inutilizável sem ele?
Em resumo: o que exatamente o .NET fornece? Como isso se relaciona com C # e ASP, etc? O que significa 'um desenvolvedor .NET'? E, finalmente, por que você nunca vê o C # sem o .NET?
[Como um aparte, eu percebo que essas são várias perguntas, mas acho que elas são muito inter-relacionadas (ou pelo menos essa é a impressão que a navegação nos programadores / SO etc me deu)].
O .NET é uma estrutura de desenvolvimento de aplicativos - contém inúmeras bibliotecas que contêm uma variedade de funcionalidades.
C # é uma linguagem criada para uso com o .NET. Não é a única linguagem compatível com .NET - outras opções incluem VB.NET, F #, C ++ gerenciado, IronRuby e IronPython. Você escreve código no idioma de sua escolha para usar a funcionalidade na estrutura .NET.
O ASP.NET é uma extensão do .NET que ajuda você a escrever aplicativos e sites baseados na Web. Grande parte da estrutura geral está disponível (ou útil, no caso de, por exemplo, WinForms) neste contexto.
[Classic] ASP é uma estrutura da web mais antiga, também da Microsoft. Apesar dos nomes semelhantes, o ASP e o ASP.NET são bem diferentes. Uma diferença notável é que suas únicas opções de linguagem para ASP são VBScript e JScript. ASP é uma tecnologia mais antiga e desatualizada, não se incomode com ela.
fonte
Primeiro, o .Net é uma estrutura de bytecode, semelhante ao Java bytecode. .Net, no entanto, é apenas BYTECODE. Não existe um idioma oficial ".Net". Os dois principais idiomas direcionados ao .Net são C # e VB.Net. O ASP.Net é uma extensão da biblioteca .Net fornecida para permitir que aplicativos escritos em C # ou VB.Net (ou outros idiomas direcionados .Net) funcionem como um site.
Os desenvolvedores que dizem que sabem .Net geralmente querem saber C # ou VB.Net, ou ambos, e podem aprender facilmente qualquer um que não conheçam (C # e VB.Net são idiomas extremamente semelhantes, além da sintaxe geral)
Por fim, o ASP NÃO É o mesmo que o ASP.Net. Eles têm enormes diferenças
fonte
Como apenas uma resposta menciona o Mono sem entrar em detalhes:
Embora o C # como idioma tenha sido desenvolvido originalmente na Microsoft como parte do .NET Framework, posteriormente foi padronizado pela ECMA , o que significa que implementações independentes da linguagem, compatíveis com os padrões, podem ser desenvolvidas, e de fato foram. O mais proeminente deles é o Mono .
O Mono é uma implementação de código aberto de um conjunto de ferramentas compatíveis com o padrão ECMA compatível com o .NET Framework, incluindo um compilador C # e uma implementação de CLI (Mono Runtime, o equivalente ao CLR da Microsoft - a máquina virtual do .NET Framework). Seu objetivo é executar aplicativos .NET entre plataformas. Atualmente, ele suporta C # 4.0 e parte substancial dos recursos do .NET Framework . Além de espelhar a implementação da Microsoft, a equipe Mono também está fazendo inovações próprias.
Portanto, sim, é possível e viável trabalhar em C # sem o .NET. No entanto, é improvável que Mono seja capaz de rivalizar com a participação de mercado da Microsoft e a posição do .NET Framework, não agora e nem no futuro imediato.
fonte
O livro de Jon Skeet, C # In Depth, divide o .NET de maneira bastante sucinta. É frequentemente usado em conexão com
fonte
as outras respostas explicam bem o que cada tecnologia faz, mas acho que elas perdem um dos principais motivos de confusão. C # e C # .NET são essencialmente sinônimos, no entanto, VB.NET e VB são diferentes e ASP e ASP.NET também são diferentes. VB geralmente refere-se ao VB6 e mais antigo, e ASP refere-se ao ASP clássico. Essas tecnologias foram radicalmente redesenhadas com o lançamento da estrutura .NET e, em vez de criar novos nomes para os produtos que a Microsoft anexou ao .NET para praticamente tudo, mas o C # também era novo, portanto os dois nomes realmente se referem à mesma coisa.
fonte
Você precisa diferenciar entre os idiomas, frameworks, CLR, padrões e métodos de programação.
O ASP.Net usa um padrão de programação completamente diferente para o desenvolvimento do Winforms, embora eles compartilhem a mesma base. Você pode programar aplicativos ASP.net e .Net em uma variedade de idiomas.
Depois, há o Mono e a linguagem C # usada no contexto Mono - provavelmente vale a pena pesquisar.
Leia estes links:
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://en.wikipedia.org/wiki/.NET_Framework#Alternative_implementations
http://en.wikipedia.org/wiki/Arquivo: Overview_of_the_Common_Language_Infrastructure.svg
fonte