Абстракции php

Чистый php, фреймворк и cms — это 3 уровня абстракции.

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

Предположим, домохозяйке не нравится магазинное тесто, она купила муку и яйца, замесила тесто, испекла пирог. Вкусовые качества пирога на порядок улучшились, а временные и трудовые затраты повысились. Это фреймворк.

Предположим, домохозяйке не нравится качество магазинной муки и магазинных яиц. Она засевает поле, сеет рожь/пшеницу, пашет, собирает урожай, перемалывает урожай в муку, заводит кур, собирает яйца и из всего этого делает пирог. Временные и трудовые затраты феноменальные, зато пирог вкуснейший. Это чистый PHP.

Чем ниже уровень абстракции, тем выше квалификация специалиста.

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

По итогу: в зависимости от сложности задачи и уникальности фукционала, специалист должен выбирать, какой уровень из этих 3 уровней абстракции ему использовать. Хоть они и пересекаются, но не очень сильно, и конкуренции друг для друга почти не представляют. Далеко не факт, что ваш знакомый, который «изучил 10 cms» сможет эффективно решать те задачи, которые ставят работодатели, нанимающие «много программистов что бы они копались в коде»