Devido a limitações técnicas, a tipografia desejável do título não pôde ser renderizada corretamente.
J # (pronuncia -se J-Dièse ou J-Sharp em inglês) é um derivado não oficial do Java criado pela Microsoft (a Microsoft não tem mais o direito de criar produtos oficialmente relacionados ao Java), resultante do J ++ e permitindo a criação de aplicativos para o ambiente de tempo de execução .NET .
Embora a sintaxe geral seja a mesma do Java, a estrutura específica do .NET é diferente. Por exemplo, em Java, a classe java.io.FileOutputStream recebe um objeto de tipo de arquivo ( java.io.File ) como parâmetro. A implementação .Net requer um objeto String contendo o caminho para o arquivo. A Microsoft fornece uma ferramenta para converter automaticamente um programa Java em um programa J #.
De acordo com diversos testes, seria possível utilizar os objetos dos dois engines (.NET framework e JVM) de forma a se complementarem. Porém, devemos então ter muito cuidado ao usar um nome estrito para permitir um código claro, permitindo saber a qualquer momento, a qual família pertence cada classe utilizada.
J # não compila o código-fonte para bytecode Java (arquivos .class ), ele não oferece suporte ao desenvolvimento de miniaplicativos Java. Finalmente, J # não oferece suporte a Java Native Interface (JNI) e Remote Method Invocation (RMI), que são mecanismos específicos do Java Runtime Environment (JRE) .
Em 1996, a Microsoft comprou uma licença da Sun para oferecer uma implementação de Java: J ++.
Em 1998, um juiz americano proibiu a Microsoft de usar a marca registrada Java para produtos J ++, que não estavam em conformidade com o padrão Java.
Em 2002, a Microsoft lançou a primeira versão do J #.
Em 2005, o ambiente Visual J # da Microsoft era o único ambiente de desenvolvimento para desenvolvimento em J #.
Em 2007, o J # 2.0 foi lançado.
Em 2008, J # foi abandonado, não há mais um editor associado na faixa do Visual Studio .