Bahasa Pengaturcaraan JVM – Panduan Pakar Membuat Perisian Untuk Mesin Maya Java

Pendedahan: Sokongan anda membantu mengekalkan laman web ini! Kami memperoleh bayaran rujukan untuk beberapa perkhidmatan yang kami cadangkan di halaman ini.


Senarai Bahasa JVM di halaman ini merangkumi bahasa pengaturcaraan utama yang digunakan untuk membuat perisian untuk Java Virtual Machine (JVM). Pada asalnya, JVM dibuat untuk hanya menyokong bahasa Java. Namun, ketika mendapat populariti, lebih banyak bahasa ditambahkan atau disesuaikan untuk berjalan di platform.

Bahasa JVM

Bahasa pengaturcaraan JVM berikut ditulis khusus untuk dijalankan di Java Virtual Machine. Sebilangan besar dari mereka adalah implementasi bahasa yang ada, seperti Python atau PHP, disesuaikan untuk bekerja dengan JVM, seperti Jython (pelaksanaan Python) dan Quercus (pelaksanaan PHP).

Di bahagian bawah artikel, kami juga menyenaraikan beberapa penukar Java yang dapat mengambil kod dari bahasa seperti C atau Python dan (nampaknya) menerjemahkannya ke kod Java. Walaupun penukar ini bertemu dengan ulasan yang pelbagai dari pengguna, mereka masih perlu dilihat.

Paling popular

Mari kita mulakan dengan bahasa pengaturcaraan yang paling popular untuk JVM. Itu adalah Java (tentu saja), Groovy, Clojure (dialek Functional Lisp), Scala, JRuby, Kotlin, Xtend, Ceylon, Fantom, dan Jython. Sebilangan bahasa dikembangkan dengan jelas untuk JVM.

Clojure

Clojure mungkin menjadi kegemaran orang ramai daripada semua bahasa pengaturcaraan untuk JVM. Dialek Lisp Fungsional, kebolehubahan dan kesederhanaannya menjadikannya pilihan yang popular untuk pemaju. Mengendalikannya adalah mesej ralat yang membingungkan, jenis dinamik, dan sintaks yang sangat berbeza.

Scala

Scala adalah bahasa pengaturcaraan JVM yang ditaip secara statik yang dapat menggunakan perpustakaan Java. Ia menggunakan nilai yang tidak berubah dan menyokong paradigma penting dan fungsional, yang membolehkan pengguna bebas memilih. Walau bagaimanapun, tata bahasa yang kompleks dan sistemnya yang kuat dapat menakut-nakutkan beberapa pemula.

Kotlin

Kotlin adalah bahasa pengekodan yang ditaip secara statik untuk Java Virtual Machine. Direka untuk mengatasi kebanyakan masalah Java, dengan sistem jenis yang dirancang untuk menghilangkan rujukan kosong dari kod kami. Oleh kerana ia berjalan di JVM, bahasa pengaturcaraan ini dapat dikendalikan sepenuhnya dengan Java. Seperti Scala, ia dapat menggunakan perpustakaan dan kerangka kerja Java yang ada.

Ceylon

Ceylon adalah bahasa pengaturcaraan berorientasikan objek yang ditaip secara statik untuk JVM. Dicipta oleh Red Hat, ia mempunyai sistem jenis yang lebih hebat daripada Java, tetapi dilengkapi dengan sintaks biasa. Walaupun mempunyai senarai ciri yang mantap, bahagian pasarannya yang kecil bermaksud sebilangan kecil perpustakaan yang berguna.

Jawa

Java tentu saja bahasa pengaturcaraan JVM yang asli. Ia mendapat sedikit sintaks dari C ++ dan C, tetapi lebih mudah digunakan dan menggunakan pengaturcaraan berorientasikan objek. Piawaian dan kesamaan yang konsisten di seluruh industri menjadikannya pilihan yang kukuh untuk JVM. Namun, sebilangan pengguna mengadu ia terlalu verbose dan mempunyai beberapa ciri yang membingungkan.

Groovy

Apache Groovy adalah bahasa pengaturcaraan yang popular untuk JVM dengan ekosistem yang besar dan maju. Kewujudan beberapa perpustakaan dan kerangka kerja (terutamanya kerangka Grails) menjadikannya pilihan serba boleh untuk pembangun. Groovy adalah bahasa skrip yang dinamik dan berorientasikan objek.

Xtend

Xtend menawarkan interoperabilitas Java dan perkakas yang kaya. Bahasa pengaturcaraan JVM yang ditaip secara statistik ini menyusun kod Java dan bukannya bytecode. Ini sangat membantu untuk pemula dan penyahpepijatan. Beberapa pembangun mengadu masalah penyusunan lambat dengan kelas besar.

Fantom

Bahasa pengaturcaraan berorientasikan objek ini untuk JVM berbeza dari yang lain seumpamanya dengan menolak sokongan generik yang ditentukan pengguna. Namun demikian, ia merangkumi tiga kelas bawaan yang dapat di parameter. Ideanya ialah membiarkan pengaturcara menggunakan generik sambil memastikan sistem jenis keseluruhan mudah.

Pelaksanaan Bahasa Lain

Bahasa pengaturcaraan JVM di bawah adalah semua pelaksanaan bahasa popular lain, seperti Lisp, Ruby, Python, dan PHP.

Pelaksanaan Lisp

Terdapat beberapa pelaksanaan Lisp sebagai bahasa pengaturcaraan JVM. Mereka adalah: Armed Bear Common Lisp, CL untuk Java, Skema, dan Clojure, (yang kami sebutkan di atas).

Skim

Skema adalah salah satu daripada dua dialek Lisp utama. Ini adalah bahasa pengaturcaraan yang berfungsi dengan reka bentuk minimalis dan alat peluasan bahasa yang hebat. Walaupun ia tidak berfungsi secara langsung dengan JVM, beberapa pelaksanaannya tetap berlaku. Ini termasuk:

  • BiglooJVM . Penyusun Skema ini memberikan kod bytec untuk Java Virtual Machine terus dari bahasa pengaturcaraan Skema.

  • Kawa . Ini adalah lanjutan dari bahasa Skema yang berfungsi dengan Mesin Maya Java.

  • Skim JS adalah pelaksanaan Skema yang menghubungkan dengan Java.

Lisp Bersama Beruang Bersenjata

Bahasa pengaturcaraan pelaksanaan Common Lisp untuk JVM ini mempunyai jurubahasa dan penyusun, yang biasa disebut ABCL.

CLforJava

CLforJava adalah implementasi Common Lisp yang berjalan di JVM dan berupaya memberikan akses ke Perpustakaan Java mana pun tanpa memerlukan Interface Fungsi Asing. Nampaknya telah dihentikan dalam beberapa tahun terakhir.

Clojure

Kami menyebut Clojure di atas di bahagian “paling popular”, kerana ini adalah salah satu pelaksanaan Lisp yang paling terkenal untuk JVM.

Arden2ByteCode

Dibangunkan pada tahun 2010, Arden2ByteCode adalah penyusun sumber terbuka yang dibuat untuk Arden Syntax. Ia berjalan di JVM, menerjemahkan Arden Syntax ke dalam Java bytcode.

JGNAT (Ada)

JGNAT adalah penyusun percuma untuk bahasa Ada. Itu adalah versi penyusun GNAT yang menyusun bahasa Ada ke java bytecode. Pada mulanya merupakan sebahagian daripada projek untuk tentera A.S., JGNAT sejak itu dibatalkan.

COBOL Visual Fokus Mikro

Visual Cobol oleh Micro Focus menawarkan rangkaian alat lengkap untuk aplikasi COBOL yang tahan masa depan. Salah satunya adalah penyusun yang membolehkan pemaju menyusun kod COBOL yang ada terus ke Java ByteCode untuk Mesin Maya Java.

Pelaksanaan Bahasa Markup ColdFusion (CFML)

ColdFusion Markup Language membolehkan pembangun laman web membuat halaman yang mengandungi maklumat pemboleh ubah (grafik atau teks) yang disusun secara dinamik sebagai tindak balas terhadap input pengguna dan pemboleh ubah lain. Ia memiliki beberapa implementasi untuk Java Virtual Machine, termasuk Railo, Lucee, dan Adoby ColdFusion.

  • Adobe ColdFusion adalah platform pengembangan webapp yang pantas. Bahasa pengaturcaraan dijalankan pada Mesin Maya Java. Selain bahasa scripting yang lengkap, ini juga termasuk Integrated Development Environment (IDE).

  • Lucee . Lucee adalah bahasa skrip dinamik dan ringan yang berjalan di JVM. Ini membolehkan pengembangan apa sahaja dari webapp yang sangat sederhana hingga sangat canggih. Ia pada awalnya dilancarkan sebagai garpu Railo (di bawah).

  • Railo sebenarnya perisian pelayan yang menerapkan bahasa scripting CFML. Ia berjalan di JVM. Mula-mula dibuat sebagai pesaing Adobe ColdFusion, ia beralih ke model sumber terbuka dan boleh didapati di GitHub.

  • Buka BlueDragon atau hanya OpenBD bukan bahasa pengaturcaraan tetapi merupakan mesin CFML Java yang menafsirkan dan memproses kod CFML. Ini adalah sumber terbuka sepenuhnya dan percuma untuk semua.

Pelaksanaan JavaScript

JavaScript adalah bahasa pengaturcaraan ringan dan sangat popular yang digunakan secara meluas di laman web. Walaupun namanya, itu tidak benar-benar berkaitan dengan bahasa Jawa. Ada beberapa implementasi JavaScript yang berjalan di Java Virtual Machine.

  • Nashorn adalah mesin JavaScript yang dibuat oleh Oracle untuk JVM. Nashorn dilancarkan sebagai penyelesaian sumber terbuka pada tahun 2012 di repositori OpenJDK. Ini memungkinkan pengembang menanamkan JavaScript dalam aplikasi Java seperti JVM. “Nashorn” adalah kata Jerman untuk “Rhino,” pelaksanaan JS lain untuk JVM yang dikendalikan oleh Mozilla.

  • Badak adalah bahasa pengaturcaraan JS Mozilla untuk JVM. Ditulis di Java, biasanya disisipkan dalam aplikasi Java untuk memberikan skrip kepada pengguna akhir.

  • RingoJS adalah implementasi JS multi-utas untuk JVM, terutamanya untuk aplikasi sisi pelayan. Ia menggunakan pemacu JDBC yang maju, serta Java Class Library.

kupon hosting web

Mencari hos Java yang tepat?
InMotion Hosting adalah pilihan yang kuat untuk keperluan Java, Tomcat, atau JSP am. Kluster perkakasan yang berlebihan memberikan kebolehpercayaan yang jauh melebihi banyak hos. Sekarang anda boleh menjimatkan sehingga 50% untuk rancangan mereka. Gunakan pautan diskaun ini
untuk mendapatkan perjanjian.

Merkuri Gred Jawa

Java Grade Mercury adalah pelaksanaan Mercury. Ini adalah penyusun yang menghasilkan kod sumber Java yang kemudian dapat dikompilasi ke kod bytava Java untuk lingkungan runtime Java SE. Walaupun tidak ditulis secara khusus untuk berfungsi sebagai bahasa pengaturcaraan JVM, ia dapat menjalankan fungsi ini, seperti yang dicatat oleh pemaju Opturion Julien Fischer .

Komponen Pascal

Sebab Component Pascal tidak dikelompokkan dengan pelaksanaan JVM Pascal di bawah adalah bahawa ia bukan satu. Sebaliknya, ia adalah varian Oberon-2. Ini tidak membiarkan pengaturcara menentukan kaedah yang terlalu banyak, tetapi kaedah yang terlalu banyak dapat dipanggil dari dalam kod Pascal Komponen.

Pelaksanaan Pascal

Pascal adalah bahasa pengaturcaraan prosedural, yang biasanya digunakan untuk mempelajari konsep pengaturcaraan. Ia sangat mirip dengan C. Dikembangkan pada akhir tahun 1960-an, masih digunakan hingga kini, terutamanya dalam versi barunya, Delphi dan Oxygene. Ia memiliki beberapa implementasi untuk Java Virtual Machine, termasuk dalam daftar di bawah.

  • MIDletPascal , dioptimumkan khusus untuk mengembangkan midlet J2ME, dapat menerjemahkan kod sumber Pascal ke dalam kod bytec Java untuk JVM.

  • Pascal percuma adalah penyusun sumber terbuka untuk pascal dan pascal objek. Ia dapat menyasarkan beberapa arkitek pemproses, termasuk AMD64 dan Java Virtual Machine.

  • Oksigen telah dibuat sebagai versi baru Pascal untuk persekitaran .NET dan Visual Studio. Ini terdiri daripada penyusun, penyatuan dengan Visual Studio IDE, dan beberapa perpustakaan sokongan.

Quercus

Quercus adalah implementasi Java PHP. Dikeluarkan sebagai perisian sumber terbuka oleh Caucho Technology, ia dilengkapi dengan beberapa sambungan dan modul PHP, seperti JSON, PDO, dan MySQL. Ini menyediakan integrasi dekat dari perkhidmatan Java dan skrip PHP.

Rakudo Perl 6

Perl 6 oleh Rakudo adalah penyusun yang mensasarkan Java Virtual Machine dan MoarVM. Ia sedang dalam pengembangan aktif, dengan rilis stabil terbaru pada 3 April 2017. Ini adalah pelaksanaan bahasa pengaturcaraan Perl, bahasa peringkat tinggi yang digunakan untuk mengembangkan webapps.

Pelaksanaan Prolog

Prolog adalah bahasa pengaturcaraan peringkat tinggi yang pertama kali dibuat untuk menangani aplikasi kecerdasan buatan. Ia tidak mempunyai banyak aplikasi bahasa LISP. Namun, ia dikenali sebagai alat yang ampuh untuk menyelesaikan soalan mengenai hubungan .

  • TuProlog adalah pelaksanaan Prolog yang ringan yang dirancang dengan konfigurasi teras dan dinamik minimum melalui pemuatan perpustakaan. Ini menyediakan integrasi yang erat antara Prolog dan bahasa berorientasi objek umum seperti Java, C #, dan F #.

  • JIProlog adalah pentafsir Java Prolog murni yang merupakan sumber terbuka dan lintas platform. Ini memberikan kepatuhan tinggi terhadap standard Prolog, dan meningkatkan Java dengan menambahkan kemampuan Prolog.

  • XProlog dikembangkan untuk menangani keperluan Ejen berasaskan Java tertentu. Ia bertambah baik pada WProlog dengan menambahkan aritmetik, sintaks lanjutan, dan pengurusan memori yang lebih baik.

Renjin

Renjin adalah jurubahasa untuk bahasa pengaturcaraan R, yang dibina di atas JVM. Ia membolehkan kod R berinteraksi secara langsung dengan beberapa struktur data dan perpustakaan JVM, tanpa memerlukan pemindahan data yang mahal atau komunikasi antara proses.

Pelaksanaan Python

Bahasa pengaturcaraan Python adalah bahasa yang ditafsirkan. Ia menekankan kebolehbacaan manusia, dengan ruang kosong dan bukan tanda kurung. Umumnya memerlukan lebih sedikit baris kod daripada bahasa lain seperti C ++ atau Java.

  • Jython adalah pelaksanaan Python untuk Java Virtual Machine. Rilis stabil terbarunya adalah pada pertengahan 2015.

  • PyPy adalah jurubahasa Python yang menterjemahkan kod sumber menjadi kod mesin, C, atau JVM bytecode.

  • ZipPy adalah pelaksanaan Python 3 yang pantas dan ringan di JVM. Ia menggunakan penyusun Java JIT dan tersedia di GitHub.

Pelaksanaan Ruby

Ruby adalah sumber terbuka, bahasa pengaturcaraan dinamik yang memfokuskan pada produktiviti dan kesederhanaan. Sintaksnya yang elegan menjadikannya senang dibaca dan ditulis. Pelaksanaan untuk JVM merangkumi Mirah dan JRuby.

  • Mirah adalah bahasa pengaturcaraan JVM dan pelaksanaan Ruby yang mengikuti prinsip-prinsip tanpa perpustakaan runtime, sintaks sederhana, makro dan metaprogramming, dan tanpa hukuman prestasi.

  • JRuby adalah pelaksanaan Ruby yang lengkap, stabil dan berprestasi tinggi untuk Mesin Maya Java. Platformnya bebas dan menyediakan penyelesaian yang mudah dipasang dengan migrasi mudah.

NetRexx

NetRexx adalah bahasa pengaturcaraan sumber terbuka serba guna untuk JVM yang diilhami oleh bahasa Java dan bahasa Rexx. Ia dirancang untuk menjadikan pengaturcaraan “mudah dan menyeronokkan lagi.”

Jabaco

Jabaco adalah bahasa pengaturcaraan BASIC yang dikembangkan untuk Mesin Maya Java. Kod sumbernya serupa dengan VB6, dikompilasi ke bytecode yang “serupa” dengan output dari bahasa pengaturcaraan Java.

Jacl

Bahasa pengaturcaraan Jacl adalah implementasi Tcl, yang ditulis di Jawa. Ia sudah siap dan cukup stabil untuk kegunaan harian. Ia menghasilkan bytecode Java yang dapat digunakan dengan JVM.

JBasik

JBasic adalah jurubahasa bahasa ASAS, ditulis sepenuhnya di Java untuk penggunaan tertanam dan penggunaan baris perintah. Ia menyokong sintaks gaya GW-BASIC tradisional, dan menyediakan sambungan moden. Ia boleh berlari terus dari cengkerang.

Penukar JVM (Program Luar yang Membuat Kod Java)

Selain bahasa pengaturcaraan yang ditulis khusus untuk Java Virtual Machine atau disesuaikan dari bahasa yang ada, terdapat beberapa program yang mengubah kod luaran menjadi Java. Penukar JVM ini tidak selalu mendapat ulasan hangat (lihat perbincangan ini di ResearchGate, yang satu ini di StackOverflow, dan yang ini di Quora).

Dengan amaran itu, berikut adalah beberapa penukar kod yang lebih baik di luar sana:

  • C2J. Penukar ini menerjemahkan program yang ditulis dalam bahasa C ke Java untuk digunakan dengan JVM.

  • CS2J Untuk menukar C # ke Java untuk Mesin Maya Java atau aplikasi lain, cubalah penukar CS2J.

  • C ++ ke Java Converter. Ini mempunyai edisi percuma yang berfungsi pada sehingga 1,000 baris pada satu masa untuk folder dan 100 baris pada satu masa untuk potongan kod. Versi penuh berharga $ 129.

  • P2J. Penukar Python ke Java ini terdiri daripada penterjemah sumber dan penyahpepijat dan menuntut kemampuan untuk menukar kod dengan ketepatan 75% untuk digunakan dengan JVM.

  • Tidak ada JavaScript khusus untuk penukar Java, terutamanya kerana, walaupun ada namanya, ini adalah dua bahasa yang sangat berbeza. Bagi mereka yang perlu menerjemahkan JS untuk digunakan dengan Mesin Maya Java, repositori GitHub ini menunjukkan cara mudah untuk membungkus objek JS ke objek Java.

  • PHP dan Java adalah bahasa yang sangat berbeza. (Lihat perbincangan ini.) Untuk sementara waktu, penukar P2J cuba menukar PHP ke Java untuk digunakan dengan JVM. Namun, projek itu telah dihentikan.

  • Anda boleh memasukkan kod Java dalam program Perl menggunakan Inline :: Java (lihat perbincangan ini). Untuk menukar kod secara langsung untuk digunakan dengan Mesin Maya Java, ada penukar eksperimen di sini .

kupon hosting web

Mencari tawaran hebat untuk hosting JVM?
A2 Hosting menjaringkan # 1 dalam ujian kelajuan dan prestasi terkini kami. Rancangan hosting mereka menyokong Tomcat, halaman JSP, servlet Java dan banyak lagi. Anda dapat menjimatkan sehingga 50% untuk rancangan mesra pemaju mereka. Gunakan pautan diskaun ini
untuk mendapatkan perjanjian.

Bacaan Lanjut dan Sumber Berkaitan

Selain senarai bahasa JVM yang ditunjukkan di sini, lihat repositori GitHub ini, dan juga senarai sumber bahasa pengaturcaraan kami yang semakin meningkat.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map