Не очень давно мне на Quorа попался вопрос об отличиях корявом приблизительном переводе.
Вы в джунглях. У вас есть карманный нож.
Кто-то просит вас убить горного льва. Кто угодно, кроме программиста, спросит: «Какого черта горный лев делает в джунглях?» Но спрашивать — это не то, что вас учили делать в качестве программиста. Вы здесь, чтобы решать проблемы, а не задавать вопросы.Вы хорошо обучились за годы тренировок. Вы воспользуетесь ножом, чтобы заострить палку. Вы срежете лиану, чтобы привязать острые камни к концу палки. Может быть, вы закончили один из лучших университетов и знаете, как извлечь из растений и насекомых вокруг вас необходимые ингредиенты, чтобы изготовить яд и нанести его на острие своего оружия.
И будучи убеждённым, что у вас есть эффективный и действенный способ убить льва, вы выдвигаетесь, чтобы выполнить свою задачу. Может быть, ваша палка оказалась слишком коротка или ваш яд не сработал. Всё в порядке — вы возвращаетесь, чтобы усовершенствовать оружие и попробовать в другой раз.
Потом
кто-то находит способ изготовления низкокачественной взрывчатки из добытых в джунглях химических веществ. Теперь метод убийства льва с помощью копья далеко не лучший путь решения вашей задачи. Тем не менее, этопо-прежнему простой способ ипо-прежнему будет преподаваться в школах. Каждого убийцу львов научат, как создавать свое оружие с нуля.Это
«real-life» программирование.В соревновательном программировании, вы начинаете с теми же ресурсами (складной нож), только у вас есть 2 минуты, чтобы убить льва.
Будучи новичком, вы уставитесь на льва и ничего не сможете сделать.
Вскоре вы узнаёте, что если убить белку, то судья может подумать, что это был лев, и вы окажетесь молодцом.
Более опытный программист просто продолжит колоть льва и надеяться, что тот умрёт вовремя. Затем вы узнаёте, что на теле льва есть определённые места, устойчивые к повреждениям. Вы научитесь не тратить свое время на эти места. Но если таких точек не видно, то вы становитесь действительно хорошим убийцей белок.
И вообще, чтобы быть отличным соревновательным программистом, вы должны быть в состоянии делать две вещи.
Во-первых , вы должны научиться находить уязвимое место у льва и убивать его одним быстрым ударом.
Во-вторых , вы должны научиться работать ножом так хорошо, чтобы вырезать острую палку за 1 минуту и провести следующую минуту, закалывая льва до смерти.Но у вас
никогда-никогда не будет достаточно времени на изготовление взрывчатки, чтобы избавиться ото льва.Anthony Moh, Over-generalizer
Свое мнение по теме можно высказать в комментариях, там же принимаются замечания по переводу. От себя могу сказать, что я вполне согласен с приведённым мнением, иначе вряд ли бы оно попало ко мне в блог.
Хочется что-то добавить или сказать? Я всегда рад обсудить. Пишите на me@dikmax.name.