Apa perbedaan antara Java dengan Javascript?

Programmer, developer dan pengguna internet selalu bingung antara perbedaan Java dan JavaScript. Banyak orang masih berpikir bahwa JavaScript adalah bagian dari platform Java. Sebenarnya JavaScript tidak ada hubungannya dengan Java, hanya saja karena ada kata “Java” maka mereka menganggap bahwa Java dan JavaScript mempunyai hubungan, seperti halnya Grape dan GrapeFruit.

Sebenarnya apa perbedaan yang mendasar dari java dan javascript?

Perbedaan antara java dan javascript sangat banyak karena sebenarnya javascript bukanlah bagian dari java. JavaScript sendiri adalah bahasa scripting untuk HTML yang dikembangkan oleh Netscape,Inc. Sedangkan Java adalah bahasa pemrograman yang dikembangkan oleh Sun Microsystems.

James Gosling adalah Inventor Java yang kemudian dikenal sebagai Bapak Java. Ada beberapa perbedaan antara Java dan JavaScript yaitu :

1. Execution

Perbedaan pertama antara Java dan JavaScript adalah bahwa Java di compile ke dalam file yang berisi byte code dan dijalankan oleh JVM, sedangkan untuk kode JavaScript secara langsung dieksekusi oleh browser. Satu perbedaan lagi yaitu bahwa Java dijalankan di dalam JVM dan membutuhkan JDK atau JRE untuk menjalankannya, sedangkan JavaScript berjalan di dalam browser dan hampir setiap browser modern saat ini telah mendukung JavaScript.

2. Static and dinamis

Perbedaan utama antara JavaScript dan Java adalah pada jenis bahasanya, jika pada JavaScript merupakan bahasa dinamis sedangkan Java termasuk jenis bahasa statis.

3. Dukungan closures

JavaScript mendukung closures, berupa fungsi anonim. Dengan kata lain kita dapat melewati fungsi sebagai argumen ke fungsi lain. Java tidak memberlakukan metode tersebut dan satu-satunya cara untuk mensimulasi closures adalah dengan menggunakan class anonim. Menurut artikel yang pernah saya baca, Java 8 telah membawa dukungan closures nyata di Java dalam bentuk Lambda dan membuat hal ini lebih mudah dalam menulis kode ekspresif tanpa banyak kerumitan di Java 8.

4. OOP

Bahasa java adalah Object Oriented Programming, meskipun JavaScript juga mendukung class dan objek, ini lebih seperti sebuah bahasa scripting yang berorentasi objek. Java menyediakan paket untuk kelompok class yang terkait dan menyediakan deployment control yang lebih baik menggunakan JAR, WAR, dan EAR juga.

5. Berjalan dimanapun

Java menggunakan byte code untuk memperoleh platform independence, JavaScript langsung berjalan pada browser, akan tetapi kode yang ditulis dalam JavaScript sering bermasalah, misalnya untuk kode tertentu dapat berjalan dengan baik di Mozila Firefox tetapi bisa saja tidak bekerja di Internet Explore 7 atau 8. Hal ini dikarenakan terdapat masalah pada kompatibilitas browser, karena implementasi berbasis JavaScript buruk akhirnya muncullah jQuery.

6. Blok vs fungsi berdasarkan scoping

Java menggunakan scoping berdasarkan blok yaitu variabel keluar dari ruang lingkup sebagai kontrol keluar dari blok, kecuali class variabel. Sedangkan JavaScript menggunakan scoping berdasarkan fungsi, variabel dapat diakses dinyatakan dengan fungsi. Jika kita memiliki variabel lokal dan global dengan nama yang sama, maka yang akan diutamakan adalah lokal dalam JavaScript

7. Konstruktor

Java memiliki konsep konstruktor yang memiliki beberapa sifat seperti memastikan bahwa class konstruktor bejalan sebelum sub class. Disisi lain konstruktor JavaScript hanya fungsi lain, yang artinya tidak ada aturan khusus untuk konstruktor dalam JavaScript misalnya saja tidak dapat memiliki jenis kembali atau nama yang harus sama dengan class

8. NullpointerExeption

JavaScript jauh lebih fleksibel daripada Java, karena ketika kita tidak memiliki NullPointerException dalam JavaScript, variabel dapat menerima berbagai jenis data karena JavaScript mempunyai tipe bahasa yang dinamis

9. Penerapan

JavaScript memiliki ruang tersendiri untuk HTML dan CSS dalam pengembangan web. Sementara pada Java ada di mana-mana.

Java adalah bahasa pemrograman yang diciptakan di Sun Microsystem yang bertujuan untuk membuat suatu platform universal, jadi program yang anda buat di Windows akan bias langsung dijalankan di Linux dengan perubahan yang minimal. Jadi lebih baik disetarakan dengan VB, Delphi untuk tujuan dan kegunaannya.

JavaScript adalah bahasa scripting di web biasa digunakan untuk memproses data di sisi user atau browser dan tidak ada hubungannya dengan Java(Bahasa Pemrograman). JavaScript dibuat berdasarkan ECMA Script dan awal mula penamaanya dalah sebagai berikut: Mocha->LiveScript->JavaScript Dinamakan JavaScript karena rilisnya bersamaan dengan Netscape Navigator 2.0 yang juga pertama kali memberi dukungan pada Java, jadi masyarakat akan mengira bahwa JavaScript berhubungan dengan Java (yang sedang booming waktu itu).

Perbedaan Java dan JavaScript antara lain adalah :

  • Javascript biasanya dalam penggunaanya digabungkan dengan HTML, tujuannya adalah memperkaya HTML supaya bisa lebih interaktif, oleh karena itu java script sangat tergantung dengan browser yang digunakan. Jika browser tidak mengijikan(disable) untuk menggunakan javascript makan aplikasi yang menggunakan javascript tidak maksimal, bahkan bisa saja error. Java adalah bahasa pemogramam berorientasi object(OOP) dimana aplikasi yang dibuat bisa langsung di eksekusi, tentu saja dengan melakukan compiler terlebih dahulu. Bahasa java mirip dengan .Net nya Microsoft, namun java bersifat terbuka, berbeda dengan .Net yang penggunaanya membutuhkan lisensi.

  • JavaSript hanya merupakan bahasa scripting, sedangkan Java bahasa pemrograman yang multifungsi dan platform independent. Java bisa digunakan untuk membuat aplikasi desktop dan juga server (SDK dan EE) ada juga untuk pemrograman mobile (ME), sedangkan JavaSript berbasis client side hanya bisa dijalakan dengan browser dan dieksekusi di komputer klien.
    Selain itu Java juga bisa digunakan untuk membuat aplikasi desktop yang dijalankan di Browser dengan menggunakan Applet, sedangkan JavaScript hanya bisa berjalan bila dikombinasikan dengan HTML.

  • JavaScript adalah suatu script (text) yg dibaca oleh browser, kemudian diterjemahkan menjadi sekumpulan perintah. Kemudian perintah itu dijalankan di browser. JavaScript (umumnya) disisipkan dlm HTML. Java adalah suatu program yg dihasilkan (dicompile) di server, kemudian dijalankan di browser (kalo dia Java Applet) atau dijalankan di server (kalo dia Java Server Pages). Baru hasilnya ditampilkan di browser. Program Java harus diambil dari server.

  • Perbedaan utama antara Jaca Script dengan Java adalah cara suatu program dieksekusi. Dengan java sendiri penggunakaannya bisa lebih luas, JME –> untuk pengembangan aplikasi pada handphone, JDK –> pengembangan aplikasi pada desktop dan JEE –> untuk pengembangan aplikasi yang besar (enterprise)