Компонентно-ориентированное программирование: различия между версиями
Содержимое удалено Содержимое добавлено
Fantom78 (обсуждение | вклад) |
Fantom78 (обсуждение | вклад) |
||
Строка 15:
== Отличия от функционального программирования ==
Как и в функциональном программировании, в компонент-ориентированном не только возможно, но и приветствуется использование функций и процедур. В обоих видах ''декомпозиции'' возможно использование функций внутри других функций, статических и динамических переменных, глобальных и локальных структур. В виду явной необходимости в функциональном программировании введены такие абстракции, как например: анонимные лямбда-функции, хвостовая рекурсия, побочные эффекты и ряд др. специфических особенностей. Ряд средств в функциональном программировании на самом деле избыточен, но другая часть действительно нужна, но это только усугубляет проблему: из-за различных эффектов характерных для функционального программирования, программисту легко потерять логику рассуждений и совершить какую-нибудь досадную ошибку, на выявление которой может уйти огромная часть времени. Такой язык, как {{w |Си}} — вполне выражает такую парадигму. Мощный, как трёхлинейная винтовка, и такой же опасный — можно шутя выстрелить себе в ногу с более чем фатальными последствиями. В целом, про функциональное программирование можно сказать, что оно отлично применимо к несложным проектам, которые должны работать с высочайшей скоростью на относительно простых аппаратных платформах. Компонент-ориентирование программирование стремится всеми доступными средствами к надёжности и гибкости на сколько это возможно. В целом, программа представляет из себя на КОП несколько хорошо изолированных частей. Это приводит к ясной структуре и простым эффективным правилам передачи и обработки информации, что безусловно положительно влияет на надёжность в целом. Сокрытие информации отсеивает лишнюю информацию для программиста, что позволяет ему сконцентрироваться на существенной части задачи. Упрощение языка и отказ от многих сомнительных приёмов программирования вынуждают программиста писать простой для понимания программный код, в котором трудно совершить досадную ошибку. Компилятор языка программирования в духе КОП не позволит создать программу, в которой программистом
== Отличия от объектно-ориентированного программирования ==
|