Программирование - это процесс, который позволяет превратить набор свёрстанных страниц в полноценный сайт. Именно программист реализовывает весь необходимый вам функционал, начиная с обычной фото-галереи и заканчивая подключением платёжных модулей онлайн-банкинга.
На сегодняшний день программирование сайта можно свести к двум основным видам деятельности:
- Работа с существующими CMS (Content Management System).
- Разработка собственных решений.
Первый способ включает в себя интеграцию общеизвестных готовых систем управления сайтом — CMS: WordPress, Joomla, DLE, Drupal, Magento, OpenCart, CS-Cart и множество других. При этом, программисту часто приходится либо адаптировать существующие функции под требования заказчика, либо дописывать собственные модули для использования на выбранной CMS.
В этом есть свои преимущества и свои недостатки. К первым можно отнести экономию времени и бюджета: CMS уже обладает довольно широким функционалом, который можно расширить за счёт множества недорогих модулей. Недостатки же проявляются в узкой специализации каждой конкретной CMS (там может не быть необходимого именно вам функционала) и стандартностью: готовые решения обычно содержат широко известные уязвимости.
Второй способ — разработка собственных решений — включает в себя многочисленные «самописные CMS», а так же написание отдельных модулей для решения специфических задач заказчика.
В этом случае преимуществами являются безопасность, быстродействие и специализация функционала. Главный же недостаток — уникальность кода, сводящая к минимуму желание других студий разбираться в нем, в связи с чем заказчик часто оказывается «привязан» к одному исполнителю.
В целом же можно сказать, что, несмотря на бытующее мнение, программирование — процесс творческий: к решению одной и той же задачи можно подойти множеством разных способов. И чем опытнее программист, тем проще его код и тем эффективней результат.