Основной целью программирования является построение надёжной легко читаемой и модифицируемой программы, решающей поставленную задачу. Для этого программа должна иметь возможно более простую структуру. Хотя решаемые задачи имеют различную сложность, выбор варианта их решения в большинстве случаев должен определяться простотой понимания этого решения. Поэтому для того чтобы стать профессионалом, необходим опыт и знание основных принципов, выработанных программистами за время существования программирования.
Рассмотрим основные методы и технологии разработки алгоритмов и программ.
Структурное программирование – метод создания достаточно простых, понятных и легко читаемых программ, в которых используются только стандартные управляющие структуры.
Процедурное программирование – метод построения программы как совокупности её функциональных частей - процедур или функций. Каждая процедура или функция представляет собой функционально законченную последовательность действий и выполняется как единая операция.
Модульное программирование – организация программы в виде совокупности независимых частей – модулей, со строгим порядком их взаимодействия. В модулях группируются процедуры и функции по их назначению. Модули разрабатываются и транслируются отдельно.
Объектно-ориентированное программирование – метод программирования, основанный на использовании в программе совокупности объектов, каждый из которых содержит некоторые данные и методы их обработки. Объекты связываются между собой по принципу наследования.
Перечисленные методы реализуют одну из возможных технологий современного программирования: нисходящую или восходящую.
Нисходящее проектирование - технология разработки программ, при которой на каждом шаге проектирования задача разбивается на более мелкие подзадачи так, что в любой момент разработки имеется действующий вариант программы в терминах выделенных подзадач.
Восходящее проектирование – технология разработки программ, при которой сначала проектируются и отлаживаются подпрограммы для выполнения простых операций, после чего они связываются в единую программу.