C'est plus le cas depuis 20 ans déjà.
Rien à voir mais c'est bien essayé.
Bon déjà Rust n'a pas de GC. Et je vois pas le lien entre un GC et un compilo, mais bon, le reste n'a guère de sens non plus donc on est pas à ça près.
Lire un langage comme sa langue maternelle n'empêche pas ce langage d'être criblé de défaut (et c'est le cas de tous les langages, même Rust). Le problème dans le cas du C c'est que la gestion de la mémoire est manuelle et surtout qu'il y a énormément de undefined behaviours (
bonjouuuuur).
Ah clairement, le C++ est horriblement complexe. Par-contre oui, la gestion de la mémoire (de manière générale) est aussi un sujet horriblement complexe que C++ ne gère pas du tout (un poil mieux que le C grâce aux destructeurs et les smart pointers mais ça reste insuffisant).
Oula, dire que le C est simple, c'est une grave erreur. C'est un langage très difficile. Et c'est pas qu'il PERMET de faire des bêtises mais qu'il requiert du développeur une quantité phénoménale d'efforts supplémentaires pour s'assurer que tout fonctionne correctement. Et c'est sans parler de tous les undefined behaviours. Ce n'est pas une histoire de compétence (sinon je suppose que tu te considères meilleur que les ingés chez google/linux et consorts qui sont tous en train de lentement mais sûrement passer à Rust justement parce que la gestion de la mémoire notamment est trop complexe) mais bien d'un langage qui ne fournit pas ce qu'il faut pour permettre d'écrire du code qualitatif.
Donc parce que ça ne résoud pas 100% des problèmes on doit laisser tomber ? Logique... Et le code du kernel linux ou même de projets aussi gros/vieux ont des millions de lignes de code. Clairement, même du code SIMPLE (comment ça peut être simple quand c'est aussi gros ? Mystère), LISIBLE (ba je suppose qu'avec des commentaires ça aide) et MAINTENABLE (ah ba là va falloir définir ce que t'entends par là), le C n'est pas suffisant (sinon pourquoi y aurait-il d'autres langages ?). Par-contre les seuls ajouts du C depuis C89 ce sont des types avec des tailles définies (j'apprécie d'être sûr que mon char soit signé et de un octet, ce qui n'est pas défini dans la norme C) et des undefined behaviours qui sont lentement mais sûrement définis.
Ouf, ba faut avertir le monde et lui dire de s'arrêter parce que t'es pas d'accord alors.
Il y a des points sur lesquels je suis d'accord, mais les raisons ne sont pas juste "parce que les gens veulent tout complexifier pour le fun". C'est un mélange de marketing douteux, d'effet de mode bien pourri (l'écosystème front-end du web est une catastrophe) mais aussi des fois des besoins légitimes pour tenter de faire des projets bien cool pour faire avancer nos connaissances. Bref, les nuances, etc.
Partager