stringtranslate.com

Неструктурированное программирование

Неструктурированное программирование является исторически самой ранней парадигмой программирования, способной создавать Тьюринг-полные алгоритмы [ требуется ссылка ] . Его часто противопоставляют парадигме структурированного программирования , в частности, с использованием неструктурированного потока управления с использованием операторов goto или эквивалента. Это различие было особенно подчеркнуто в публикации влиятельного открытого письма « Go To Statement Considered Harmful » в 1968 году голландским ученым-компьютерщиком Эдсгером В. Дейкстрой , который ввел термин «структурированное программирование». [1]

Неструктурированное программирование подвергалось жесткой критике за создание трудночитаемого («спагетти») кода .

Существуют как высокоуровневые, так и низкоуровневые языки программирования , которые используют неструктурированное программирование. Некоторые языки, которые обычно упоминаются как неструктурированные, включают JOSS , FOCAL , TELCOMP , языки ассемблера , пакетные файлы MS-DOS и ранние версии BASIC , Fortran , COBOL и MUMPS .

Особенности и типичные концепции

Основные понятия

Программа на неструктурированном языке использует неструктурированные переходы к меткам или адресам инструкций. Строки обычно нумеруются или могут иметь метки: это позволяет потоку выполнения переходить к любой строке в программе. Это контрастирует со структурированным программированием , которое использует последовательные конструкции операторов, выбор (if/then/else) и повторение (while и for).

Ссылки

  1. ^ Дейкстра 1968, «Необузданное использование оператора go to имеет непосредственным следствием то, что становится ужасно трудно найти осмысленный набор координат, в котором можно описать ход процесса. ... Оператор go to в его нынешнем виде слишком примитивен, он слишком приглашает запутать программу».

Дальнейшее чтение

Внешние ссылки