我的成长经历来看,C程序员必须学习面向对象编程!面向对象编程语言有其天然的一个优势 - 将软件世界的一切象现实世界那样视为对象。我在《专业嵌入式软件开发》一书的《设计,质量之本》一章中指出,软件设计的一个原则是"以人为本",在软件世界中构建现实世界就能很好地贯彻这一原则,而对象在编程语言中的引入提供了设计便利性。对象的引入使得编程语言具有更具结构化的表达能力,这有助于提高程序的可维护性。
从C程序员的角度来看,通过使用对象能让程序更具模块性,而模块化是我们所倡导的很重要的软件开发方法之一。一旦掌握面象对象编程,C程序员的设计能力通常会有较大幅度的提升。这种提升使得即便是用C语言编程也能写出更具模块化的代码。这是我主张C程序员一定要学习面向对象编程的根本原因。