1) Multithreading sangat sulit, dan sayangnya cara Anda menyajikan ide ini sejauh ini menyiratkan bahwa Anda terlalu meremehkan betapa sulitnya itu.
Saat ini, sepertinya Anda hanya "menambahkan utas" ke bahasa tersebut dan mengkhawatirkan cara memperbaikinya dan performan nanti. Khususnya:
jika dua tugas mencoba mengakses variabel secara bersamaan, itu ditandai atom dan mereka bersaing untuk akses.
...
Saya setuju bahwa variabel atom tidak akan menyelesaikan segalanya, tetapi mengerjakan solusi untuk masalah sinkronisasi adalah tujuan saya berikutnya.
Menambahkan utas ke Javascript tanpa "solusi untuk masalah sinkronisasi" akan seperti menambahkan bilangan bulat ke Javascript tanpa "solusi untuk masalah penambahan". Ini sangat mendasar untuk sifat masalah yang pada dasarnya tidak ada gunanya bahkan membahas apakah multithreading layak ditambahkan tanpa solusi spesifik dalam pikiran, tidak peduli seberapa buruk kita inginkan.
Plus, membuat semua variabel atom adalah hal yang cenderung membuat program multithread berkinerja lebih buruk daripada rekannya yang singlethreaded, yang membuatnya lebih penting untuk benar-benar menguji kinerja pada program yang lebih realistis dan melihat apakah Anda memperoleh sesuatu atau tidak.
Juga tidak jelas bagi saya apakah Anda mencoba menyembunyikan utas dari programmer node.js atau jika Anda berencana untuk mengeksposnya di beberapa titik, secara efektif membuat dialek Javascript baru untuk pemrograman multithreaded. Kedua opsi tersebut berpotensi menarik, tetapi sepertinya Anda belum memutuskan yang mana yang Anda tuju.
Jadi saat ini, Anda meminta programmer untuk mempertimbangkan beralih dari lingkungan singlethreaded ke lingkungan multithread baru yang tidak memiliki solusi untuk masalah sinkronisasi dan tidak ada bukti yang meningkatkan kinerja dunia nyata, dan tampaknya tidak ada rencana untuk menyelesaikan masalah tersebut.
Mungkin itulah sebabnya orang tidak menganggapmu serius.
2) Kesederhanaan dan kekokohan dari loop peristiwa tunggal adalah keuntungan besar .
Programmer Javascript tahu bahwa bahasa Javascript "aman" dari kondisi ras dan bug lain yang sangat berbahaya yang mengganggu semua pemrograman multithreaded. Fakta bahwa mereka membutuhkan argumen yang kuat untuk meyakinkan mereka agar menyerah bahwa keselamatan tidak membuat mereka berpikiran tertutup, itu membuat mereka bertanggung jawab.
Kecuali Anda bisa mempertahankan keamanan itu, siapa pun yang mungkin ingin beralih ke node multithreaded. Mungkin akan lebih baik beralih ke bahasa seperti Go yang dirancang dari bawah ke atas untuk aplikasi multithreaded.
3) Javascript sudah mendukung "latar belakang utas" (WebWorkers) dan pemrograman asinkron tanpa secara langsung memaparkan manajemen utas kepada programmer.
Fitur-fitur tersebut sudah menyelesaikan banyak kasus penggunaan umum yang memengaruhi programmer Javascript di dunia nyata, tanpa meninggalkan keamanan loop peristiwa tunggal.
Apakah Anda memiliki kasus penggunaan tertentu dalam pikiran bahwa fitur-fitur ini tidak menyelesaikan, dan bahwa programmer Javascript menginginkan solusi? Jika demikian, itu akan menjadi ide yang baik untuk menyajikan node.js multithreaded Anda dalam konteks kasus penggunaan tertentu.
PS Apa yang meyakinkan saya untuk mencoba beralih ke implementasi node.js multithreaded?
Tulis program non-sepele dalam Javascript / node.js yang menurut Anda akan mendapat manfaat dari multithreading asli. Lakukan tes kinerja pada program sampel ini dalam simpul normal dan simpul multithreaded Anda. Tunjukkan pada saya bahwa versi Anda meningkatkan kinerja runtime, responsif, dan penggunaan beberapa core hingga tingkat yang signifikan, tanpa memperkenalkan bug atau ketidakstabilan apa pun.
Setelah Anda selesai melakukannya, saya pikir Anda akan melihat orang-orang jauh lebih tertarik pada ide ini.