C语言
C语言的特色之一是：语言不负责内存边界检查，这是因为在运行时进行内存边界检查会造成性能问题，与UNIX哲学不符。此特性容易导致缓冲区溢出问题。然而，部分编译器（如英特尔编译器）会出于安全性的考量，提供方法以进行运行时内存边界检查。
模块化编程
在1980年代和1990年代，模块化编程被遮盖于并经常被混淆于面向对象编程，特别是由于C++和Java的流行。例如，C语言家族中的C++（最初在1980年是具有类的C）和Objective-C（1983年）很早就已经支持了对象和类，只在30年后甚至更久之后才支持模块。Java（1995年）以包的形式支持模块，然而代码组织的主要单元是类。但是Python（1991年）从开始就突出的使用模块和对象二者，使用模块作为代码组织的主要单元，使用包作为大规模的单元；而Perl 5（1994年）包括了对模块和对象二者的支持，具有能从CPAN（1993年）获得的大量的模块。