模块化编程以子系统(尤其是I / O)和软件库的形式出现,可以追溯到早期的软件系统,在该系统中,它被用于代码的重用。1960年代末和1970年代开发的以模块化为目标的模块化编程本身,作为结构化编程概念(1960年代)的大规模模拟。术语“模块化编程”至少可以追溯到1968年7月在信息和系统研究所由拉里·康斯坦丁组织的全国模块化编程研讨会上。 模块未包含在ALGOL 68(1968)的原始规范中,但作为早期实现的扩展(ALGOL 68-R(1970)和ALGOL 68C(1970))包括在内,并于随后正式使用。从一开始就为模块化编程设计的xxx种语言是Niklaus Wirth的短暂的Modula(1975)。另一种早期的模块化语言是Xerox PARC的Mesa(1970年代),Wirth借鉴了Mesa以及其后续版本Modula-2(1978)中的原始Modula,该语言尤其通过其后续版本Modula-3影响了后来的语言。(1980年代)。Modula使用点限定名称(例如从模块M.a引用对象)与访问记录字段的表示法(以及类似的对象属性或方法)相吻合,并且在C#,Dart,Go, Java和Python等。模块化编程从1980年代开始普及:较初的Pascal语言(1970年)不包含模块,但后来的版本,尤其是UCSD Pascal(1978年)和Turbo Pascal(1983年),就像Pascal一样以“单元”的形式包含了它们。 -影响Ada(1980)。扩展的Pascal ISO 10206:1990标准在其模块化支持方面与Modula2保持了紧密联系。标准ML(1984)aM拥有较完整的模块系统之一,包括在模块之间映射的函子。