Effective C++: scott Meyers的几句话

前几天,慕名买了一本关于C++的一本书, 即Scott Meyers 的《Effective C ++》。 这本书给出了如和提高编写C++程序和设计的效率55个items , 可以说这些items or suggestions 是教会我们如何从一个普通的程序员, 想要快速掌握有经验的程序员的必备素养。 掌握了这些忠告, 能够是你的代码易于理解, 易于维护, 避免犯下低级错误。

出于兴趣, 我搜到了关于本文作者Scott Meyers 的一个采访。 名字是《 a unique perpestive on C++》。

在采访中, 我了解到Meyers 拥有Brown University 的PHD in compuer science。  他本人在去读研究生之前确实工作在软件行业的第一线(in the trenches), 编写很多代码, 发布软产品等等, 简而言之, 就是一个十足的software developers。 后来, Meyers 在graduate school 期间, 做了一门关于software engineering 的course的TA。 这门课的教授认为C++ 相比于C而言, 是一个更好的software engineering  language。 这也是Meyer开始学习C++的原因。   当时的时间是1988。

几年后, Meyer开始利用自己的专业知识, 业余时间为公司员工进行C语言的培训。 后来转向C++ 的培训。 虽然钱并不多。 Meyers说, “That's when you really learned a language when you try to teach it” 。 注意当时, Meyers 还只是一个graduate student.。

这本Effective C++ 正是源于Meyers在教授周培训课上使用的的的培训材料。  Meyer 仅仅花了几周时间写下了这本后来成为C++的经典之作。

Meyers 谈到, 就有CS的专业背景知识使得他能够很好地理解很多概念。 许多程序员根本不知道compiler, linker 都是干啥的, run time systems 干啥的, operating systems 是干啥的。  所以当他们试图解决程序中出现的一些问题的时候,  

很难入得其法。

关于C++ 的发展前景, 为什么要使用C++, Meyers 表示他是一个Proponent of choosing the right tool for the job, and C++ is a tool。虽然C++ 相比于其他语言, 这个工具相当的complicated, difficult to learn how to use it correctly。 但是 C++ 相比于其他的编程编程语言, 例如Java等, 具有如下优点(reasons for choosing  this big complicated tool):

(1)对performance要求高的场合。 例如as fast as we can,  space 越小越好,  更好的兼容性, 当我们的数据是format的, 我们需要一些数据结构准确的读取这些formated data等等。 当对于一些demmand 很难满足的时候, C++ 就能够很好地解决。

(2)如果你想你的程序运行足够快, 那么C++ 也是一种好的选择。 假如说, 你想编写一个just in time compiler that generates the executable instructions, ie compiler for  java,  .net program, 都需要用C++ 编写。 大多数的Java, 。net 等等的编译器是用C++编写的。  

(3)嵌入式(embedeed world)一般对于运行时间, 空间能性能要求也很大, 他们的CPU不是很强大, memory也不是很大, 所以需要很好的组织分配硬件资源等等, 这时候, C++ 就能很好的完成这个工作了。 C++ 可以和底层硬件很好的“对话”。

当然还有其他的特性, 这里不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值