Le probleme de la securite est a mon avis hors sujet dans le cadre de l'enseignement dans le secondaire.
D'un côté, je suis d'accord. Mais de l'autre, (dé)former, par un enseignement très partiel et qui risque d'être mal réalisé (les profs de lycée sont loin d'être tous bons pour enseigner l'algorithmique, même dans un canevas bien déterminé...), le gros d'une tranche d'âge à programmer sans méthode sérieuse, sans tenir compte de la performance, du footprint et de la sécurité, et faire faussement croire que la programmation est chose facile (*), n'est pas bon chose pour le genre humain à moyen terme. Même si bien entendu, seule une très faible proportion des élèves qui reçoivent des cours d'algorithmique deviennent en fin de compte des programmeurs professionnels.
De plus javascript utilise des structures de controle explicites qui facilitent la transition vers C/C++ (contrairement a Python et en particulier a sa boucle for).
Mais faut-il vraiment faciliter la transition du plus grand nombre vers des langages aussi difficiles que C/C++ ?
Regardons parmi les langages récents, compilés en code natif, plus sûrs par défaut et plus faciles à maîtriser que le C++:
* Go est portable, et tient notamment une bonne partie de l'écosystème conteneurs;
* Rust va plus loin vers la sûreté, au détriment de la facilité d'apprentissage et de programmation;
* Swift est un langage sympa au demeurant, mais toujours modérément portable et largement confiné à l'écosystème Apple;
* D est là depuis plus longtemps, a introduit beaucoup de bonnes idées reprises par d'autres (Go, C++, etc.), mais ne décollera probablement jamais. Je pense que son aspect semi-propriétaire lui a coûté cher, et maintenant qu'il y a d'autres langages dans le même créneau, plus largement utilisés, ça va être d'autant plus difficile.