Из "97-ми вещей, которые должен знать каждый программист".
Современные приложения очень редко пишутся с нуля. Скорее, они собираются с помощью существующих инструментов — компонентов, библиотек и framework-ов — по нескольким хорошим причинам:
- Приложения становятся больше и сложнее, хотя доступное время на их разработку уменьшается. Становится выгоднее тратить время разработчиков и их способности на написание бизнес кода в проблемной области, чем кода инфраструктуры.
- Широко используемые компоненты и библиотеки вероятнее всего имеют меньше ошибок, чем разработанные "в домашних условиях".
- В сети доступно много бесплатного высококачественного кода и программ, что означает снижение стоимости разработки и большую вероятность найти разработчика с необходимыми интересами и умениями.
- Производство программ и обслуживание стоят дорого - поэтому покупка готовых частей может быть дешевле, чем их разработка.
Фактически, когда вы делаете выбор, вам нужно иметь ввиду несколько вещей:
- Различные инструменты могут основываться на различных предположениях о контексте (окружении, модели управления, модели данных, протоколах коммуникации и т.д.), что может привести к нестыковкам в итоговой архитектуре приложения. Такие несоответствия могут приводить к использованию хаков и обходных путей, которые сделают код более сложным, чем это необходимо.
- Различные инструменты имеют различное время жизни, а обновление любого из них может быть невероятно сложной задачей, потому что новые возможности, изменения дизайна или даже исправления ошибок могут вызвать несовместимость с другими инструментами или уже написанным кодом. Чем больше у вас инструментов, тем хуже может стать проблема.
- Некоторые инструменты требуют конфигурирования, что иногда может быстро выходить из под контроля. В итоге приложение может выглядеть так, будто оно написано на конфигурационных файлах и нескольких строках на каком-то языке программирования. Сложность настройки может сделать ваше приложение сложным в обслуживании и расширении.
- Привязка к производителю происходит, когда код сильно зависит от продуктов конкретного производителя и в итоге ограничивается им по нескольким направлениям: управляемости, производительности, возможности развиваться, цене и т.д.
- Если вы планируете использовать бесплатные программы, то вы можете в итоге обнаружить, что они не так уж бесплатны. Вам может понадобится купить коммерческую поддержку и она, вероятнее всего, не будет дешёвой.
- Лицензии важны, даже для бесплатных программ. К примеру, в некоторых компаниях запрещено использовать программы под лицензией GNU из-за её вирусной природы — т.е. программы, разработанные с использованием GNU-программ, должны распространяться с открытым исходным кодом.
Комментариев нет:
Отправить комментарий
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.