LinuxFab转述Geocities网站专文指出,已发展二十多年的面向对象程序设计(OOP - Object Oriented Programming),虽然拥有许多 OOP 的拥护者﹐这些人也试图说服众人OOP 是一套适用各处﹑利多于弊的模型﹑方法,然而作者对此提出质疑,并举出十八项 OOP 的迷思﹐让大家反向思考。
面向对象程序设计是不是万灵丹?这是一个复杂而且争议性极高的问题。作者指出已有太多实例证明采用 OOP 的软件项目﹐如果没有良好的规划管理﹐OOP 并无法带来什么好处﹐而有些用非 OOP 的 COBOL 语言来规划项目﹐也能良好地达到重复使用﹑弹性高的特色。
这十八项迷思分别如下:
* OOP 已被证实可适用于任何场合
* OOP 能更逼真地仿真真实世界
* OOP 让程序设计工作更加可视化
* OOP 让程序设计更容易﹑更快
* OOP 免除了 "case" 或 "switch" 指令的复杂性
* OOP 减少须要修改的地方
* 继承(Inheritance)增进重复利用性
* 大部份的东西都能在层次分类中适得其所
* 自行处理的名词比动词重要
* 只有 OOP 能自动收集垃圾(garbage collection)
* 只有 OOP 能建立组件
* 只有面向对象数据库能储存大量﹑多媒体的数据
* OODBMS 整体而言快于 RDBMS
* C 是最佳的程序化语言
* OOP 已防止了 Y2K 问题
* 内容实作的改变显然通常比接口重要
* 程序化/关联性语言将变量型别和大小和程序代码绑得较紧密
* 程序化/关联性语言不能 "factor"