Хорошо известно, что в практике программирования сложились различные подходы, которые развиваются по различным направлениям. Бросающиеся в глаза различия проявляются в разном способе осмысления и написания программ. Большинство программистов занимается процедурным программированием. Но кроме него есть и программирование, основанное на правилах, логическое программирование, параллельное программирование, визуальное программирование, программирование в терминах потоков данных. При желании этот перечень можно продолжить, но он, очевидно, будет неполон, если в него не включить также и объектно-ориентированное программирование, которое имеет явно выраженную тенденцию роста.