文档库 最新最全的文档下载
当前位置:文档库 › linux网络编程

linux网络编程

linux网络编程
linux网络编程

Linux周末培训哪家好

相比于周末培训哪家好的问题,我们更有必要了解为什么我们现在要学习Linux。

为什么我们要学习Linux而非更为大家所熟知的C、C++?

语言之争更多的是一种类似宗教信仰上的,所以很难有结果,也没有太多实际意义。这种争论因为出自高手之间,所以还是会透露出很多重要的信息。比如:

1. 对于要求性能高的系统编程领域,C++其实未必胜过C,而且事实上,也确实有很多此类项目是选择C作为主要语言的。C的生命力目前仍然毋庸置疑。更多的信息可以读这里。

2. C++目前确实处于一种被夹攻的态势,一方面在企业级系统开发(数据密集、

业务规则复杂多变)中,C++已经基本被Java和C#等淘汰出局,另一方面在系统编程和嵌入式等更接近硬件的领域,又遭到C的强烈狙击。

3. OO技术并非one-size-fits-all。

……(大家补充)

必须看到的是,C语言作为一种古老的语言,其局限性也是很明显的,比如已经成为安全问题渊薮的缓冲区溢出。C的标准库也存在各种各样的问题。对于更加贴近现实世界的众多项目,没有面向对象机制,显然会影响开发效率。(有关C 标准库源码层次的分析,图灵将出版著名C/C++专家Plauger的《C标准库》一书。)而且,即使是C程序员所引以为豪的性能优势,现在也岌岌可危了(参见C++之父Stroustrup的文章中相关的比较)。

C++目前的困境,很大程度上是由于此前的图书和文献曾经一度倾向于炫技,陶醉于对语言各种细节的深入探索,有华丽化、复杂化的趋势,语言设计者们苦心设计出来各种丰富的特性和多范型的编程风格,却成了学习者和使用者的负担,加上微软等开发工具又用MFC之类的糖衣,结果造就了大批基础不牢、半桶水叮当响的C++程序员,而且因为自以为掌握了世上最难的语言,往往有目空一切的傲气。这样开发出来的代码质量,可想而知。对C++的各种误解和不良使用习惯,可以说是漫天飞舞。而这种局面继而造成C++逐渐成为一般人心目中望而生畏、学不好教不好更用不好的“专家语言”,越来越无法吸引新入行的程序员。老人毛病多多,新人青黄不接,C++社区的确面临危机。

这几年,C++界的核心人物,包括Bjarne Stroustrup、Herb Sutter、Stan Lippman、Andrei Alexandrescu和Andrew Koenig、Stephen Dewhurst等,对此局面有过较多的反思,痛定思痛之后,写作了Learning C++ as a New Language(中译文)、《C++ Primer》第四版、《C++编程规范》、《Accelerated C++》和《C++必知必会》等返璞归真的文章和图书。其核心变化,是对标准库(Torvalds语气中对STL和Boost也很不屑,不知是何原因,请方家告我)、规范化、领域概念和设计的强调,弱化底层语言细节,或者说强调更规范地选择使用语言特性。

比较同一作者的《C++ Primer》第四版和第三版、《C++编程规范》和《Modern C++ Design》以及Exceptional C++系列,可以清楚地看到这一点。

比如Primer第三版一上来就突出C++的多种编程风格(过程式编程、基于对象编程、面向对象编程、泛型编程),并且以此作为布局谋篇的主线,很容易使初学者晕倒。到了第四版,则更多地把力气花在打好扎实的基础,介绍那些实际开发中通用的、行之有效的编程技术,在特定场合,C++提供的丰富“武器库”中应该选择哪些设施、应该注意哪些问题、业界已经总结了哪些优秀的编程实践和易犯的错误等,成了书中的主干。这使此书成为目前最适合的C++学习和使用的百科全书。

与此配套的,当然应属《C++编程规范》,用条款形式说明了C++各种语言设

施的正确用法和适用场合。如果你在学习C++的时候,就能结合其中的相关条款,了解所学特性的正确用法,当然是最理想的。而《C++必知必会》则选取了对C++程序员非常重要的知识点,进行一番贴近实际的讨论。

那么我们回转话题,Linux周末培训哪家好呢?当然是会跟你八卦这种历史的千锋好啦~

相关文档