Il est malhonnête de tronquer les phrases pour en inverser le sens.Envoyé par Clement Cunin
La phrase etait
"Je pourrais par exemple critiquer Java en parlant de javascript,
ce qui ne serait pas malin."
Ce qui signifie que java et javascript n'ont effectiivement rien a voir:
une vague rssemblance syntaxique, et quelque concepts communs.
Alors arrêtez de dire que je n'ai rien compris et relisez vous.
La notion d'objet suffit à elle seule pour radicalement changer la façon
d'aborder la programmation, ce qui suffit a faire de C++ un langage très
différent de C. Mais il est plus facile de tout mettre dans le même panier.
Mais C++ est bien que cela, car il permet de programmer selon 3 paradigmes.
- full procédural
- full objet
- générique. Ce dernier point est passionant mais il n'est jamais abordé ici
car coté Java, c'est le trou complet de ce coté là.
Voila l'utilisateur bien avancé !! Il est mort, mais on lui dit que c'est normal.On peux faire 2 choses avec les exceptions :
-> rattrage d'erreur previsible. Ca on est tous d'accords, c'est faisable en C++
-> rattrape d'erreur imprévus, c'est possible en Java, mais pas en C++.
Le but étant, APRES deployement, d'essayer si possible, de palier une erreur de conception qui aurait echappé au phase de test de developpement. Tu sais, le jours ou tu dis que normalement tous marche, que tu vens ton programme, et que malgrés tout tes effort il reste une merde dedans.
Le but n'est pas d'afficher une trace d'execution dans une fenetre, mais de determiner un gros quel parti du programme a causé une erreur pour dire a l'utilisateur que tel ou tel fonction n'a pas marcher correctement.
Vous venez vous même de citer un exemple un cas ou il n'y a aucun rattrapage,
juste la constatation d'un problème. CQFD
Oui, mais pas nécessairement PAS critique. En fait vous n'en savez rien.Voila l'histoire d'Ariane 5.
Les ingenieurs en chargent du programme de guidage embarqué de la fusée sont parti du programme et du module de test d'Ariane 4. Ils ont ensuite adapté le programme et le jeu de test à la nouvelle fusée.
L'ordinateur de bord à la charge de controler plusieurs modules, la trajectoire, le niveau de carburant, le comportement physique... lors des simulations, le programme c'est bien comporté. Mais lors du lancement, un des modules a généré une erreur les ingenieurs n'avait prevus cette erreur, ils n'ont pas tenu compte des exceptions, tous le programme s'est bloqué entrainant la destruction d'une fusé a plusieurs millions d'euros.
Si l'erreur avait été traité au plus tot, le module arait pus etre qualifié d'instable, desactivé proprement, laissant le soin au ingénieur au sol de géré eux même ce module. Ce module n'etait pas nécéssairement critique pour le succes de la mission.
Votre argumentation s'auto-détruit (en vol)
Le fait de supposer que le module est déconnectable indique que
l'erreur est prévue. On tombe bien dans le domaine d'application
que je préconise pour les exceptions. Merci l'aller dans mon sens.
Or vous parlez également d'erreur imprévue : comment un évênement imprévu
peut engendrer une réaction appropriée prévue ?
C'est illogique.
Ou il existait une réponse à une situation prévue, et l'erreur a été de ne pas la
mettre en oeuvre, ou on n'avait pas de réponse car l'erreur était imprévue.
Dans les deux cas, les exceptions ne peuvent pas nous sauver.
Les exception sont un bon outil, pas un outil magique !
La corruption de données n'a jamais été un défi pour moi,L'isolation des données à l'intérieur d'un même programme releve du défit en C++. La combinaisons des Threads, de l'environnement protégé, permettent des choses impossible en C/C++.
et je refuse (avec beaucoup d'autres) que l'efficacité de ce que j'écris soit dégradée
parceque c'est un problème pour d'autres.
J'ajouterais une fois de plus pour cette catégorie de personnes
qu'un programme faux est faux, dans tous les langages du monde.
Le fait d'avoir une bonne protection mémoire n'empêche pas les mauvaises
surprises, et ne dispense pas de corriger.
Vous voulez parler des threads ? Je suis à l'écoute.
Partager