容的，“模块化编程”现在指称将整个程序的代码分开成各部份的高层分解：结构化编程是采用结构化控制流的低层代码使用，而面向对象编程是对象的“数据”使用，对象是某种数据结构。在面向对象编程中，使用接口作为一种架构上的模式（pattern）来构造模块叫做基于接口编程。
语言支持.正式支持模块概念的语言包括：Ada、Algol、、C#, Clojure、COBOL、D、Dart、、Erlang、Elixir、Elm、、F#、Fortran、Go、Haskell、汇编语言、（CL）、、J