Разные уровни абстракции. Есть "ограничивающие абстракции" типа "конструктор" (готовые CMS), которые определяют песочницу, в рамках которой строится система. Есть фреймворки, которые тоже могут задавать направление. Языки - тоже абстракция (причём, мега-абстракция, относительно "низкий (0), высокий (1) уровень напряжения").
Есть те, кому интересно писать "конструкторы", есть те, кому интересно пользоваться конструктором. При этом, любая абстракция может быть названа конструктором.
Например, пользователи 3D-max тоже пользуются конструктором. Хотя, те, кто написали 3D-max, могут им сказать: "да-а, а, давайте-ка, не будем мышкой тут строить объекты, а писать их на Си". А ещё другие скажут: "а, давайте, выкинем Си и будем писать на Асме". "Какой ещё Асм? Что вам HEX-кодов не хватает?". "Да при чём здесь ваши HEX-коды, когда я привык программировать BIN-кодами и не вижу надобности в HEX-кодах" и т.д. =)
Если может быть достигнут одинаковый результат, то разные уровни абстракции можно сравнивать и выбирать наиболее оптимальный (критерии тоже относительны - производительность, количество человеко-часов и т.д.) Если "конструктор" ограничивающий (как в случае с CMS, когда потребуется написать то, что нельзя реализовать с помощью этой CMS), то, конечно, знание другой абстракции ("не ограничивающей" на этом относительном уровне; например, "язык программирования") - не соизмеряется с ним.
Последний раз редактировалось Dmitry A. Soshnikov, 28.04.2009 в 22:11.
|