1) Le multithreading est extrêmement difficile et, malheureusement, la façon dont vous avez présenté cette idée jusqu'à présent implique que vous sous-estimez sévèrement à quel point c'est difficile.
Pour le moment, on dirait que vous "ajoutez simplement des fils" au langage et que vous vous demandez comment le rendre correct et performant plus tard. En particulier:
si deux tâches tentent d'accéder simultanément à une variable, celle-ci est marquée atomique et se disputent l'accès.
...
Je conviens que les variables atomiques ne résoudront pas tout, mais mon prochain objectif est de rechercher une solution au problème de synchronisation.
Ajouter des discussions à Javascript sans "solution au problème de synchronisation" équivaudrait à ajouter des entiers à Javascript sans "solution au problème de l'addition". La nature même du problème est tellement fondamentale qu’il est en définitive inutile de discuter de la question de savoir si le multithreading vaut la peine d’être ajouté sans solution spécifique à l’esprit, peu importe à quel point nous le voudrions.
De plus, rendre toutes les variables atomiques est le genre de chose qui rendrait un programme multithread moins performant que son homologue monofil-lu, ce qui rend encore plus important de tester les performances sur des programmes plus réalistes et de voir si vous gagnez quelque chose ou non.
Je ne vois pas non plus clairement si vous essayez de masquer les discussions au programmeur node.js ou si vous prévoyez de les exposer à un moment donné, créant ainsi un nouveau dialecte Javascript pour la programmation multithread. Les deux options sont potentiellement intéressantes, mais il semblerait que vous n’ayez pas encore décidé laquelle vous visiez.
Donc, pour le moment, vous demandez aux programmeurs d’envisager de passer d’un environnement à un seul thread à un nouvel environnement multithread qui n’a pas de solution pour le problème de synchronisation ni aucune preuve qu’il améliore les performances dans le monde réel, et apparemment aucun plan pour résoudre ces problèmes.
C'est probablement pourquoi les gens ne vous prennent pas au sérieux.
2) La simplicité et la robustesse de la boucle d’événement unique constituent un avantage considérable .
Les programmeurs Javascript savent que le langage Javascript est "à l'abri" des conditions de concurrence et d'autres bugs extrêmement insidieux qui minent toute programmation véritablement multithread. Le fait qu’ils aient besoin d’arguments solides pour les convaincre d’abandonner cette sécurité ne les rend pas fermés d’esprit, ils les rendent responsables.
À moins que vous ne puissiez conserver cette sécurité, quiconque voudra passer à un nœud multithread sera probablement mieux de passer à un langage tel que Go, conçu dès le départ pour les applications multithread.
3) Javascript supporte déjà les "threads d'arrière-plan" (WebWorkers) et la programmation asynchrone sans exposer directement la gestion des threads au programmeur.
Ces fonctionnalités résolvent déjà de nombreux cas d'utilisation courants qui affectent les programmeurs Javascript dans le monde réel, sans pour autant renoncer à la sécurité de la boucle d'événement unique.
Avez-vous des cas d'utilisation spécifiques à l'esprit que ces fonctionnalités ne résolvent pas et pour lesquelles les programmeurs Javascript veulent une solution? Si tel est le cas, il serait judicieux de présenter votre fichier node.js multithread dans le contexte de ce cas d'utilisation spécifique.
Post-scriptum Qu'est-ce qui me convaincrait d'essayer de passer à une implémentation multithread de node.js?
Ecrivez un programme non-trivial dans Javascript / node.js qui, selon vous, bénéficierait d'un véritable multithreading. Effectuez des tests de performances sur cet exemple de programme dans un noeud normal et votre noeud multithread. Montrez-moi que votre version améliore considérablement les performances d'exécution, la réactivité et l'utilisation de plusieurs cœurs, sans introduire de bogues ni d'instabilité.
Une fois que vous avez fait cela, je pense que vous verrez des gens beaucoup plus intéressés par cette idée.