Java dirancang agar mudah dipelajari dan digunakan secara efektive. java tidak emnyediakan fitur fitur rumit, serta banyak program yang mulanya harus dikerjakan secara manual, dijava dikerjakan secara otomatis seperti alokasi memori.
Java tidak mendukung fitur fitur rumit seperti dibawah ini :
1.Explicit pointer manipulation
2.Implicit type casting
3.Structure and unions
4.Operator overloading
5.Templates
6.Header file
7.Multiple inheritence
C dan C++ dipilih sebagai model bahasa java. Sebagian besar syntax dan kata kunci dalam java berasal dari C++ namun dapat menjadi syntax yang berbeda.Meskipun pemrgram bahasa C++ akan cepat belajar bahasa java namun tetap harus waspada karena ada beberapa syntax yang tidak sama dengan bahasa pemrogramanJava.
Beberapa fasilitas rumit tidak disediakan Java seperti pointer dan manajemen memory yang dapat didefinisikan pemrogram. Elemen elemen ini sangat rumit bahkan bagi pemrogram ahli sekalipun, pencarian kesalahan karena pointer sangat sulit. Java dimaksutkan sebagai bahasa yang mudah dipelajari dan mudah untuk digunakan.perancangnya memutuskan meniadakan manipulasi pointer, karena itu java disebut C++-, C++ dikurangi fasilitas fasilitas rumit.
Rancangan pemrograman java berdasarkan tegnologi yang telah terbukti. Fitur fitur penting dan bermanfaat dari bahasa sebelumnya diadopsi sementara fitur fitur rumit dan membingungkan ditiadakan. serta dimungkinkan pekerjaan yang membosankan dan menjengkelkan dilakukan oleh java / telah disediakan kelas untuk fungsi tersebut.
Bahasa beroriantasi Objek
Meskipun java dipengaruhi bahasa bahasa terdahulu, namun bahasa java tidak dirancang untuk kompatible dengan bahasa bahasa sebelumnya. Bahasa java adalah sepenuhnya baru.hal ini memberi kebebasan bagi perancang java itu sendiri.
Java merupakan penyeimbang antara Idealis OOP murni yang memandang semua harus objek dan penerapan model pragmatis dengan Idealis "stay out my way" Model objek di java sederhana dan mudah untuk diperluas, sementara tipe data sederhana seperti interger, float dan char tetap ada untuk mengejar kinerjatinggi tipe data primitif yang langsung didukung perangkat keras.
Orientasi Objek adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada pemrograman Orientasi Objek, program merupakan sekelompok Objek yang saling berinteraksi. Ada secara independen dan berkomunikasi dengan Objek lain dengan cara yang berbeda-beda guna untuk mencari informasi tertentu atau menugaskanobjek lain untuk melakukan tugas tertentu.
Statically typed
Seluruh objek didalan program harus didefinisikan dulu sebelum dapat digunakan. Pemaksaan ini memungkinkan kompilator java menemukan dan melaporkan terjadinya pertentangan type sehingga menjadi pencegahan kesalahan awal yang tidak perlu(seperti mengurangkan varibel bertype integere dengan variable bertype string)
Bahasa Dikompilasi
Sebelum menjalankan program di bahasa java. Program dikompilasi menggunakan java compiler. kompiler akan menghasilkan bytecode yang serupa fungsinya dengan file code mesin.bytecode yang telah dihasilkan dapat dieksekusi di sembarang platform yang memiliki Java Interpreter. Java Interpreter membaca bytecode dan menterjemahkan perintah bytecode menjadi perintah bahasa mesin yang dapat dieksekusi mesin.
Bahasa yang aman
Bahasa java (implementasinya) telah memperoleh pengalaman aspek keamanan dari applet java, cara kerja applet sebagai berikut :
Saat web browser mengetahui adanya java applet di halaman web yang sedangn di interpretasi (web rendering) maka browser akan melakukan download terhadap applet dan keseluruhan halaman web. Applet itu kemudian dijalankan dikomputer mana dia berada. untuk itu java telah memberi keamanan secara berlapis terhadap applet.
Java menggunakan model pengamanan tiga lapis (three-layer security) untuk melindungi system dari untrusted java code :
1.Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan aturan pemrograman bahasa java
2.Kedua, class loader menangani pemuatan kelas java ke Runtime Interpreter
3.Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti system file, port, jaringan
proses external dan windowing.
No comments:
Post a Comment