Danny Kalev是《ANSI/ISO Professional Programmer's Handbook》及《The Informit C++ Reference Guide: Techniques, Insight, and Practical Advice on C++》两本书的作者,他分享了一些建议,对那些寻求提高自身专业技能的程序员大有裨益。
姓名:
Danny Kalev
工作经验:
我从1988年以来一直在编程。我最初编程用的是DEC VAX 11/750(1980年10月推出)的机器,即便在当时那台机器也算是老古董了。然而,它却是学习编程的绝好方法,因为它支持多种不同的编程语言,例如PL/1(我仍然喜欢)、DCL(DEC的专有脚本语言)、Fortran、以及后来的C语言。20世纪90年代中期,我参与了一个规模巨大的移植项目,该项目是将以色列内政部办公室的国民登记处数据库转换为现代的、客户端/服务器架构。它是使用C++的最早期项目之一(在1994年)。之后我先后跳槽到几个专注于多媒体流的新兴创业公司——多媒体流在20世纪90年代末期是个热门话题。在那以后,我成了个体户。我已经写过三本C++的书,而且于2003年在Informit上开办了C++每周专栏,延续至今已有九年多。如今,我是几家IT公司的顾问。我主要的专业技能领域仍是C++及面向对象设计。我还会举办与这些主题相关的讲座。
VAX 11/750
最显著的成就:
- 在2000年荣获以色列商会系统分析师优秀奖,随后出版了《ANSI/ISO Professional Programmer's Handbook》一书。
- 在2004年以最优成绩获得语言学硕士学位。
- 以书本形式出版《The Informit C++ Reference Guide》。
最常用的编程语言:
C++
建议:
如今每当我编写新的C++代码时,我会意识到同一程序与两三年前的样子相比差别是如此之大。那是因为C++的变化很快,即便是存在了30年后的今天依然如此。然而不仅仅是C++标准的变化影响着我的C++代码。作为程序员,我们始终在学习如何改进我们的做法。有两个因素导致了需要持续阅读——语言变化及技能改进。
要是你想成为优秀的程序员,你就必须投入大量时间去阅读C++杂志、一流作者的新书、订阅专业讨论组及论坛的内容、并与你的同事互相切磋。学习是永不结束的持续过程。除了接触新的编程技术和设计风格、阅读专业资料以外,还要自习精准的技术术语(technical terminology)。例如,规范4则(canonical four)(特指构造函数、析构函数、拷贝赋值运算符、赋值运算符)被作为那些特定成员函数的正式名称。同样地,C++中没有方法(method)——它只有成员函数(member function),因此我发现我总是把那些仍在谈及方法和属性的人搞得一头雾水,然而在C++中方法和属性都不存在。这并非吹毛求疵或偏执——没有精准、专业、统一的术语,你将无法阅读你的编译器的在线文档,更不用说专业性更强的资料了,例如C++标准本身的文本内容。
总而言之,阅读的资料一定要比你编写的内容多得多,而且要坚持阅读高质量的资料(read much more than you write, and stick to high quality material)。对那些侮辱你智商的烂书说白白。而是应该抬高准星,着眼于专业的、最新资料。那么做就对了。
查看英文原文:"The Best Programming Advice I Ever Got" with Danny Kalev
来自更多程序员的建议参见“我收到的最佳编程建议”(The Best Programming Advice I Ever Got)系列文章。