WebAssembly, atau disingkat wasm, adalah format bytecode tingkat rendah yang berjalan di browser seperti JavaScript. Ini dirancang agar lebih cepat untuk diurai dibandingkan JavaScript, serta lebih cepat untuk dieksekusi sehingga menjadikannya target kompilasi yang cocok untuk bahasa baru dan yang sudah ada.
Repo ini berisi daftar bahasa yang saat ini dikompilasi atau memiliki VMnya di WebAssembly(wasm)
? - Dalam Produksi.
? - Stabil untuk penggunaan produksi.
? - Tidak stabil tetapi dapat digunakan.
? - Pekerjaan sedang berlangsung.
☠️ - Tidak Dipelihara atau Tidak Digunakan Lagi
Unmaintained
Unmaintained
Unmaintained
Unmaintained
Unmaintained
Unmaintained
Unmaintained
Unmaintained
.NET Framework adalah kerangka perangkat lunak yang dikembangkan oleh Microsoft yang berjalan terutama pada Microsoft Windows. Ini mencakup perpustakaan kelas besar bernama Framework Class Library (FCL) dan menyediakan interoperabilitas bahasa (setiap bahasa dapat menggunakan kode yang ditulis dalam bahasa lain) di beberapa bahasa pemrograman.
Ada adalah bahasa pemrograman tingkat tinggi yang terstruktur, diketik secara statis, imperatif, dan berorientasi objek, terinspirasi oleh Pascal dan bahasa lainnya. Ini memiliki dukungan bahasa bawaan untuk desain berdasarkan kontrak (DbC), pengetikan yang sangat kuat, konkurensi eksplisit, tugas, penyampaian pesan sinkron, objek yang dilindungi, dan non-determinisme. Ada meningkatkan keamanan dan pemeliharaan kode dengan menggunakan kompiler untuk menemukan kesalahan demi kesalahan runtime.
AssemblyScript adalah kompiler baru yang menargetkan WebAssembly sambil memanfaatkan sintaksis TypeScript dan ekosistem node yang dinamis. Daripada memerlukan rangkaian alat yang rumit untuk disiapkan, Anda cukup menginstal npm - atau menjalankannya di browser.
Astro adalah bahasa aman yang menyenangkan untuk pembuatan prototipe cepat dan aplikasi berkinerja tinggi.
Unmaintained
Ballerina adalah bahasa pemrograman sumber terbuka untuk cloud yang memudahkan penggunaan, penggabungan, dan pembuatan layanan jaringan. Kompiler WebAssembly diimplementasikan untuk kompiler Ballerina asli nBallerina.
BASIC (singkatan dari "Kode Instruksi Simbolik Serba Guna Pemula") adalah bahasa pemrograman awal untuk tujuan umum dan tingkat tinggi. Ini masih salah satu bahasa yang paling sederhana dan mudah dipelajari.
basic2wasm
yang mengkompilasi BASIC ke WebAssembly menggunakan bineren.Brainfuck adalah bahasa pemrograman esoteris yang dibuat pada tahun 1993 oleh Urban Müller, dan terkenal karena minimalisnya yang ekstrim. Bahasa ini hanya terdiri dari delapan perintah sederhana dan sebuah penunjuk instruksi. Meskipun sepenuhnya Turing-lengkap, ini tidak dimaksudkan untuk penggunaan praktis, tetapi untuk menantang dan menghibur pemrogram.
C adalah bahasa pemrograman komputer yang bertujuan umum dan penting, mendukung pemrograman terstruktur, cakupan variabel leksikal dan rekursi, sementara sistem tipe statis mencegah banyak operasi yang tidak diinginkan. C pada awalnya dikembangkan oleh Dennis Ritchie antara tahun 1969 dan 1973 di Bell Labs,[6] dan digunakan untuk mengimplementasikan ulang sistem operasi Unix.
C# adalah bahasa pemrograman multi-paradigma yang mencakup disiplin pemrograman pengetikan, imperatif, deklaratif, fungsional, generik, berorientasi objek (berbasis kelas), dan berorientasi komponen yang kuat. Tim pengembangannya dipimpin oleh Anders Hejlsberg. Dukungan WebAssembly dicapai melalui Blazor.
C++ adalah bahasa pemrograman tujuan umum. Ini memiliki fitur pemrograman yang penting, berorientasi objek dan generik, sekaligus menyediakan fasilitas untuk manipulasi memori tingkat rendah. Ini dirancang dengan bias terhadap pemrograman sistem dan sistem tertanam, terbatas sumber daya, dan besar, dengan kinerja, efisiensi, dan fleksibilitas penggunaan sebagai sorotan desainnya. Perkembangan bahasa ini dimulai pada tahun 1979 oleh Bjarne Stroustrup sebagai “C with Classes”.
C4wa ("C untuk Majelis Web") adalah bagian dari Standar C yang secara khusus ditargetkan untuk kompilasi Majelis Web yang sederhana dan efisien. File WASM yang dihasilkan tidak menyertakan overhead, kompatibel dengan runtime Majelis Web apa pun, mendukung impor fungsi argumen variabel (seperti
printf
). Ada juga opsi untuk membuat file WAT yang diformat dengan baik dan mudah dibaca.
Clean adalah bahasa pemrograman fungsional yang bertujuan umum, canggih, murni, dan malas yang dirancang untuk membuat aplikasi dunia nyata. Beberapa fitur bahasanya yang paling menonjol adalah pengetikan unik, pengetikan dinamis, dan fungsi umum.
Bahasa pemrograman yang mirip dengan Go dan TypeScript.
COBOL adalah bahasa pemrograman mirip Inggris yang dirancang untuk penggunaan bisnis. Ini penting, prosedural, dan berorientasi objek. COBOL terutama digunakan dalam sistem bisnis, keuangan, dan administrasi.
Crystal adalah bahasa pemrograman dengan tujuan sebagai berikut:
- Memiliki sintaks yang mirip dengan Ruby (tetapi kompatibilitas dengannya bukanlah tujuan)
- Diperiksa tipe secara statis tetapi tanpa harus menentukan tipe variabel atau argumen metode.
- Dapat memanggil kode C dengan menulis ikatannya di Crystal.
- Lakukan evaluasi waktu kompilasi dan pembuatan kode, untuk menghindari kode boilerplate.
- Kompilasi ke kode asli yang efisien.
Pembuatan skrip yang cepat, efisien, dan bersamaan. Tipe dinamis dan bertahap; Konkurensi dengan serat; multithread; Memori aman; FFI dan Dapat Disematkan.
D adalah bahasa pemrograman tujuan umum dengan pengetikan statis, akses tingkat sistem, dan sintaksis mirip C.
Bahasa yang mudah didekati, portabel, dan produktif untuk aplikasi berkualitas tinggi di platform apa pun
Eclair adalah implementasi Datalog minimal dan cepat yang dikompilasi ke LLVM IR dan WASM.
Eel adalah bahasa kecil yang digunakan, antara lain, untuk menulis "preset" visualisator untuk Milkdrop, program visualisasi musik yang disertakan dengan Winamp.
Elixir adalah bahasa dinamis dan fungsional yang dirancang untuk membangun aplikasi yang skalabel dan dapat dipelihara. Elixir dibangun di atas Erlang dan berbagi abstraksi yang sama untuk membangun aplikasi yang terdistribusi dan toleran terhadap kesalahan.
F# adalah bahasa pemrograman yang matang, open source, lintas platform, dan fungsional. Ini memberdayakan pengguna dan organisasi untuk mengatasi masalah komputasi yang kompleks dengan kode yang sederhana, mudah dipelihara, dan kuat. Dukungan WebAssembly dicapai melalui Bolero, seperangkat perpustakaan dan alat sumber terbuka dan gratis yang dibangun di atas Blazor. F# terutama dirancang oleh Don Syme dari Microsoft Research tetapi sekarang dikelola oleh F# Foundation dan komunitasnya.
Faust (Fungsional Audio Stream) adalah bahasa pemrograman fungsional yang dirancang khusus untuk pemrosesan dan sintesis sinyal waktu nyata. Ciri khas Faust adalah disusun secara lengkap.
Forest adalah bahasa pemrograman fungsional yang dikompilasi ke WebAssembly. Repo utama berisi compiler dan sintaks inti, yang saat ini diimplementasikan di Haskell.
Forth adalah bahasa pemrograman berbasis tumpukan yang interaktif, dapat diperluas, imperatif, tidak diketik.
Go adalah bahasa kompilasi yang diketik secara statis dalam tradisi C, dengan keamanan memori, pengumpulan sampah, pengetikan struktural, dan fitur pemrograman bersamaan gaya CSP yang ditambahkan.
Grain adalah bahasa pemrograman fungsional dengan tipe kuat yang dibuat untuk web modern.
Haskell adalah bahasa pemrograman yang berfungsi murni untuk tujuan umum dan terstandarisasi, dengan semantik yang tidak ketat dan pengetikan statis yang kuat. Hal ini dinamai ahli logika Haskell Curry. Standar Haskell terbaru adalah Haskell 2010. Pada Mei 2016, sebuah grup sedang mengerjakan versi berikutnya, Haskell 2020.
Idris adalah bahasa pemrograman fungsional murni untuk tujuan umum dengan tipe dependen. Tipe dependen memungkinkan tipe didasarkan pada nilai, artinya beberapa aspek perilaku program dapat ditentukan secara tepat di tipe tersebut. Itu disusun, dengan evaluasi yang penuh semangat. Fitur-fiturnya dipengaruhi oleh Haskell dan ML.
Unmaintained
Janet membuat bahasa skrip sistem yang bagus, atau bahasa untuk ditanamkan di program lain. Ini seperti "Lisp modern", menampilkan interop C yang hebat dan mudah serta berbagai tipe data seperti array, struct, tabel, dll.
Java adalah bahasa pemrograman komputer untuk keperluan umum yang bersifat konkuren, berbasis kelas, berorientasi objek, dan dirancang khusus untuk memiliki ketergantungan implementasi sesedikit mungkin. Hal ini dimaksudkan agar pengembang aplikasi "menulis sekali, dijalankan di mana saja" (WORA), artinya kode Java yang dikompilasi dapat berjalan di semua platform yang mendukung Java tanpa perlu kompilasi ulang. Java awalnya dikembangkan oleh James Gosling di Sun Microsystems dan dirilis pada tahun 1995 sebagai komponen inti platform Java Sun Microsystems. Bahasa ini sebagian besar sintaksisnya berasal dari C dan C++, tetapi fasilitas tingkat rendahnya lebih sedikit dibandingkan keduanya.
JavaScript adalah bahasa pemrograman tingkat tinggi yang ditafsirkan dan sesuai dengan spesifikasi ECMAScript. Ini adalah bahasa yang juga bercirikan dinamis, bertipe lemah, berbasis prototipe, dan multi-paradigma.
Julia dirancang sejak awal untuk kinerja tinggi. Program Julia dikompilasi menjadi kode asli yang efisien untuk berbagai platform melalui LLVM.
Unmaintained
KCL adalah catatan berbasis batasan & bahasa fungsional yang terutama digunakan dalam skenario konfigurasi dan kebijakan.
Kotlin adalah bahasa pemrograman modern namun sudah matang yang bertujuan untuk membuat pengembang lebih bahagia. Ringkas, aman, dapat dioperasikan dengan Java dan bahasa lain, dan menyediakan banyak cara untuk menggunakan kembali kode di antara berbagai platform untuk pemrograman produktif.
Kotlin/Wasm adalah target dan rantai alat baru dalam keluarga Kotlin. Ia memiliki beberapa sifat khusus:
- Itu dikompilasi ke Wasm secara langsung tanpa lapisan tambahan apa pun, untuk dikompilasi secepat mungkin, termasuk secara bertahap di masa mendatang.
- Ini menggunakan proposal eksperimental/baru seperti GC, Referensi Fungsi yang Diketik, Penanganan Pengecualian, dan Stringref.
Bahasa minimal yang dikompilasi menjadi bytecode wasm.
LabVIEW adalah lingkungan pengembangan untuk bahasa pemrograman grafis aliran data G yang digunakan untuk akuisisi data, kontrol instrumen, dan otomasi industri.
Lisp (secara historis LISP) adalah keluarga bahasa pemrograman dengan sejarah panjang dan notasi awalan yang khas dan diberi tanda kurung penuh.
Lobster adalah bahasa yang diketik secara statis dengan inferensi dan spesialisasi tipe yang peka terhadap aliran, penghitungan referensi waktu kompilasi (analisis seumur hidup) yang mirip dengan Python. Awalnya ditujukan khusus untuk game. Lobster memiliki backend Wasm sendiri yang dikompilasi langsung ke file .wasm yang dapat ditautkan (dengan LLD).
Lox adalah bahasa yang dibuat oleh Bob Nystrom, digunakan untuk mengajar penyusun buku Crafting Interpreters. Ini diketik secara dinamis, dan mendukung kelas, penutupan, dan fungsi kelas satu.
Lua adalah bahasa pemrograman ringan multi-paradigma yang dirancang terutama untuk sistem tertanam dan klien.[2] Lua adalah lintas platform, karena penerjemahnya ditulis dalam ANSI C, dan memiliki C API yang relatif sederhana. Lua awalnya dirancang pada tahun 1993 sebagai bahasa untuk memperluas aplikasi perangkat lunak guna memenuhi permintaan penyesuaian yang semakin meningkat pada saat itu.
Lys adalah bahasa fungsional yang diketik yang dikompilasi langsung ke WebAssembly.
MoonBit adalah rantai alat bahasa pemrograman ujung ke ujung untuk komputasi cloud dan edge menggunakan WebAssembly. Bahasanya seperti Rust dengan dukungan GC. Kompiler cepat dioptimalkan untuk menghasilkan biner WASM yang sangat ringkas.
Bahasa pemrograman sistem yang minimal, sederhana, efisien, diketik secara statis, dikompilasi, dapat diprogram, aman, dan dapat diperluas dengan varian Lua.
NerdLang adalah substrak dari JS dengan beberapa tambahan, fokus pada efisiensi. Nerd adalah kompiler asli JavaScript yang bertujuan menjadikan JavaScript universal, Nerd mampu mengkompilasi aplikasi asli untuk Windows, Mac, Linux, iOS, Android, Raspberry, STM32, Arduino, Web (termasuk WASM), dan banyak lagi.
Tidak pernah ada bahasa pemrograman fungsional yang sederhana. Secara teknis ini dapat diklasifikasikan sebagai bahasa pemrograman yang memiliki cakupan sintaksis, diketik dengan kuat, panggilan berdasarkan nilai, dan fungsional.
Bahasa pinggiran dengan beberapa pola desain yang indah.
OCaml, awalnya bernama Objective Caml, adalah implementasi utama dari bahasa pemrograman Caml, dibuat oleh Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez dan lainnya pada tahun 1996. Sebagai anggota keluarga bahasa ML, OCaml memperluas intinya Bahasa Caml dengan konstruksi pemrograman berorientasi objek.
Pascal adalah bahasa pemrograman pengetikan statis yang bersifat imperatif, prosedural, dan berorientasi objek untuk tujuan umum. Kompiler Free Pascal menargetkan banyak arsitektur prosesor, termasuk wasm32; sistem operasi, termasuk WASI; dan platform tertanam.
Perl adalah bahasa pemrograman tujuan umum yang awalnya dikembangkan untuk manipulasi teks dan sekarang digunakan untuk berbagai tugas termasuk administrasi sistem, pengembangan web, pemrograman jaringan, pengembangan GUI, dan banyak lagi.
PHP adalah bahasa skrip tujuan umum yang sangat cocok untuk pengembangan web sisi server, dalam hal ini PHP umumnya berjalan di server web. Kode PHP apa pun dalam file yang diminta dijalankan oleh runtime PHP, biasanya untuk membuat konten halaman web dinamis atau gambar dinamis yang digunakan di situs web atau di tempat lain.
Plorth adalah bahasa skrip fungsional berbasis tumpukan, konkatenatif, dan sangat diketik yang mudah disematkan ke aplikasi yang ditulis dalam C++. Ini terinspirasi oleh bahasa pemrograman Forth dan Factor.
Puisi adalah bahasa pemrograman yang dinamis dan sederhana secara puitis yang dikompilasi ke WebAssembly. Ini memiliki sintaksis minimalis yang mirip dengan CoffeeScript dan memberi Anda kendali penuh atas impor dan ekspor wasm.
Python adalah bahasa pemrograman tingkat tinggi yang ditafsirkan secara open source untuk pemrograman tujuan umum. Dibuat oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991, Python memiliki filosofi desain yang menekankan keterbacaan kode, terutama menggunakan spasi yang signifikan. Ini memberikan konstruksi yang memungkinkan pemrograman yang jelas pada skala kecil dan besar.
Prolog adalah bahasa pemrograman logika tujuan umum yang terkait dengan kecerdasan buatan dan linguistik komputasi. Prolog berakar pada logika orde pertama, logika formal, dan tidak seperti banyak bahasa pemrograman lainnya, Prolog dimaksudkan terutama sebagai bahasa pemrograman deklaratif: logika program dinyatakan dalam bentuk hubungan, direpresentasikan sebagai fakta dan aturan. Komputasi dimulai dengan menjalankan query pada relasi ini.
R adalah bahasa dan lingkungan untuk komputasi statistik dan grafik.
Open Policy Agent (OPA) adalah mesin kebijakan open source dengan tujuan umum yang menyatukan penegakan kebijakan di seluruh tumpukan. Rego adalah bahasa kebijakan deklaratif tingkat tinggi yang dibuat khusus untuk mengekspresikan kebijakan pada struktur data hierarki yang kompleks.
Ring adalah bahasa multi-paradigma praktis yang Sederhana, Kecil, dan Fleksibel. Paradigma pemrograman yang didukung adalah Imperatif, Prosedural, Berorientasi Objek, Fungsional, Metaprogramming, Pemrograman deklaratif menggunakan struktur bersarang, dan Pemrograman Natural. Bahasanya portabel (MS-DOS, Windows, Linux, macOS, Android, WebAssembly, dll.) dan dapat digunakan untuk membuat aplikasi Konsol, GUI, Web, Game, dan Seluler.
Bahasa yang cepat, ramah, dan fungsional. Kompilasi ke kode mesin atau WASM. Roc adalah keturunan langsung dari bahasa pemrograman Elm.
Ruby adalah bahasa pemrograman tingkat tinggi yang ditafsirkan secara open source untuk pemrograman tujuan umum. Dibuat oleh Matz. Ruby memiliki filosofi desain yang menekankan keterbacaan kode, terutama menggunakan sesedikit mungkin sigil (karakter khusus
:.{}%[]&=>;
).
Rust adalah bahasa pemrograman sistem yang disponsori oleh Mozilla Research, yang menggambarkannya sebagai "bahasa yang aman, bersamaan, dan praktis," mendukung paradigma prosedural fungsional dan imperatif. Rust secara sintaksis mirip dengan C++, namun perancangnya bermaksud memberikan keamanan memori yang lebih baik sekaligus menjaga kinerja.
wasm32-unknown-unknown
target - Backend kompiler Rust untuk WebAssembly (tanpa memerlukan Emscripten).Skema adalah bahasa pemrograman yang mendukung berbagai paradigma, termasuk pemrograman fungsional dan pemrograman imperatif, dan merupakan salah satu dari dua dialek utama Lisp. Tidak seperti Common Lisp, dialek utama lainnya, Skema mengikuti filosofi desain minimalis yang menetapkan inti standar kecil dengan alat canggih untuk ekstensi bahasa.
Scopes adalah bahasa pemrograman tujuan umum dan infrastruktur kompiler yang secara khusus cocok untuk pembuatan prototipe perputaran singkat dan pengembangan aplikasi berkinerja tinggi yang memerlukan kompilasi multi-tahap saat runtime.
Speedy.js adalah kompiler untuk subset JavaScript yang menargetkan WebAssembly yang bebas dari jebakan kinerja dan dipertimbangkan dengan baik. Karena WebAssembly diketik secara statis, proyek menggunakan TypeScript sebagai pemeriksa tipe dan untuk menyelesaikan tipe simbol program.
Unmaintained
Swift adalah bahasa pemrograman terkompilasi untuk tujuan umum, multi-paradigma, yang dikembangkan oleh Apple Inc. untuk iOS, macOS, watchOS, tvOS, Linux, dan z/OS.
Tcl (Tool Command Language) adalah bahasa pemrograman dinamis yang sangat kuat namun mudah dipelajari, matang namun terus berkembang, sangat dapat diperluas dan cocok untuk berbagai penggunaan.
Theta adalah bahasa pemrograman fungsional yang modern, bertujuan umum, dengan sistem tipe yang kuat dan sintaksis ekspresif. Ini menampilkan desain modular dan mendukung pencocokan pola, kelebihan fungsi, dan barang lainnya.
TurboScript adalah bahasa pemrograman eksperimental untuk pemrograman paralel untuk web yang dikompilasi ke JavaScript (asm.js) dan WebAssembly (menargetkan pasca-MVP). Sintaksnya mirip dengan TypeScript dan kompilernya adalah open source dan ditulis dalam TypeScript. TurboScript tidak memiliki ketergantungan.
TypeScript adalah bahasa pemrograman sumber terbuka yang dikembangkan dan dikelola oleh Microsoft. Ini adalah superset sintaksis JavaScript yang ketat, dan menambahkan pengetikan statis opsional ke bahasa tersebut.
V adalah bahasa pemrograman yang dikompilasi secara statis yang dirancang untuk membangun perangkat lunak yang dapat dipelihara.
Bahasa pemrograman sistem yang cepat dan cepat dan ringan yang dikumpulkan. Kompilernya menghasilkan eksekutif asli yang dioptimalkan dan mandiri, modul WebAssembly, atau toples untuk JVM.
WA adalah bahasa pemrograman tujuan umum yang dirancang untuk mengembangkan kekokohan dan pemeliharaan perangkat lunak WebAssembly. Alih -alih membutuhkan alat tool yang kompleks untuk diatur, Anda bisa memasangnya - atau menjalankannya di browser.
凹语言 ™ (凹读音 “wa” )是 针对 wasm 平台设计的的通用编程语言 , 支持 linux 、 macOS 和 windows等主流操作系统和 Chrome 等浏览器环境 , 同时也支持作为独立 shell 脚本和被嵌入脚本模式执行。
Wah adalah bahasa tingkat yang sedikit lebih tinggi yang merupakan superset dari WebAssembly. Ini bertujuan untuk membuat format teks WebAssembly sedikit lebih ramah kepada manusia, tanpa memperkenalkan sintaks atau tipe data baru.
Unmaintained
Walt adalah sintaks alternatif untuk format teks WebAssembly. Ini adalah percobaan untuk menggunakan sintaks JavaScript untuk ditulis sebagai 'dekat dengan logam' mungkin. Javascript dengan aturan. File .Walt dikompilasi langsung ke format biner WebAssembly.
Unmaintained
Bahasa Makro WebAssembly: Sintaks WAM adalah superset dekat sintaks WAST yang lebih nyaman bagi pengembang manusia untuk menulis secara langsung.
Unmaintained
WASE: WebAssembly menjadi mudah. WASE adalah bahasa, yang mencoba membuat Wasm mudah ditulis. Bahasa memetakan erat ke WebAssembly, dan dikompilasi langsung ke WASM Bytecode. Memiliki pengetikan yang kuat dengan inferensi jenis.
Ya, WebAssembly.
Wasm3
adalah penerjemah WebsAssembly tercepat, yang memungkinkan pengambilan sendiri WebAssembly.
Wonkey adalah bahasa pemrograman yang mudah dipelajari, berorientasi objek, modern, dan lintas platform untuk membuat video game lintas platform, sangat terinspirasi oleh rangkaian bahasa "blitzbasic".
Bahasa seperti Lisp yang dikompilasi ke WebAssembly, ditulis dalam raket
Unmaintained
Toy C Compiler untuk x86-64 dan WASM
Zig adalah bahasa pemrograman tujuan umum yang dirancang untuk ketahanan, optimalitas, dan pemeliharaan.
Harap baca pedoman kontribusi jika Anda ingin berkontribusi.
Sejauh mungkin berdasarkan hukum, Steve Akinyemi telah melepaskan semua hak cipta dan hak terkait atau tetangga untuk pekerjaan ini.