Beberapa tahun yang lalu, selepas melemparkan 2 draf bahasa, saya memulakan kemuncak projek peribadi saya. MSN2 ialah (dan masih ada) yang saya anggap sebagai bahasa pengaturcaraan olok-olok, kebanyakannya disebabkan oleh kaedah tafsiran yang tidak konvensional dan dinyahoptimumkannya yang boleh mengakibatkan isu integriti bahasa.
Tetapi sekali lagi saya bertanya kepada diri sendiri, mengapa saya akan terus kembali ke projek ini selama bertahun-tahun? Mengapa saya tidak melemparkannya dengan draf lain kerana takut pembangun malu? Saya menyimpannya kerana betapa jauh saya melebihi jangkaan saya untuk bahasa pengaturcaraan yang mempunyai penyumbang tunggal, walaupun saya masih jauh daripada penglihatan yang saya miliki.
Pada awal pembangunan, tiada niat sebenar untuk menyiarkannya kepada umum kerana ia hanyalah latihan pembelajaran, oleh itu tiada sebab sebenar untuk memperkenalkan bahasa baharu. Walau apa pun, sebagai alat berfungsi dan sumber utama kajian Python saya, faedah membina bahasa pengaturcaraan di atas Python melengkapkan kita dengan bukan sahaja keupayaan lengkap Python itu sendiri, tetapi ciri baharu untuk:
Oleh kerana kemudahan melaksanakan ciri baharu, ia boleh berfungsi sebagai asas untuk bahasa yang lebih berorientasikan komuniti yang terus berkembang melalui maklum balas dan sumbangan komuniti. Dengan sumbangan semasa dan akan datang, kami mewujudkan peluang untuk:
dan berapa banyak lagi...?
Memang mudah untuk mengatakan bahasa itu sangat berkebolehan, dan dalam situasi tertentu, saya berpendapat ia lebih berkebolehan dengan kod yang lebih sedikit. Ia juga menjadi lebih dan lebih menyeronokkan untuk digunakan sebagai pembangun apabila kemas kini dikeluarkan. Malangnya ia tidak semudah untuk mengatakan menggunakan bahasa adalah cakewalk. Saya telah mengeluarkan sambungan penonjolan sintaks msn2 untuk VSCode, dokumentasi asas, dan banyak tutorial dan contoh kod. Walaupun ia menjadi sukar tanpa autolengkap kata kunci atau token dan memahami implikasi apabila menulis kod cara tertentu. Isu ini ditangani dalam tab isu repositori MSN2.
(Tiada satu pun daripada contoh ini mempunyai kod tambahan di luar bingkai)
memudahkan operasi mudah
memulakan titik akhir API dan membuat pertanyaan
membuat makro diperibadikan
menjalankan JavaScript sebaris (juga mungkin dengan Java dan C)
Kedengarannya bagus! Saya melabur sepenuhnya dalam membuat langkah-langkah untuk membina apa yang telah saya buat. Tetapi seboleh-bolehnya saya berharap tidak ada isu dalam pangkalan kod yang memerlukan penyelenggaraan yang besar, terlalu rumit dan memerlukan penyelenggaraan, terdapat XD.
Sehingga MSN2 2.0.403, terdapat beberapa isu integriti boleh diperbaiki yang berpotensi menghasilkan hasil yang salah pada masa jalan. Nasib baik isu integriti adalah sementara, tetapi yang penting ia ditangani dengan cepat.
Dengan Python sebagai bahagian belakang, kelajuan menjadi kelemahan yang kejam, dan itulah kelajuan. Kelajuan akan sentiasa menjadi isu dengan MSN2, dan malangnya kami hanya boleh membuat percubaan untuk menjadikan bahasa asas sepadan dengan kelajuan yang hampir dengan Python sendiri.
Jadi apa yang boleh kita lakukan?
Projek ini merupakan satu perjalanan yang bercita-cita tinggi, apa yang bermula sebagai latihan pembelajaran dengan cepat berkembang menjadi taman permainan untuk meneroka reka bentuk bahasa dan bukti konsep baharu yang kreatif. MSN2 telah berfungsi sebagai pengalaman pembelajaran yang sentiasa mencabar keupayaan pengaturcaraan saya. Ia jauh daripada boleh diterima, dan lebih jauh daripada sempurna, tetapi itulah sebahagian daripada perkara yang menjadikannya menarik - ia penuh dengan peluang untuk berkembang dan bertambah baik.
Walaupun majoriti bahasa belum siap sepenuhnya, dan ujian belum mencapai liputan 100%, MSN2 mewakili potensi pemikiran yang tidak konvensional dan kebebasan untuk bereksperimen tanpa tekanan kesempurnaan. Sama ada ia menjadi alat yang berguna dalam projek atau kekal sebagai usaha peribadi terpulang kepada saya dan masyarakat, tetapi masa depannya bergantung pada pembangunan berterusan, maklum balas dan penghalusan. Buat masa ini, saya melihatnya sebagai batu loncatan, yang mempunyai tepi yang kasar dan banyak rekahan, tetapi masih cukup kukuh untuk berdiri.
pautan yang berguna
MSN2 di GitHub
dokumentasi MSN2[2.0.401]
laman web / portfolio saya
Sepanduk siaran ini tidak diformatkan, namun kod MSN2 boleh dijalankan yang menggabungkan campuran sebaris JavaScript, Java, C, semuanya berinteraksi dengan titik akhir API yang diputar dalam baris yang sama.
Atas ialah kandungan terperinci Bahasa Pengaturcaraan Eksperimen MSNA untuk Pembangun Berani. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!