Кажется, что большинство программ, которые я пишу, я мог бы объяснить ребенку, как это сделать менее чем за час ( лот менее чем за час, но Мне нравится быть консервативным в моих оценках). После этого короткого урока ребенок мог делать то, что я хочу, чтобы компьютер делал вручную. Вместо того, чтобы меньше часа, чтобы заставить компьютер делать это, у меня уходит недели или месяцы. Например, я работаю над следующей программой в течение недели или около того, и она, возможно, завершена на 10%:
Задача принимает в качестве входных данных плоское 2D-изображение, например .jpg.
Для каждого шарика мы хотим знать, какие пиксели находятся на периферии. Например, возможно, один пиксель на самом краю желтого шарика находится в строке 321 и столбце 437. По сути, нам нужна карта внешнего края каждого шарика.
Мы можем представить себе гигантскую копию картины, лежащей на полу спортзала. Он разделен на квадраты (пиксели) размером с тарелку, каждый из которых имеет чистый цвет.
Мы можем представить увеличение на краю одной из капель
Предположим, что мы находим пиксель на краю капли. Как нам найти гнездо? а следующий?
Хорошо ... давайте проследим за внешней стороной капли по часовой стрелке.
Остальные графические пояснения можно найти здесь
За исключением времени, чтобы сделать снимки, я уже неделю или около того работаю над описанной выше игрушечной программой, и она может быть завершена на 10%.
Как я могу тратить меньше времени на написание кода, чтобы получить то, что я хочу? Если я могу объяснить это ребенку менее чем за час, то мне больно тратить недели на написание кода для этого.