Envoyé par
GAujay
D'après ce que je sais, il y a au moins une raison pour laquelle Google n'utilise pas les exceptions (sur Android, tout du moins).
Comme vous le savez peut-être, le NDK pour Android ne supporte pas officiellement la gestion de la STL, RTTI, et des exceptions. D'après un responsable du projet chez Google (David Turner, si mes souvenirs sont bons), ces spécificités du langage C++ ont volontairement été supprimées car, à l'époque, beaucoup trop gourmande en ressources. En effet, lors des premiers pas du projet, le compilateur utilisé alors était le version 3 (si mes souvenirs sont bons, encore une fois) de GCC. Hors, sur les plateformes mobiles notamment, la compilation des mécanismes d'exceptions étaient tout simplement très mauvaise (taille du binaire beaucoup plus importante, performances largement diminuées, etc). Depuis, la gestion des mécanismes d'exceptions est devenue quasiment "0 cost" (grâce à GCC 4), dixit le même responsable Google.
Je pense donc qu'il s'agissait avant tout d'un choix historique technique, plus que d'une réelle volonté de cadrage de ses développeurs (du moins en ce qui concerne les exceptions). On ne rigole pas avec la portabilité et les performances chez Google ! ^^
Partager