Bahasa Pengaturcaraan Eksperimen MSNA untuk Pembangun Berani

Patricia Arquette
Lepaskan: 2024-11-24 19:54:13
asal
117 orang telah melayarinya

Permulaan

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.

Kenapa bahasa lain?

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:

  • berbilang pengaturcaraan
  • penambahan sintaks
  • automasi (menang 10 eksklusif)
  • berbilang bahasa (setakat 2.0.403, Python, JavaScript, Java, C)
  • MSN2 -> Transpilasi JavaScript/React
  • Penciptaan titik akhir API dan interaksi
  • Bekas yang ringkas dan ringan

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:

  • Inovasi strategi pengaturcaraan
  • Memupuk kebolehoperasian merentas bahasa
  • Sokong sintaks yang fleksibel dan boleh disesuaikan
  • Sediakan utiliti pra-bina untuk pemprosesan bahasa semula jadi (NLP)
  • Memudahkan penciptaan perpustakaan tersuai dan pemalam
  • Menyesuaikan diri dengan julat persekitaran pembangunan yang lebih luas

dan berapa banyak lagi...?


Keupayaan

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.

Contoh Lengkap, Boleh Dijalankan

(Tiada satu pun daripada contoh ini mempunyai kod tambahan di luar bingkai)

  1. memudahkan operasi mudah
    MSNAn Experimental Programming Language for the Bold Developer

  2. memulakan titik akhir API dan membuat pertanyaan
    MSNAn Experimental Programming Language for the Bold Developer

  3. membuat makro diperibadikan
    MSNAn Experimental Programming Language for the Bold Developer

  4. menjalankan JavaScript sebaris (juga mungkin dengan Java dan C)

MSNAn Experimental Programming Language for the Bold Developer

  1. Contoh ini hampir tidak menconteng permukaan MSN2, temui banyak projek dan demonstrasi yang jauh lebih besar dalam repositori MSN2

Contoh Projek yang Lebih Besar

  • Melaksanakan Sintaks C
  • Mengautomasikan Excel
  • Aplikasi Timbunan Penuh - HTML MSN2 sebagai hujung belakang
  • Automasi - Memainkan pembukaan catur rawak di catur.com
  • Memusingkan Bekas Bercahaya Mudah
  • TikTok Saya (15 projek) - Menyuntik MSN2 ke dalam leetcode.com
  • Semua projek ujian besar

Kelemahan

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.

Integriti

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.

Kelajuan

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?

  • Kami boleh menawarkan pendekatan poliglottal - Walaupun kami menguruskan proses overhed yang lebih perlahan, proses ini boleh menawarkan kemudahan melancarkan program dalam bahasa yang lebih pantas. MSN2 GitHub - Lihat Pelaksanaan Berbilang Bahasa
  • Kami boleh membuatnya berbaloi - Dengan Python mengekalkan bahagian belakang yang lebih besar, MSN2 diberi peluang unik untuk meneroka perkara yang mungkin secara fungsional daripada pihak pembangun apabila mempunyai luas dan fleksibel set integrasi terbina dalam merentas bahasa dan persekitaran. Ini membolehkan pembangun menyelaraskan saluran paip data yang luas, aliran kerja automasi dan sistem berskala besar dengan lebih berkesan, yang berpotensi menjadikannya lebih mudah untuk mengurus dan menskalakan projek yang bergantung pada keupayaan sedia pengeluaran Python yang tidak terbatas.
  • Kita boleh mengoptimumkan - Terdapat banyak titik penyahoptimuman semasa tafsiran, ini akan menjadi sumber awal peningkatan kelajuan utama.
  • Kami boleh menerimanya - Pangkalan MSN2 akan tidak pernah digunakan untuk aplikasi yang bergantung kepada kelajuan, seperti dalam sains data, analitik masa nyata, perdagangan frekuensi tinggi, dan banyak lagi bidang lain. MSN2 akan digunakan terutamanya untuk orkestrasi program yang boleh disesuaikan, menggunakan fungsi yang sangat umum dengan cepat dan lancar, membolehkan pembangun mencipta aliran kerja berkuasa yang menghubungkan pelbagai bahasa dan alatan pengaturcaraan. Fleksibiliti ini menjadikannya pilihan yang ideal untuk mengurus projek berbilang bahasa yang kompleks dan mengautomasikan pelbagai tugas tanpa perlu menukar persekitaran atau menulis Python yang meluas.

Membungkus

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan