Sebuah bahasa pengaturcaraan baharu yang direka untuk Kawaii Virtual Machine ( KVM ) telah muncul, walaupun dokumentasinya telah menyebabkan ramai dalam komuniti teknologi berasa keliru. Bahasa ini bertujuan untuk menyediakan pendekatan pengaturcaraan yang minimal dan berfokuskan prestasi, tetapi penyampaiannya telah mencetuskan lebih banyak kekeliruan daripada kejelasan.
Projek KawaiiVM nampaknya merupakan sebahagian daripada perbincangan yang lebih luas mengenai mesin maya yang ringan dan platform pengkomputeran alternatif. Perbincangan komuniti telah membuat perbandingan dengan sistem minimalis lain, terutamanya menyatakan persamaan dengan projek seperti Uxn dan Varvara , yang memberi tumpuan kepada mewujudkan persekitaran masa jalan yang mudah dan mudah alih.
Falsafah Reka Bentuk Mengutamakan Prestasi
Bahasa ini mengambil pendekatan yang ekstrem terhadap pengoptimuman prestasi dengan menghapuskan jenis data tradisional sepenuhnya. Segala-galanya disimpan sebagai bait 8-bit tidak bertanda, dengan alasan bahawa ini mengurangkan overhed CPU dan memudahkan proses kompilasi. Fungsi API mengendalikan sebarang penukaran jenis yang diperlukan, manakala bahasa teras beroperasi semata-mata pada manipulasi bait.
Pilihan reka bentuk ini mencerminkan trend yang semakin berkembang dalam pengaturcaraan sistem ke arah abstraksi yang minimal. Bahasa ini dikompil kepada kod C , menunjukkan ia berfungsi sebagai lapisan perantaraan dan bukannya persekitaran pengaturcaraan yang berdiri sendiri.
Nota: Overhed CPU merujuk kepada masa pemprosesan tambahan yang diperlukan oleh pemproses komputer untuk mengendalikan tugas-tugas di luar logik program teras.
Spesifikasi Bahasa KawaiiVM:
- Jenis Data: Hanya bait tidak bertanda 8-bit tunggal
- Sasaran Kompilasi: Bahasa C
- Panggilan API: Menyokong sehingga 2 bait argumen
- Model Memori: Berasaskan tindanan dengan manipulasi bait secara langsung
- Penghurai: Pelaksanaan yang disyorkan dalam Rust untuk kecekapan memori
- Pelesenan: Memerlukan kelulusan berasingan untuk semua pengedaran kod sumber
Sambutan Komuniti dan Perbandingan
Respons komuniti teknologi adalah bercampur-campur, dengan ramai yang membuat perbandingan dengan persekitaran pengaturcaraan eksperimen lain. Sesetengah pembangun telah menyatakan persamaan dengan sistem berasaskan Forth dan mesin maya minimalis yang mengutamakan mudah alih berbanding kemudahan penggunaan.
Mereka melakukan tepat apa yang saya ingin lakukan dan melakukannya dengan baik, saya gembira untuk mereka, mereka pasti seronok menulis perisian.
Projek ini juga telah dibandingkan dengan TempleOS dari segi pendekatan asal dan komuniti yang berdedikasi, walaupun pada skala yang jauh lebih kecil. Perbandingan ini menyerlahkan bagaimana bahasa pengaturcaraan khusus sering membangunkan pengikut yang bersemangat walaupun penggunaan arus perdana yang terhad.
Cabaran Dokumentasi
Mungkin halangan yang paling ketara untuk penggunaan adalah gaya dokumentasi projek ini. Spesifikasi bahasa dibaca lebih seperti nota aliran kesedaran daripada dokumentasi teknikal, dengan penjelasan yang sering bercanggah antara satu sama lain atau berakhir di kawasan yang tidak jelas.
Dokumentasi menyebut ciri-ciri seperti kerumitan sosial dalam struktur gelung dan menerangkan pengkompil sebagai seperti orang spot dalam projek synth, meninggalkan pembaca untuk mentafsir makna teknikal sebenar. Pendekatan ini mungkin disengajakan, mencerminkan sifat eksperimen projek, tetapi ia mewujudkan halangan yang ketara untuk pengguna berpotensi.
Ciri-ciri Bahasa Utama:
byte
: Pengecam asas untuk membaca/menulis bait tunggallist
: Bekas untuk berbilang bait, digunakan terutamanya untuk gelungstack
: Pembaca kawasan memori dengan pembersihan automatikcompile_again
: Makro untuk rekursi gelung- Tiada pembatas tradisional - penghuraian bergantung pada susunan
- Tiada pemeriksaan jenis masa jalan - semua jenis wujud hanya pada masa kompilasi
Kesimpulan
Walaupun KawaiiVM mewakili eksperimen yang menarik dalam reka bentuk bahasa yang minimal, kejayaannya berkemungkinan bergantung kepada dokumentasi yang lebih jelas dan contoh-contoh praktikal. Projek ini menyertai ekosistem yang semakin berkembang bagi mesin maya alternatif dan bahasa pengaturcaraan yang mengutamakan kesederhanaan dan mudah alih, walaupun penyampaian semasanya menyukarkan penilaian untuk kebanyakan pembangun.
Rujukan: a programming language for the Kawaii virtual machine