Su declaración es 100% correcta, solo pierde el punto

Hola Habr! Le presento la traducción del artículo "Su afirmación es 100% correcta pero pierde todo el punto" .

Imagina lenguajes de programación en algún lugar de Internet. Una de las cuestiones arquitectónicas que se pueden discutir es el recolector de basura. Un panelista menciona los beneficios de la recolección de basura de esta manera:
Los recolectores de basura son geniales y ahorran mucha energía. Si su aplicación no tiene requisitos estrictos para el tiempo de respuesta, la ausencia de la necesidad de cuidar la administración de memoria libera al desarrollador y puede aumentar significativamente su eficiencia.

Esta es una declaración bastante neutral con la que la mayoría de las personas estaría de acuerdo, incluso si estuvieran trabajando en un código que tiene requisitos estrictos para el tiempo de respuesta. Y, sin embargo, inevitablemente, alguien presentará un argumento en contra:
¡No! Si tiene punteros colgantes, entonces la memoria nunca se liberará y, en cualquier caso, tendrá que solucionarlo mediante la administración manual de la memoria. Los recolectores de basura no corrigen mágicamente todos los errores.
Si lees cuidadosamente estas oraciones, notarás que cada afirmación en ellas es verdadera. Por eso es tan desagradable disputarlo. La mayoría de las personas con un título de ingeniería en general están dispuestos a admitir sus errores cuando se les presenta evidencia de que sus declaraciones son incorrectas. Esto, por supuesto, no se aplica a todos, ya que algunas personas están dispuestas a estar en desacuerdo intencionalmente con cualquier hecho que contradiga sus prejuicios. Ignoraremos a esas personas en este artículo.

Siendo ciertas, estas declaraciones ignoran el contexto más amplio de la pregunta, que contiene los siguientes puntos:

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

En resumen, los argumentos son realmente correctos, pero pierden todo el punto del comentario al que responden. Esto, desafortunadamente, a menudo se encuentra en las discusiones en Internet. Veamos algunos ejemplos.

La seguridad informática


Esta declaración:
Usar HTTPS para todo el tráfico es bueno para la seguridad y el anonimato.

Puede contraargumentar, por ejemplo, así:

Esto no proporciona ninguna seguridad real. Si la NSA quiere recibir sus datos, irrumpirá en su apartamento y los recibirá.

De nuevo, esta afirmación es absolutamente cierta. Por otro lado, si no es el líder del estado o no está tratando con carteles internacionales de drogas, es poco probable que se convierta en un objetivo directo de la NSA.

Si crees que este es un argumento en contra estúpido que nadie hará, entonces estoy completamente de acuerdo contigo. También vi cómo se usaba en el mundo real. Desearía no haberlo visto.

Errores causados ​​por incompetencia


Los lenguajes de programación de alto nivel son fáciles de usar:
Los lenguajes de programación de desbordamiento de búfer son excelentes para el desarrollo en términos de seguridad y simplicidad.

Pero no para todos:
Puede lograr lo mismo en C, solo tenga cuidado.

Esto es nuevamente cierto. Si cada desarrollador que trabaja en la base del código estará 100% concentrado y 100% cuidadoso el 100% del tiempo, entonces es posible escribir código libre de errores. La realidad una y otra vez demostró que esto es imposible, una persona simplemente no puede trabajar sin problemas durante mucho tiempo.

YAGNI ? ¿Qué más es YAGNI?


Todo es simple:
Procesar archivos de texto con Python es realmente genial y fácil.

Y no tan simple:

Python no tiene sentido, no hará frente a la tarea cuando necesite procesar diez millones de archivos por segundo en el microcontrolador incorporado, utilizando un máximo de 2 KB de RAM.

Si. Sí lo es. En ese caso, esa sería la elección equivocada. Tienes toda la razón. Gracias por su comprensión, buen señor, aquí hay una brillante medalla de oro en memoria de su importante contribución a esta discusión.

¿Cuál podría ser la razón de ésto?


Lo único para lo que la escuela te prepara es que es importante tener razón. Si da las respuestas correctas en la prueba, obtendrá una buena nota. Y si no lo das, es malo. Tal vez este pensamiento “se quede” después de terminar la escuela, especialmente teniendo en cuenta que la mayoría de las personas que publican este tipo de comentarios parecen estar en el extremo “más inteligente” del espectro (opinión personal que no se basa en ninguna investigación real). En el mundo real, tener razón en sí mismo no es un mérito. Por supuesto, en cualquier discusión, tener razón es importante, pero una cosa mucho más importante es ser apropiado. Esto requiere una comprensión del contexto más amplio y, posiblemente, el reconocimiento de que lo que es más importante en el mundo para usted personalmente puede ser completamente irrelevante para el tema en consideración.

Tener razón es fácil. Ser relevante es extremadamente difícil.

All Articles