29 votes

Erreurs dans C ++ FQA

Je l'ai lu plusieurs fois sur ce forum (voir, par exemple, les commentaires sous ce post) que le C++ FQA est biaisée, erronée, contient un lot de plus de la hype etc etc. Je voudrais savoir exactement zones dans le C++ FQA qui contiennent de mal ou overhyped de l'information. Où puis-je trouver un objectif jusqu'à la date de l'examen de la FQA et la FAQ?

Un FQA par la poste s'il vous plaît.

Cette question n'est pas subjective ou argumentatif en tant que tel, mais il n'a pas une réponse claire. C'est pourquoi je suis déjà un wiki de la communauté. Je suis l'affichage de cette question avec l'espoir que ce sera comme une référence pour les gens qui lisent et croient que le contenu écrit en C++ FQA sans vérification. Donc merci de ne pas fermer cette question, c'est une humble demande. :)

23voto

Michael J Points 4112

Je n'avais jamais entendu parler de C++ FQA jusqu'à environ cinq minutes à peine, donc je ne suis pas familier avec la discussion précédente. Cependant j'ai été un programmeur pour 20 ans, et je connais un peu le sujet.[1]

Certaines choses sont claires faits; ils sont de bonne ou de mauvaise. Si j'écris "Canberra est la capitale de l'Australie", qui est facilement vérifiable -- elle est bonne ou mauvaise. D'autres choses sont plus subjectifs. Si je dis "Canberra est une ville agréable à vivre", c'est moins de béton. Il n'est pas totalement subjective. Nous pouvons recueillir des données sur l'évolution du climat, de la criminalité et d'autres facteurs qui influent sur l'expérience de la vie, mais l'importance relative de bits de données, différentes personnes peuvent tirer des conclusions différentes à partir des mêmes données.

Langage de programmation sont comme ça. Il ya beaucoup de faits et de statistiques, mais assez varié avis sur la façon de les interpréter. (En fait, de profonds désaccords sur ce que les faits sont). L'auteur de l'APQ croit de toute évidence que le C++ est un mauvais choix comme un langage de programmation. La plupart de ce qu'il écrit sont ses opinions. Certains seraient d'accord avec lui et quelques-uns ne le serait pas. Il n'est pas possible de passer par point par point et de dire "c'est mal parce que ...". C'est juste son avis.

Permettez-moi de partager certaines de mes interprétations.

Nous allons commencer avec quelque chose qui est rarement contestée: C++ est très complexe. Tous les langages de programmation sont assez complexes, mais le C++ est dans le haut de gamme (mais certainement pas le pire). La plupart (mais pas tous) les gens qui ont vraiment la haine C++ ne comprends pas très bien. C'est moins étrange quand on considère qu'un nombre alarmant de personnes qui écrivent du code C++ ne comprends pas vraiment non plus. C'est une grosse partie du problème.

Il n'y a pas de "Chirurgie du Cerveau pour les Nuls" livre. Si vous voulez être un chirurgien, vous devez consacrer beaucoup de temps et d'effort d'acquérir les compétences nécessaires. "Labourer" et "faire-faire" ne sont vraiment pas une option.

L'apprentissage de C++ ne peut pas être de la chirurgie du cerveau, mais c'est difficile. Cependant, le travail acharné a ses récompenses. Un métier de programmeur C++ a des outils très puissants pour gérer la complexité des grands projets de logiciels. Mais sans les compétences d'experts, bien qu'il ressemble plus à un massacre à la tronçonneuse que l'opération délicate.

Si vous voulez faire du C++, puis la première à devenir un expert. Si vous souhaitez sortir, puis aller pour Visual Basic.

[1] j'ai d'abord écrit: "j'ai été un programmeur pour 20 ans, donc je connais un peu le sujet", mais nous avons réalisé que le nombre d'années ne garantissent pas un niveau de compréhension.

11voto

Jerry Coffin Points 237758

Plutôt que de réfuter ses allégations, un par un, j'avais classer ses états. La plupart sont simplement tenter de prendre "je n'aime pas X", ou "je préfère Y", et comme si cela constituait un défaut dans la langue. Un exemple particulièrement flagrant est plaint d'un manque de réflexion, comme si elle était connue fait que la réflexion est nécessaire pour tous les "bons" des langues.

La catégorie suivante est prise de défauts, défauts, etc., dans les outils qu'il est (apparemment) utilisé, et à traiter les personnes comme des défauts dans la langue elle-même. Un exemple particulièrement flagrant de ce est: "Aucun moyen de localiser les définitions de" (par exemple, avec les outils que j'utilise, j'ai juste le bouton droit de la souris et sélectionnez "aller à la définition").

Un peu plus de tomber en ignorant tout simplement les faits qui contredisent ce qu'il veut croire. Juste pour exemple, il affirme que: "les algorithmes", comme max et adjacent_difference ne comptent pas comme des "fonctionnalités" dans mon livre". Son choix d'ignorer les choses ne signifie pas qu'ils n'existent pas. De même se plaindre de l'absence de collecte des déchets (ce qui n'est pas mandaté par la langue, mais elle est autorisée, et les implémentations sont disponibles).

Si vous voulais résumer ses points dans l'ensemble, beaucoup de il vient vraiment du fait que le C++ est une grosse langue. Je ne pense pas qu'une question raisonnable que le C++ est un grand complexe de la langue. Le problème est le traitement comme si c'était vraiment un défaut.

Sa position est un peu comme si j'ai décidé que le "droit" de la taille d'une maison était de 1700 à 2000 pieds carrés, et les a traités comme un fait que tous les plus petites ou plus grandes maisons avaient tort. La différence est que, pour une raison quelconque, quand vous parlez des maisons de l'idiotie de cette position est immédiatement évident pour pratiquement tout le monde, mais avec les langages de programmation beaucoup de gens en quelque sorte trouver le même genre d'argument crédible et raisonnable.

8voto

Nemanja Trifunovic Points 17239

Démystifier la FQA a autant de sens que démystifier la fausse interview de Stroustrup . C'est une lecture amusante si vous ne la prenez pas au sérieux, mais argumenter avec elle est inutile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X