.Net (dotnet)
Microsoft .NET (comumente conhecido por .NET Framework - em inglês: dotNet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações. Todo e qualquer código gerado para .NET, pode ser executado em qualquer dispositivo que possua um framework de tal plataforma.
Um framework, ou arcabouço, em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Um framework pode atingir uma funcionalidade específica, por configuração, durante a programação de uma aplicação. Ao contrário das bibliotecas, é o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle.
Tecnicamente falando:
A plataforma .NET é executada sobre uma Common Language Runtime - CLR (Ambiente de Execução Independente de Linguagem) interagindo com um Conjunto de Bibliotecas Unificadas (framework). Esta CLR é capaz de executar, atualmente, mais de 33 diferentes linguagens de programação, interagindo entre si como se fossem uma única linguagem. Dentre elas estão: Visual Basic, Python, Java, entre outros.
Comparando Java e .Net:
Java sempre teve uma comunidade muito forte, isto, nos tempos atuais, é muito importante. Você encontra de tudo para Java na internet, tem muita coisa pronta, N frameworks, N aplicativos, N periódicos, N eventos durante o ano. Java é amplamente mais utilizado, mas tem um "grande problema", da mesma forma que ele pode ser "amado", é odiado por muitos.
.NET vai ao mesmo caminho, já possui muitas comunidades relacionadas e muito material pode ser acessado na própria internet.
Java tem uma frase muito famosa... "escreva uma vez, rode em qualquer lugar". Bem, isto tem um pouco de verdade, mas não é bem assim, até pode ser, mas vai depender muito de cada projeto.
.NET surgiu como uma "cópia" de uma tecnologia que já vinha dando certo (o Java), mas claro, com certas vantagens. A primeira delas é