Парадигмы программирования
В современном мире IT-разработки существует довольно большое множество различных подходов к написанию программ. Так, например, кому-то нравиться представлять программу в виде последовательности действий, а кто-то считает, что программа должна представлять собой множество объектов, общающихся друг с другом. Совокупности этих идей и понятий образуют своего рода стиль написания программы, который принято назвать –
парадигма программирования.
У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
- инструкция (императивное программирование, FORTRAN/C/PHP),
- функция (функциональное программирование, Haskell/Lisp/F#/Scala),
- прототип (прототипное программирование, JavaScript),
- объект (объектно-ориентированное программирование, С++/Java),
- факт (логическое программирование, PROLOG).
Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.
В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования –
аспектно-ориентированном программировании.