Tuesday, September 25, 2007

C++ 风格及流派

我确实没有见过哪一种语言能像C++这样,在代码风格方面表现得如此诡谲和难以捉摸:谁也说不清C++代码究竟能衍生出多少种迥异的风格,但我知道,有许多C++初学者在面对不同风格的C++代码时,经常会误以为自己看到的是好几种完全不同的编程语言??仅此一点就足以提醒我们,研究和廓清C++语言风格的演化和发展规律已是当务之急了。

C++语言风格流变史:

详见:http://vcer.net/1181705404640.html

1. 带类的C――C语言风格的因袭

2. I/O――C++的新形象

3. OWLMFC――窗口环境下的风格变异

4. 模板――现代C++风格的基础

5. ATL――COM时代的另类C++

6. 标准C++――一种全新的语言?

7. 读不懂的代码――兼容并包的语言风格

8. C++Builder――Borland的复兴之路

9. Visual C++ .NET――革命还是叛逆?

c++派说:

1. 经典C++流:类是核心,例程多用C Runtime的,很少用模版,一般是正统教育的结果。

2. 古典C流:基本上当C用,偶尔用用对象,不使用异常,喜欢怀旧。

3. MFC流:秉承MFC的风格,主要使用MFC/ATL对象和Win32 API,不喜欢STL,用很多的宏把IDE的语法提示模块折磨到崩溃。

4. Portable流:以C RuntimeSTL为主要工具,使用类和模版,不跨平台毋宁死。

5. Functional流:以模版和STL为主要武器,大量使用函数式语言的设计方法,并号称这才是真正的C++

6. Win32流:多使用全局函数,偏爱Win32 API,但不排斥C Runtime,通常喜欢轻量级的程序,所以身材也比较苗条。

7. Java流:全面使用Java的风格,不能容许任何全局成员,但允许使用STL的集合类,写很多叫Factory的类。

8. COM流:喜欢AddRef()Release(),大量使用接口,隐藏一切可以隐藏的东西,诵经的时候要把上帝替换成COM

9. 戒律流:追求完美的C++程序,计较每一个constthrow(),极力避免不安全的cast,随身一定要带一本ISO C++手册。

10. 混沌流:其程序无常形,无恒道,变幻莫测,吾不知其名

C++杂思录——风格的选择

http://blog.csdn.net/myan/archive/2004/06/16/1916.aspx

No comments: