C ++ dan Java adalah beberapa bahasa pemrograman yang sangat populer. Mereka dapat dibandingkan secara sangat rinci, membandingkan kecepatan, mengetik, penyusun, dll., Tetapi untuk orang awam rata-rata terlalu banyak, dan akan lebih mudah untuk mempertimbangkan perbedaan mereka pada tingkat umum, tingkat dasar, sehingga bahkan orang yang jauh dari pemrograman dan dapat menarik kesimpulan untuk dirinya sendiri hanya melihat area ini. Sudah pada tahap ini, kita dapat menyimpulkan bahasa paradigma mana yang cocok untuk Anda. Dan ya, situasi pilihan semacam itu cukup nyata - misalnya, untuk siswa untuk tujuan pendidikan.
Untuk melakukan ini, saya akan mencoba mempertimbangkan secara singkat konstruksi utama bahasa pemrograman, yaitu:
ekspresi: matematika, logis, string;
operator: pernyataan majemuk, pernyataan penugasan, pernyataan IF bersyarat, loop FOR dan WHILE, pernyataan GOTO dan lainnya;
subprogram: prosedur dan fungsi;
tipe data: tipe dasar, struktur, kelas, antarmuka dan templat.
(Artikel ini bukan terjemahan, tetapi analisis pribadi saya dari informasi yang dikumpulkan)
Ekspresi
Jawa
Ekspresi matematika
Ekspresi matematis adalah ekspresi yang menghasilkan angka. Mereka termasuk variabel, fungsi, dan konstanta.
Operator aritmatika di Jawa memungkinkan Anda untuk melakukan operasi matematika standar penjumlahan, pengurangan, perkalian, dan sebagainya. Juga dalam bahasa ada operator penurunan dan penambahan (menambah atau mengurangi nilainya satu).
Ekspresi logis
Ekspresi logis adalah deskripsi ekspresi yang menghasilkan true (true) atau false (false). Operator logis hanya bekerja dengan operan tipe boolean.
Semua operator logis dengan dua operan menggabungkan dua nilai logis untuk membentuk nilai logis yang dihasilkan.
Java mendukung lebih dari sepuluh pernyataan: AND (logis dan disingkat), OR (logis dan disingkat), XOR, BUKAN, dan sebagainya.
Ekspresi string
Ekspresi string - manipulasi string. Itu terlihat seperti ekspresi matematis, tetapi hasilnya adalah baris baru.
Bahasa Java memungkinkan Anda untuk menambahkan, mengurangi, membagi, dan menggabungkan string. Fitur khas Java adalah keberadaan kelas String, yang disediakan khusus untuk bekerja dengan string.
C ++ / Visual basic
Ekspresi matematika
C ++ dan Visual Basic juga termasuk operator aritmatika, operator penurunan dan penambahan, dan sintaksis ekspresi matematika juga mendukung tanda kurung dan minus unary.
Seperti dalam bahasa Jawa, mereka memiliki operasi yang lebih kompleks yang tersedia sebagai fungsi bawaan, misalnya, akar kuadrat (x) dan eksponen eksponen (x).
Ekspresi logis
Visual Basic menggunakan enam operator: selain AND, OR, NOT, XOR, operator ekivalen dan implikasi juga digunakan.
Dalam C ++, mereka menggunakan tiga operator logis: AND, NOT, dan OR. Dalam semua bahasa yang dipertimbangkan, beberapa operator dapat digunakan untuk beberapa operan sekaligus.
Ekspresi string
Tidak seperti Java, di C ++ tidak ada dukungan bawaan untuk objek seperti string, dan jika perlu, bekerja dengan string (penambahan, pengurangan, dll.) Termasuk string file header.
Dalam Visual Basic, karena pentingnya bekerja dengan string, tipe data String didukung, yang mewakili urutan karakter. Variabel tipe ini dapat mengambil ekspresi apa pun yang menghasilkan string.
Operator
Jawa
Semua bahasa yang dipertanyakan serupa dalam hal mereka mendukung operator loop (UNTUK, SAAT), operator kondisi IF, namun, perbedaan yang signifikan adalah bahwa di Jawa tidak ada operator transisi goto seperti itu: kata kunci const dan goto disimpan, Namun, mereka tidak digunakan.
C ++ / Visual basic
C ++ dan Visual Basic, yang dikembangkan jauh lebih awal dari Java, memiliki operator transisi goto, tetapi menggunakan operator ini umumnya tidak diinginkan.
Prosedur dan Fungsi
Jawa
Subprogram adalah kelompok operator bahasa yang bernama, lengkap secara logis, yang dapat dipanggil untuk mengeksekusi beberapa kali dari berbagai tempat dalam program. Fungsi mengembalikan nilai ke program utama, prosedur tidak kembali.
Di Jawa tidak ada prosedur atau fungsi, kedua entitas ini disebut metode, tetapi mereka juga dapat mengembalikan atau tidak mengembalikan nilai, dapat dipanggil dengan atau tanpa parameter.
C ++ / Visual basic
Dalam C ++, rutin diimplementasikan sebagai fungsi. Program C ++ terdiri dari satu atau lebih fungsi yang harus dijelaskan sebelum menggunakannya.
Program Visual Basic juga terdiri dari beberapa rutin yang terbagi dalam prosedur dan fungsi.
Tipe data
Jawa
Di Jawa, untuk semua tipe numerik dasar, konvensi tertentu digunakan secara independen, yang independen terhadap implementasi lingkungan tertentu, yang menjamin hasil yang dapat direproduksi pada berbagai platform.Juga, Java tidak memiliki konstruksi struct dan union, semua ini digabungkan dalam konsep kelas.
Selain itu, Java tidak mendukung pointer (yang disebut "tautan" memainkan peran mereka di Jawa), templat, kelebihan beban operator, struktur, dll.
C ++ / Visual basic
C ++ diwarisi dari C semua tipe data yang biasa dari yang terakhir. Jenis ini digunakan untuk mewakili bilangan bulat dan bilangan real berbagai ukuran dan presisi. Sayangnya, jangkauan aktual dan akurasi dari jenis-jenis ini bervariasi tergantung pada implementasi penerjemah tertentu.
Karena ketergantungan pada penerjemah pada platform yang berbeda, perilaku C ++ dan kode Visual Basic dapat berubah. C ++ sedang berusaha untuk memberikan programmer dengan kemampuan untuk merangkum data dengan mendeklarasikan struktur (struct) dan polimorfisme menggunakan serikat pekerja (union). Kedua desain ini mencakup batasan ukuran dan keselarasan yang spesifik dan kritis untuk mesin.
C ++ dan Visual Basic mendukung pointer dan aritmatika pointer, overloading operator, dll.
Ringkasan
Bahasa Jawa dikembangkan di bawah pengaruh bahasa yang ada sebelumnya, termasuk Visual Basic dan terutama C ++, yang berarti bahwa sejumlah konstruksi bahasa ini bertepatan, namun, banyak kekurangan C ++ diperbaiki di Jawa, yang mempengaruhi kinerja dan hasil program. , dan juga langkah-langkah diambil untuk "menyederhanakan" bahasa dibandingkan dengan C ++, yang menyiratkan perbedaan yang signifikan antara Java dan C ++. Meskipun memiliki konstruksi yang serupa, Java sangat berbeda dari C ++ dan Visual Basic.
PS Untuk berjaga-jaga, saya akan menyebutkan bahwa saya tidak berangkat untuk memberikan saran tentang memilih bahasa untuk belajar atau bahasa terbaik di antara mereka yang dipertimbangkan, tetapi hanya menyediakan makanan untuk alasan. Dan omong-omong, bagaimana Anda memilih bahasa pemrograman pertama Anda, apa yang penting bagi Anda di tempat pertama? Atau apakah Anda "berkewajiban" untuk menulis sesuatu yang spesifik di universitas?