Какие существуют основные этапы методов программирования?

Вопрос аналогичный предыдущему, только про методы программирования. Слышал, что есть такие, как "стихийное", "структурное" и тд. Вот про это хотелось бы узнать по-подробнее)

Только не нужно на википедию переотправлять, или в гугл. Найти там можно всё - только это займёт куда больше времени и будет далеко не так интересно...

Стихийное программирование - это самый первый этап в развитии программирования. Было "на ходу", когда программирование только только возникло. Стихийным оно называлось потому что в тот период не было никаких технологий как таковых, и каждый писал код как попало, как вздбредало в голову.

Структурный подход к программированию - это второй этап, 70-80 годы. Этот этап представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В отличие от используемого ранее процедурного подхода к декомпозиции, структурный подход требовал представления задачи в виде иерархии подзадач простейшей структуры. Проектирование, таким образом, осуществлялось «сверху-вниз» и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм. Дальнейший рост сложности и размеров разрабатываемого программного обеспечения потребовал развития структурирования данных. Как следствие этого в языках появляется возможность определения пользовательских типов данных.

Третий этап - объектно-ориентированный подход к программированию (с середины 80 до конца 90 годов). Объектно-ориентированное программирование определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. По сути его и сейчас нередко используют, в частности на itvdn есть немало курсов, связанных с ООП языками и ООП технологиями (в частности C#, C и Java).

Четвертый этап – компонентный подход и CASE-технологии (до нашего времени). Компонентный подход предполагает построение программного обеспечения из отдельных компонентов – физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. В отличие от обычных объектов объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде (без исходных текстов) и использовать в любом языке программирования, поддерживающем соответствующую технологию.