12.05.2018 Искусство разработки
Настоящее искусство программирования состоит в умении задавать компьютеру предельно корректные вопросы, избегая повторения и вставки в
программу «холостых» неисполняемых команд. Добиться этого трудно. Существует аксиома: «Нет программы, которую нельзя было бы уменьшить
хотя бы на одну команду». То есть любая, сколь угодно хорошая программа содержит избыточный код.
Алгоритм таков: растопить печь, налить в чайник воды, поставить на огонь, дождаться, когда она закипит, залить кипяток в заварку. А если
печь уже растоплена и в чайнике есть вода? Тогда алгоритм дорабатывается: вылить воду из чайника, загасить печь, после чего перейти к
выполнению задачи по первому варианту. Как ни смешно, но именно таким образом легче всего давать команды компьютеру, и поэтому в
программировании ремесло часто одерживает верх над искусством. А поскольку программирование превратилось в массовую специальность и
программы всё чаще создаются гигантскими коллективами, то избыточный код становится нормой. При конвейерной работе тон задают
посредственные программисты, а не гениальные одиночки, которые могут изобрести оптимальный код.
Настоящее искусство программирования состоит в умении задавать компьютеру предельно корректные вопросы, избегая повторения и вставки в программу «холостых» неисполняемых команд. Добиться этого трудно. Существует аксиома: «Нет программы, которую нельзя было бы уменьшить хотя бы на одну команду». То есть любая, сколь угодно хорошая программа содержит избыточный код.Алгоритм таков: растопить печь, налить в чайник воды, поставить на огонь, дождаться, когда она закипит, залить кипяток в заварку. А если печь уже растоплена и в чайнике есть вода? Тогда алгоритм дорабатывается: вылить воду из чайника, загасить печь, после чего перейти к выполнению задачи по первому варианту. Как ни смешно, но именно таким образом легче всего давать команды компьютеру, и поэтому в программировании ремесло часто одерживает верх над искусством. А поскольку программирование превратилось в массовую специальность и программы всё чаще создаются гигантскими коллективами, то избыточный код становится нормой. При конвейерной работе тон задают посредственные программисты, а не гениальные одиночки, которые могут изобрести оптимальный код.
|