Профессиональное программирование на PHP

Страница 13 из 591


Предисловие

Просматривая на днях книги Вильяма Гибсона (William Gibson) в "All Tomorrow^ Parties", я наткнулся на это:

То, что перепроектировано, слишком специфично и предвосхищает результат; предвосхищение результатов гарантирует если не сбой, то отсутствие изящества.

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

Сам по себе язык РНР балансирует между стратегией решения Web-проблемы и соблазном ограничить людей специфическим принципом ее решения. Немногие назвали бы РНР привлекательным. Как язык сценариев он полон боевых шрамов за годы службы на передовой линии Web. Что привлекательно, так это простота РНР-подхода.

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

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

Наличие всех инструментов, конечно, не может гарантировать, что разработчик не создаст "монстра". Здесь и появляется Джордж со своей книгой. Джордж берет читателя в путешествие по РНР, которое повторяет его собственное путешествие-не только в РНР, но и в методиках разработки и решения проблем вообще. Прочтя книгу, читатель узнает то, что автор изучал в течение многих лет работы в этой области. Однако хватит читать бесполезное предисловие, переходите к главе 1 и начинайте путешествие.

— Расмус Лердорф (Rasmus Ledorf)




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006