Самое сложное объяснение программирования - PullRequest
19 голосов
/ 26 октября 2009

Недавно я попытался объяснить какой-то плохо разработанный код моему менеджеру проекта. Все классы менеджера являются синглетонами («и поэтому я не могу легко это изменить»), и код использует диспетчеризацию событий везде, где достаточно было бы вызова функции («и именно поэтому так сложно отлаживать»). К сожалению, это только вышло как неуклюжий беспорядок английского языка.

Что самое сложное, что вы должны были передать нетехническому человеку как программисту? Нашли ли вы какие-либо аналогии или способы объяснения, которые прояснили это?

Ответы [ 26 ]

1 голос
/ 26 октября 2009

Предотвращение мертвой блокировки в многопоточной среде.

Я устранил путаницу, объяснив это визуально на белой доске, нарисовав две параллельные линии и показав, что происходит, когда достигают одинаковых точек в одно и то же время.

Кроме того, мы разыгрываем две темы с человеком, которому я это объяснял, и используем физические объекты (книга, кружка кофе и т. Д.), Чтобы показать, что происходит, когда мы оба пытаемся что-то использовать одновременно.

0 голосов
/ 01 октября 2014

Проще говоря, почему развитие - это самая сложная концепция, когда-либо существовавшая в человеческом роде. Не относится ни к какому языку программирования, но в целом. И нет, я не пытаюсь дать себе или вам повышение эго, единственные реальные ограничения в этой области - это ваш разум.

Почему? Мы не работаем с константами, и у нас нет границ, единственная причина, по которой ИИ, который думает как человек, еще не существует, это наши собственные ограничения. Все остальные аспекты должны соответствовать какому-то закону, развитие не заботится о законах физики или каких-либо законах в этом отношении, отсюда и термин развитие ... эволюция.

0 голосов
/ 07 сентября 2012

В мире есть 10 различных типов людей.

Люди, которые понимают двоичный код, и люди, которые не понимают ....

0 голосов
/ 03 января 2010

Почему вам не нужна обработка символов в большинстве случаев при использовании строк UTF-8.

0 голосов
/ 16 августа 2011

Трудно объяснить, почему в большинстве программ есть ошибки. Многие нетехнические люди понятия не имеют, насколько сложное программное обеспечение и как легко игнорировать непредвиденные ситуации. Они думают, что мы слишком ленивы, чтобы починить то, что, как мы знаем, сломано.

0 голосов
/ 27 октября 2009

Попытка объяснить, почему код вообще выполнялся последовательно. По-видимому, это не совсем интуитивно понятно для некоторых непрограммистов (т.е. моей подруги).

...