结构化程序的概念最早由 迪克斯特拉(E.W.Dijkstra)在1965年提出。其核心思想是将程序中的数据与处理数据的方法分离,通过模块化设计,将待开发的软件系统划分为若干个相互独立的模块,使每一个模块的工作变得单纯而明确。结构化程序强调使用顺序结构、选择结构和循环结构这三种基本程序结构来实现算法功能。
结构化程序的出现是对传统无结构化编程方法(如GOTO语句的滥用)的一种改进,旨在提高程序的可读性、可维护性和可理解性。在1966年,科拉多·伯姆和朱塞佩·贾可皮尼在《Communications of the ACM》期刊上发表论文,证明了任何一个有goto指令的程序都可以改为完全不使用goto指令的程序。这一理论上的证明进一步推动了结构化程序设计的普及。
1968年,艾兹赫尔·戴克斯特拉在《GOTO语句有害论》中提出了著名的观点,认为GOTO语句的使用是有害的,这进一步巩固了结构化程序设计在编程实践中的地位。
因此,结构化程序的概念和实践在20世纪60年代开始发展,并在70年代逐渐得到广泛应用,成为软件工程中的一个重要里程碑。