Votre déclaration est 100% correcte, ne manque que le point

Bonjour, Habr! Je vous présente la traduction de l'article "Votre déclaration est correcte à 100% mais manque le point entier" .

Imaginez des langages de programmation quelque part sur Internet. Un des problèmes architecturaux qui peut être discuté est le ramasse-miettes. Un panéliste mentionne les avantages de la collecte des ordures comme ceci:
Les ramasseurs d'ordures sont cool et économisent beaucoup d'énergie. Si votre application n'a pas d'exigences strictes en matière de temps de réponse, l'absence de la nécessité de prendre en charge la gestion de la mémoire libère le développeur et peut augmenter considérablement son efficacité.

Il s'agit d'une déclaration assez neutre avec laquelle la plupart des gens seraient d'accord, même s'ils travaillaient sur du code ayant des exigences strictes en matière de temps de réponse. Et pourtant, inévitablement, quelqu'un présentera un tel contre-argument:
Non! Si vous avez des pointeurs pendants, la mémoire ne sera jamais libérée et dans tous les cas vous devrez la réparer en effectuant une gestion manuelle de la mémoire. Les ramasse-miettes ne corrigent pas comme par magie toutes les erreurs.
Si vous lisez attentivement ces phrases, vous remarquerez que chaque déclaration qu'elles contiennent est vraie. C'est pourquoi il est si désagréable de le contester. La plupart des personnes ayant un diplôme d'ingénieur en général sont disposées à admettre leurs erreurs lorsqu'elles sont prouvées que leurs déclarations sont incorrectes. Bien sûr, cela ne s'applique pas à tout le monde, car certaines personnes sont volontairement en désaccord avec des faits qui contredisent leurs préjugés. Nous ignorerons ces personnes dans cet article.

Étant vrai, ces déclarations ignorent le contexte plus large de la question, qui contient les points suivants:

  • — ( , 1 10 ?), , , , . . — (100-1000 );
  • , , ;
  • , ;
  • , , , , , .

Bref, les arguments sont en fait corrects, mais ils manquent tout le point du commentaire auquel ils répondent. Malheureusement, cela se retrouve souvent dans les discussions sur Internet. Voyons quelques exemples.

Sécurité informatique


Cette déclaration:
L'utilisation de HTTPS pour tout le trafic est bonne pour la sécurité et l'anonymat.

Vous pouvez contre-argumenter, par exemple, comme ceci:

Cela n'apporte aucune sécurité réelle. Si la NSA veut recevoir vos données, elle fera irruption dans votre appartement et les recevra.

Encore une fois, cette affirmation est absolument vraie. D'un autre côté, si vous n'êtes pas le chef de l'État ou si vous ne traitez pas avec des cartels internationaux de la drogue, il est peu probable que vous deveniez une cible directe de la NSA.

Si vous pensez que c'est un contre-argument stupide que personne ne fera jamais, alors je suis entièrement d'accord avec vous. J'ai également vu comment il était utilisé dans le monde réel. J'aimerais ne pas l'avoir vu.

Erreurs causées par l'incompétence


Les langages de programmation de haut niveau sont faciles à utiliser:
Les langages de programmation Buffer Overflow sont parfaits pour le développement en termes de sécurité et de simplicité.

Mais pas pour tout le monde:
Vous pouvez obtenir la même chose en C, faites juste attention.

C'est encore vrai. Si chaque développeur travaillant sur la base de code sera concentré à 100% et 100% prudent 100% du temps, alors l'écriture de code sans erreur est possible. La réalité a montré à maintes reprises que cela est impossible, une personne n'est tout simplement pas capable de travailler sans problème pendant longtemps.

YAGNI ? Qu'est-ce que YAGNI d'autre?


Tout est simple:
Le traitement des fichiers texte avec Python est vraiment cool et facile.

Et pas si simple:

Python est un non-sens complet, il ne fera pas face à la tâche lorsque vous aurez besoin de traiter dix millions de fichiers par seconde sur le microcontrôleur intégré, en utilisant un maximum de 2 Ko de RAM.

Oui. Oui, ça l'est. Dans ce cas, ce ne serait pas le bon choix. Tu as tout à fait raison. Merci pour votre perspicacité, bon monsieur, voici une brillante médaille d'or en mémoire de votre importante contribution à cette discussion.

Quelle pourrait en être la raison?


La seule chose que l'école vous prépare, c'est qu'il est important d'avoir raison. Si vous donnez les bonnes réponses au test, vous obtiendrez une bonne note. Et si vous ne le donnez pas, c'est mauvais. Peut-être que cette pensée «colle» après avoir terminé l'école, surtout si l'on considère que la plupart des personnes qui publient ce type de commentaire semblent être à la fin «plus intelligente» du spectre (opinion personnelle qui n'est basée sur aucune recherche réelle). Dans le monde réel, avoir raison en soi n'est pas un mérite. Bien sûr, dans toutes les discussions, il est important d'avoir raison, mais une caractéristique beaucoup plus importante doit être appropriée. Cela nécessite une compréhension du contexte plus large et, éventuellement, la reconnaissance que ce qui est le plus important dans le monde pour vous personnellement peut être complètement hors de propos pour la question à l'examen.

Avoir raison est facile. Être pertinent est extrêmement difficile.

All Articles