Saya memiliki pemikiran bahwa saya sedang belajar Java sebagai bahasa kedua saya (saya seorang pengembang Perl). Tetapi hanya dengan membaca sedikit tutorial online, saya benar-benar tidak dapat menemukan kesamaan di antara keduanya. Apa yang akan saya pahami dengan mudah saat mempelajari Java?
14
Jawaban:
Perl adalah bahasa pemrograman dinamis tingkat tinggi, bertujuan umum, multi-paradigma, ditafsirkan. Java adalah bahasa pemrograman tingkat tinggi, bertujuan umum, sebagian besar paradigma tunggal, tipe statis.
Jadi, keduanya tingkat tinggi :
dan tujuan umum :
Pada dasarnya ini berarti bahwa semua yang dapat Anda lakukan dengan Perl, Anda juga dapat melakukannya dengan Java. Dan seperti @KyleHodgson menyebutkan , kedua sintaks mereka berasal dari C dan C ++ dan sintaks untuk hal-hal sederhana seperti
for
loop danif
pernyataan pada dasarnya sama - dan seperti catatan @DipanMehta , keduanya dikumpulkan dari sampah . Dan tentu saja keduanya sangat populer dan memiliki komunitas yang hidup.Tapi di situlah kesamaan berhenti. Perl adalah multi-paradigma, mendukung berbagai paradigma pemrograman:
Perl tidak mendorong satu paradigma tunggal, mereka pada dasarnya sama dan Anda bebas memilih mana yang menurut Anda paling sesuai dengan apa pun yang Anda bangun, tanpa tentu saja membatasi Anda pada satu paradigma tunggal, Anda dapat mencampur dan mencocokkan. Di sisi lain, Java sebagian besar bahasa berorientasi objek berbasis kelas. Ada dukungan untuk pemrograman generik, tetapi sebagai pemula, Anda harus menganggap Java sebagai bahasa berorientasi objek berbasis kelas.
Jadi Perl memungkinkan lebih dari satu cara untuk menyusun kode 1 Anda , sedangkan Java hanya satu. Itu bukan hal yang buruk (atau hal yang baik), hanya saja berbeda. Jika Anda belum menulis kode Perl yang berorientasi objek, Java mungkin tampak agak asing pada awalnya. Jangan berkecil hati, orientasi objek adalah sesuatu yang pada akhirnya harus Anda pelajari, jika Anda mempertimbangkan karier dalam pengembangan perangkat lunak, dan belajar Java adalah cara yang baik untuk mempelajari konsep dasar orientasi objek - bukan cara yang sempurna, tetapi pasti cara yang bagus.
Dan seperti yang Anda tahu, Perl ditafsirkan, sedangkan Java adalah ... yah ... binatang yang sama sekali berbeda . Di Jawa, Anda menulis kode seperti di Perl, lalu mengompilasinya . Hasilnya bukan executable, tetapi bytecode Java . Format perantara ini dijalankan (akhirnya!) Di Java Virtual Machine , yang agak analog dengan penerjemah Perl. JVM harus diinstal terlebih dahulu agar program Java dapat berjalan, secara bersamaan tentang bagaimana Anda perlu menginstal penerjemah Perl untuk menjalankan skrip Perl 2 .
Berasal dari latar belakang Perl, hal yang paling penting untuk diingat adalah kompilasi ke langkah bytecode: Setiap kali Anda membuat perubahan ke file sumber Java Anda perlu mengkompilasi ulang. Mungkin terdengar gila pada awalnya, tetapi kompilasi memiliki konsekuensi yang sangat bagus: Kode Anda diperiksa untuk berbagai kesalahan pada tahap ini, dan kompiler menolak untuk menyelesaikan proses jika ada, dan kadang-kadang akan membantu Anda menentukan kesalahan dengan pesan yang membantu (Selalu ada pesan, tetapi hanya kadang-kadang mereka membantu).
Yang membawa kita ke perbedaan besar terakhir:
Perl dinamis 3 :
dan secara dinamis mengetik 4 :
dan Java diketik secara statis :
Yang, untuk membuatnya sesederhana mungkin, berarti di Jawa Anda harus mendeklarasikan jenis variabel dan metode Anda sebelum menggunakannya. Ada perbedaan lain, tetapi saya tidak ingin merusak kesenangan menemukan mereka sendiri :)
Dan, akhirnya, ada satu perbedaan yang sangat penting: Jawa adalah bahasa yang manis bagi akademisi 5 dan dunia usaha, sementara Anda jarang bertemu Perl dalam lingkungan akademis lagi (tempat saya pertama kali bertemu dengannya), dan perspektif kariernya menyusut. (masih beberapa pekerjaan, tapi tidak ada yang dekat dengan Java, .Net bahasa atau PHP). Saya tidak akan mengomentari alasannya, saya hanya menyatakan fakta (sedih). Karena Anda masih sangat muda, dengan mempelajari Java Anda akan sedikit lebih siap untuk gelar Ilmu Komputer, jika Anda memilih untuk mengikuti jalan itu.
Jangan menyerah pada Perl, tentu saja, tetapi menjelajahi Jawa. Fakta bahwa mereka lebih berbeda daripada yang serupa juga berarti bahwa Anda akan mempelajari pendekatan dan mentalitas pemrograman yang sangat berbeda, itu adalah jalan yang sulit tetapi yang pada akhirnya akan menjadikan Anda seorang programmer yang lebih baik.
1 "Tim Toady"
2 Komunitas Perl secara aktif menjelajahi kemungkinan mesin virtual Perl, melalui Parrot .
3 Dinamis tidak selalu berarti diketik secara dinamis.
4 Perl secara dinamis diketik untuk tipe yang ditentukan pengguna, diketik secara statis berkenaan dengan array yang membedakan, hash, skalar, dan subrutin, dan sangat diketik melalui
use strict
, jadi pada dasarnya ini adalah bahasa sistem tipe variabel, tetapi untuk menjaga kewarasan, sebut saja secara dinamis sebut saja secara dinamis diketik.5 Sampai pada titik pelecehan, seperti yang ditulis Joel Spolsky di The Perils of JavaSchools .
sumber
Yah, mereka berdua menggunakan sintaks seperti C - titik koma, kurung kurawal dan sejenisnya. Secara pribadi, ketika saya mencoba untuk beralih dari Perl ke Jawa beberapa tahun yang lalu - hal terbesar yang membuat saya tersandung adalah pemrograman berorientasi objek. Saya telah mengembangkan beberapa objek di Perl, tetapi itu melukai kepala saya untuk mencoba membayangkan kehidupan di Kerajaan Kata benda.
sumber
Mengambil jawaban alternatif karena jawaban yang saat ini dipilih tampaknya berfokus pada perbedaan antara keduanya (benar-benar tidak ada banyak kesamaan antara Perl dan Jawa).
Kesamaan
Jika kode Perl Anda sangat ketat dan ortogonal (teruji dengan baik, terdokumentasi dengan baik, menggunakan Moose atau orientasi objek yang ketat), maka konsep tersebut akan membawa sangat baik ke Jawa, karena Jawa sangat ortogonal dan tidak ekspresif.
sumber