J# (dibaca J Sharp) adalah sebuah implementasi bahasa pemrograman Java (yang merupakan buatan James Gosling dari Sun Microsystems) berbasis .NET Framework yang dibuat oleh Microsoft Corporation. Bahasa J# sendiri tidaklah sama dengan Java, tetapi memang bahasa tersebut menggunakan sintaksis dan semantik bahasa Java. Bahasa ini menggantikan bahasa J++, yang juga sama-sama menggunakan bahasa Java. Para programmer Java dapat secara langsung melakukan kompilasi ulang terhadap kelas-kelas Java buatannya (yang masih berjalan di atas Java Virtual Machine) agar dapat berjalan di atas Microsoft .NET Common Language Runtime (CLR), sehingga mereka dapat menggunakan teknologi baru tanpa harus meninggalkan bahasa pemrograman favorit mereka. Bahasa J# ini dikembangkan di Microsoft India Development Center, yang terletak di HITEC City, India.

Editor J# sunting

Tidak seperti halnya Java yang memiliki banyak jenis editor kode sumber dan juga dapat digunakan untuk membuat bytecode Java atau Java applet, editor J# yang terdapat di dalam Visual Studio atau Visual J# Express Edition hanya dapat digunakan untuk membuat berkas yang dapat dieksekusi berbasis sistem operasi Windows saja, dan mampu digunakan untuk membuat executable (*.exe) berjenis Windows Forms dan console, ataupun Application Extension (*.dll). Semua berkas-berkas yang berisi kode sumber berbasis bahasa Java yang disunting dengan menggunakan Visual J# sebelum dikompilasi, menggunakan format JSL (Java Source Language).

Beberapa perbedaan fundamental antara Java dan J# sunting

J# tidak melakukan kompilasi kode sumber ke dalam Java bytecode (berkas-berkas .class), dan juga tidak mendukung pengembangan Java applet atau kemampuan untuk menjalankan applet di dalam penjelajah web, meskipun .NET Framework sebenarnya memiliki sistem tersendiri yang dimasukkan ke dalam browser. Selain itu, Java Native Interface (JNI) dan Raw Native Interface (RNI) diganti dengan P/Invoke, sementara Remote Method Invocation (RMI) tidak didukung oleh J#.

Contoh penggunaan J# sunting

Berikut ini adalah contoh penggunaan bahasa J# yang akan menulis "Hello, World" sebanyak 10 kali di layar console:

package Greeting;
public class Hello
{
    public static void main(String[] args)
    {
        for (int i = 0; i < 10; i++)
        System.out.println("Hello, World");
    }
}

Cara kompilasi kode sumber di atas adalah dengan menggunakan program Visual J# Compiler (vjc.exe) yang terdapat di dalam Microsoft .NET Framework Software Development Kit (SDK).

vjc.exe HelloWorld.jsl

Lihat pula sunting

Pranala luar sunting