周末闲谈:C and C++, why use c++?
问起c与c++区别,常常从语法上回答,c++是带类的c,再深入可能提到设计方面,面向对象设计支持,范型设计等等。
问起为什么使用c++?能使用面向对象设计来取代过程式设计,可能是最多的回答;还有就是c++可以写大项目,在控制大系统上有优势。
以上回答有问题吗?不知道,别人若问我,我也这么回答。
从2月份开始,一直在开发网络行为审计系统高性能版,我们也叫大流量版本。是在以前普通版上进行重新设计,采用分布式、多进程、多线程来最大化利用memory、CPU,提高系统吞吐量。
在架构设计确定以后,就是进行详细设计和开发,因为有普通版,当然是进行重构或重写。普通版也是使用c++编写的,g++编译,我使用VIM开发。
设计风格呢?有class无OO设计,还是个过程式的东西----这种风格太常见了,大文件、大函数、废代码成堆出现,不安全的指针操作,忘记资源释放等等。
这种现象我在所工作几家公司都发现了,让我头痛,也让我练就了一手好的重构技术,现在基本上面对这种代码,我能处乱不惊了。
----这种现象,让维护成本成倍增加以至于系统腐烂。是c的错,还是c++的错?是面向过程的错?还是面向对象的错?
开发语言没有错,用c开发,我既可以进行过程式设计,也可以进行面向对象设计,即结构体+函数指针来表达类,函数指针来表达多态等。
设计风格没有错,其实不管面向过程设计还是面向对象设计,系统架构设计、模块化首先要做好,对功能内聚性理解要清楚;不然,时髦的面向对象设计也没有什么用。
现实中,我们所设计的类,不会是图形Shape与圆,马与白马关系那么简单,你不可能很容易得出一个唯一的设计答案。
why use c++? 我感觉最简单的答案就是公司已经用它,那进公司就得用它,没有那么多废话,这就是最最简单的管理----服从。
用了c++就能写出好系统、大系统吗?不能。语言解决不了设计人员和开发人员本身素质问题。
建议继续学习:
- C语言中史上最愚蠢的Bug (阅读:7095)
- C的那些事儿 (阅读:5414)
- C 语言的前世今生 (阅读:5155)
- 为什么C语言需要函数声明 (阅读:4750)
- C语言结构体里的成员数组和指针 (阅读:4975)
- C语言的那些个关键字们 (阅读:4539)
- C#和C++混合编程的一些tips (阅读:3311)
- C++11 中值得关注的几大变化(详解) (阅读:2588)
- Effective C++ 3rd 的一点评论 (阅读:2315)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:梁兄 来源: C++博客-梁 兄
- 标签: C
- 发布时间:2009-11-02 21:03:27
- [69] Twitter/微博客的学习摘要
- [67] IOS安全–浅谈关于IOS加固的几种方法
- [65] 如何拿下简短的域名
- [65] android 开发入门
- [63] find命令的一点注意事项
- [62] Go Reflect 性能
- [61] 流程管理与用户研究
- [60] Oracle MTS模式下 进程地址与会话信
- [59] 图书馆的世界纪录
- [57] 读书笔记-壹百度:百度十年千倍的29条法则