J Sharp

A szócikk címe technikai okok miatt pontatlan. A helyes cím: J#.
J#
Paradigmaobjektumorientált programozási nyelv
Megjelent2002
FejlesztőMicrosoft
Utolsó kiadásv2.0 Second edition
Operációs rendszerWindows
Weboldal

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ó. 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

  1. ↑ "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". Visual Studio 2005. MSDN Library. 2012. március 16. dátummal az eredeti címről archiválva. Hozzáférés: 2021. december 25.
  4. ↑ Yager, Tom (2001. november 21.). "Just don't call J# Java". InfoWorld. Hozzáférés: 2020. július 20.
  5. ↑ "delegate (Visual J#)". Visual Studio 2005. MSDN Library. 2011. december 19. dátummal az eredeti címről archiválva.
  6. ↑ "Definition and Use of Events". Visual Studio 2005. MSDN Library. 2011. december 19. dátummal az eredeti címről archiválva.
  7. ↑ "User-Defined Value Types". Visual Studio 2005. MSDN Library. 2011. december 20. dátummal az eredeti címről archiválva.

Fordítás