ППО - это комплекс прикладных программ, с помощью которых выполняются конкретные задания: производственные, творческие, развлекательные и т.д.
Текстовые редакторы - основные их функции - ввод и редактирование текстовых данных.
Графические редакторы - обширный класс программ, предназначенных для создания и обработки графических изображений.
Системы управления базами данных. БД называют огромные массивы данных, организованные в табличные структуры.
Электронные таблицы - это комплексные средства для хранения различных типов данных и их обработки. Электронные таблицы аналогичны базам данных, но акцент смещен не на хранения данных, а на преобразование данных.
Системы автоматизированного проектирования (CAD-системы), они предназначены для автоматизации процесса верстки полиграфических изданий.
Существуют и другие прикладные программные средства: экспертные системы, редакторы HTML (Web-редакторы), броузеры (средства просмотра Web), интегрированные системы делопроизводства, бухгалтерские системы и т.д.
Парадигма — набор теорий, стандартов и методов, которые представляют собой способ организации научного знания, — иными словами, способ видения мира. Парадигма в программировании — способ концептуализации, который определяет, как следует проводить вычисления, и как работа, выполняемая компьютером, должна быть структурирована и организована.
Известно несколько основных парадигм программирования, важнейшими из которых на данный момент времени являются парадигмы директивного, объектно-ориентированного и функционально-логического программирования. Для поддержки программирования в соответствии с той или иной парадигмой разработаны специальные алгоритмические языки.
C и Pascal являются примерами языков, предназначенных для директивного программирования (directive programming), когда разработчик программы использует процессно-ориентированную модель, то есть пытается создать код, должным образом воздействующий на данные. Активным началом при этом подходе считается программа (код), которая должна выполнить все необходимые для достижения нужного результата действия над пассивными данными.
Этот подход представляется вполне естественным для человека, который только начинает изучать программирование, и исторически возник одним из первых, однако он практически неприменим для создания больших программ.
Сейчас весьма распространенным стал объектно-ориентированный (object oriented) подход, реализуемый, например, языками C++ и Java. При этом, наоборот, первичными считаются объекты (данные), которые могут активно взаимодействовать друг с другом с помощью механизма передачи сообщений (называемого также и механизмом вызова методов). Функция программиста в этом случае подобна роли бога при сотворении Вселенной — он должен придумать и реализовать такие объекты, взаимодействие которых после старта программы приведет к достижению необходимого конечного результата.