A szócikk címe technikai okok miatt pontatlan. A helyes cím: J#.

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.

J#
Paradigmaobjektumorientált programozási nyelv
Megjelent2002
FejlesztőMicrosoft
Utolsó kiadásv2.0 Second edition[1]
Operációs rendszerWindows
Weboldal

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ó.[2] 2015-ig tartott a kiterjesztett támogatás, mely hibajavításokból állt.

Eltérések a J# és a Java közt

szerkesztés

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).[3]

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.”[4]

Azonban a Microsoft Visual Studio 2005-dokumentációja részletezi a .NET-függvénymutatók[5] events,[6] és értéktípusok J#-ban való definiálását.[7]

Példaprogramok

szerkesztés

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();
    }
}
  1. https://learn.microsoft.com/en-us/previous-versions/msdn10/bb188593(v=msdn.10)
  2. Microsoft MSDN: J# wurde aus Visual Studio 2008 entfernt
  3. Visual J# Migration. MSDN Library. [2012. március 16-i dátummal az eredetiből archiválva]. (Hozzáférés: 2021. december 25.)
  4. Just don't call J# Java. InfoWorld, 2001. november 21. (Hozzáférés: 2020. július 20.)
  5. delegate (Visual J#). MSDN Library. [2011. december 19-i dátummal az eredetiből archiválva].
  6. Definition and Use of Events. MSDN Library. [2011. december 19-i dátummal az eredetiből archiválva].
  7. User-Defined Value Types. MSDN Library. [2011. december 20-i dátummal az eredetiből archiválva].

Fordítás

szerkesztés
  • Ez a szócikk részben vagy egészben a J-Sharp című német Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
  • Ez a szócikk részben vagy egészben a Visual J Sharp című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.