Sejarah Bahasa Pemograman Java
Bahasa pemrograman Java terbentuk dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas1992. James Gosling merupakan orang yang mendirikan bahasa pemograman java.
Java merupakan suatu software bahasa pemograman yang dikembangkan sebagai komponen utama platform Java oleh Sun Microsystems yang diluncurkan pada tahun 1995. Kehadiran bahasa pemograman ini banyak dipengaruhi oleh bahasa pemograman sebelumnya yakni C dan C++. Dalam bahasa pemogaman ini terdapat beberapa paket yang disertakan dalam peluncuran awalnya adalah sbb: Java.lang, Java.io, Java.util, Java.net, Java.awt, Java.applet. Teknologi Java memiliki tiga komponen penting, yaitu:
1. Programming-language specification
2. Application-programming interface
3. Virtual-machine specification
Bahasa pemograman, atau sering disebut juga dengan bahasa komputer, adalah instruksi standar untuk memerintah komputer untuk menjankan apa yang dimangsut penguna atau programmer(orang yang membuat program/ aplikasi-aplikasi/ software). Bahasa pemograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa programmer ini memungkinkan seorang programmer dapat menentukan secara tepat data mana yang akan dieksekusi oleh komputer, bagaimana data ini akan disimpan dan/atau diteruskan, dan jenis langkah apa secara sengaja yang akan diambil dalam berbagai situasi. Sehingga segala hal kemungkinan yang akan terjadi sudah direncanakan dan diatur dan sehingga pula tidak ada jalan yang buntu dalam penjalanan suatu proses.
Dalam dunia pemrograman terdapat beberapa bahasa yang digunakan dalam menjalankan peripheral dan mengeksekusi suatu data. Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
1. Bahasa Mesin, jenis bahasa yang memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110.
2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bahasa Inggris Assembly), system bahasa yang memberikan perintah kepada komputer dengan memakai kode-kode dan/atau singkat-singkatan yang sebelumnya sudah ditentukan dan dirakit (kode mnemonic).
Misalnya; MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
3. Bahasa Tingkat Menengah, merupakan jenis bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
4. Bahasa Tingkat Tinggi, jenis bahasa pemograman komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia yang mudah dipahami dan digunakan karena sudah mendekati dan sama dengan bahasa keseharian manusia.
Misalnya; begin, end, if, for, while, and, or, dsb.
Dari berbagai bahasa pemograman yang ada, sebagian besar bahasa pemograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang dikelompokkan sebagai bahasa tingkat menengah dan Assembly yang merupakan bahasa tingkat rendah, karena sulit digunakan dan dipahami oleh manusia.
Kelebihan & Kekurangan Java
Kelebihan Pemograman Java
Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
OOP (Object Oriented Programming) Pemogram Berorientasi Objek.
Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
Multiplatform, Kelebihan utama dari Java ialah dapat dijalankan di beberapaplatform /sistem operasi komputer, Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java.
Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Mendukung koneksi ke database.
Penulisan kode yang lebih baik. Bahasa Java mendorong kebiasaan menulis kode yang baik, karena berorientasi objek, arsitektur Java Bean, API yang mudah dikembangkan, serta kemampuan garbage collection yang dimiliki oleh Java.
Mudah didistribusikan dan diupdate, khususnya Java Applet.
Menulis program lebih cepat karena kelengkapan API.
Terhindar dari ketergantungan platform.
Kekurangan pemograman java
Java memiliki kecepatan yang kurang dari bahasa C ++.
Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.Sehingga flatform satu dengan yang lainnya tidak kompatibel.
Java mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft.NET.Platform, Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal ).
Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat dengan bahasa lain seperti C atau C++.
Java merupakan bahasa pemograman yang kompleks.