A J# egy, a Microsoft által fejlesztett objektumorientált programozási nyelv, mely a Java- és Visual J++-programozóknak az át- és a belépést kívánta megkönnyíteni a .NET keretrendszer környezetébe. Hosszú ideig dolgoztak a Java-fejlesztők, hogy a C#-ben a .NET minden funkcióját használni tudják. A J# célja volt az is, hogy a Java-fejlesztők könnyebben tudjanak megfelelő Java-kódot a környezetbe átvinni, hogy új projektekben másik .NET-nyelven, például C# nyelven fel tudják használni.

A Microsoft 2007. január 10-én bejelentette a J# fejlesztésének végét, és hogy nem jelenik meg új verzió a Visual Studio 2008-ban. A Visual Studio 2005 volt így a J#-t tartalmazó utolsó verzió.Microsoft MSDN: J# wurde aus Visual Studio 2008 entfernt 2015-ig tartott a kiterjesztett támogatás, mely hibajavításokból állt.

Eltérések a J# és a Java közt Mindkét nyelv hasonló alapszintaxissal működik, de eltérő futásidejű környezeten alapulnak. A J# a CLR (Common Language Runtime) rendszert használja, a Java az ahhoz hasonló Oracle JRE (Java Runtime Environment) rendszert.

A Visual Studio 2005-ben a Microsoft a Javából származó névterek és osztályok nagy részét átvette, megkönnyítendő a .NET keretrendszerrel való munkát Javában- Különösen a szabvány- és a Swing-osztályok átváltására került nagy hangsúly. Ezenkívül van egy fordító, mely a J#-forrásokat C#-ba fordítja.

A J# nem fordít Java nyelvű forráskódot Java bájtkódra (.class fájlok), és nem támogatja Java appletek fejlesztését vagy böngészőben való tárolását, azonban a Microsoft J# Browser Controlsban ActiveX-objektumokként tárolhatók. A Java Native Interface (JNI) és nyers natív felület (RNI) helyett P/Invoke van, és a J# nem támogatja a távoli metódusinvokációt (RMI).

Az InfoWorld szerint „A J# felülete a .NET keretrendszerhez szilárd, de nem olyan, mint a C#-é. Például a J#-kódban nem definiálhatók új .NET-attribútumok, események, értéktípusok vagy függvénymutatók. A J# akkor használhatja őket, ha másik nyelvben írt összerakó nyelvben írják, de az újak definiálásának hiánya korlátozza a J# működését és használhatóságát más .NET-nyelvekhez képest.”

Azonban a Microsoft Visual Studio 2005-dokumentációja részletezi a .NET-függvénymutatók events, és értéktípusok J#-ban való definiálását. Példaprogramok Az alábbi példák a J# felépítését és használatát mutatják be:

import System.Console; import System.Windows.Forms.*;

public final class Program extends Object { public final static String HalloWeltAusdruck = "Helló, világ!";

/** * Bemenet */ public static void main(String[] args)

(new Program()).Run(args);

/** * „Helló, világ!” standard kimenetre (gyakran konzolra) való írása */ private void DefOutput()

System.Console.WriteLine("Konzolkimenet…\n");

Console.get_Out().WriteLine(HalloWeltAusdruck);

System.Console.WriteLine("Nyomja meg az ENTER-t a továbblépéshez.\n"); Console.ReadLine();

/** * Nem statikus bemeneti pont */ private void Run(System.String[] args)

// Kimenet → konzol this.DefOutput();

// Kimenet Windowsra WinOutput();

/** * „Helló, világ!” kimenet ablakként */ private void WinOutput()

System.Console.WriteLine("Kimenet ablakként…"); MessageBox.Show(Program.HalloWeltAusdruck, "Kimenet üzenőablakként."); System.Console.WriteLine("Nyomja meg az ENTER-t a továbblépésre.\n"); Console.ReadLine();

Jegyzetek

Fordítás

Kategória:Objektumorientált programozási nyelvek