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