﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-My C++ Blog-随笔分类-程序生活</title><link>http://www.cppblog.com/ipuerta/category/6394.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 10 Nov 2008 00:24:47 GMT</lastBuildDate><pubDate>Mon, 10 Nov 2008 00:24:47 GMT</pubDate><ttl>60</ttl><item><title>学习c++应该看的书（C++学习的四个层次）</title><link>http://www.cppblog.com/ipuerta/archive/2008/11/08/66296.html</link><dc:creator>IP</dc:creator><author>IP</author><pubDate>Fri, 07 Nov 2008 18:07:00 GMT</pubDate><guid>http://www.cppblog.com/ipuerta/archive/2008/11/08/66296.html</guid><wfw:comment>http://www.cppblog.com/ipuerta/comments/66296.html</wfw:comment><comments>http://www.cppblog.com/ipuerta/archive/2008/11/08/66296.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ipuerta/comments/commentRss/66296.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ipuerta/services/trackbacks/66296.html</trackback:ping><description><![CDATA[<table style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" cellSpacing=0 cellPadding=0 width=650 border=0>
    <tbody>
        <tr>
            <td align=middle>
            <table style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" cellSpacing=0 cellPadding=0 width="100%" border=0>
                <tbody>
                    <tr>
                        <td width=650>
                        <div id=art style="MARGIN: 15px">
                        <div>C++/OPP/OOD系列:<br>层级一：语法/语意(C++)<br>[Lippman2000] Essential C++ [推荐]<br>Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages<br>Essential C++ 中文版 ，侯俊杰 译，282页</div>
                        <div>[Gregory95] C++:The Core Language<br>C++:The Core Language by Gregory Satir 1995 O'Reilly<br>C++语言核心，张铭泽　译 ，236页</div>
                        <div>[Deitel98] The Complete C++ Training Course<br>The Complete C++ Training Course 2/e by Harvey M.Deitel 1998 Prentice Hall<br>C++大学教程(第二版)，邱仲潘等　译，816页</div>
                        <div>[Stevens2000] Standard C++ Bible<br>Standard C++ Bible 2000 Al Stevens IDG<br>标准C++宝典，林丽闽等 译，766页</div>
                        <div>[Eckel2000] Thinking in C++ [第二版翻译不大好，建议看原版]<br>Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall<br>C++ 编程思想，刘宗田等 译，420页</div>
                        <div>[Lippman98] C++Primer [有点C++基础再看，强烈推荐！]<br>C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie<br>Addison Wesley Longman,1998 1237 pages<br>C++ Primer 中文版，侯俊杰 译，1999，1237页</div>
                        <div>[Struostrup2000] [专家级，需要一定水平]<br>The C++ Programming Language,Special Editoin,by Bjarne Stroustrup<br>Addison Wesley Longman,2000,1017 pages<br>C++程序语言经典本，裘宗燕 译，机械工业出版社 1999</div>
                        <div>[ANSI C++] C++规格书 1998.9.1 PDF格式<br>ANSI C++ 1996 Draft</div>
                        <div><br>层级二：专家经验(C++/OOP)<br>[Meyers96] More Effective C++ [不错]<br>More Effective C++,by Scott Meyers,Addison Wesley,1996,318pages<br>More Effective C++中文版，侯俊杰，培生 2000. 318页</div>
                        <div>[Meyers98] Effective C++ [推荐]<br>Effective C++，Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages<br>Effective C++ 2/e 中文版,侯俊杰,培生 2000.256页</div>
                        <div>[Sutter99] Exceptional C++ [不错]<br>Exceptional C++，by Herb Sutter,Addison Wesley Longman,2000.208pages<br>Exceptional C++中文版，侯俊杰,培生 2000.248页</div>
                        <div>[Sutter2001]More Exceptional C++<br>More Exceptional C++ by Herb Sutter,Addison Wesley Longman,2001.</div>
                        <div>层级三：底层机制(C++ Object Model)<br>[Ellis90] The Annotated C++ Reference Manual<br>The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup<br>Addison Wesley Longman,1990,447 pages.</div>
                        <div>[Lippman96] Inside the C++ Object Model [good]<br>Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages<br>深度探索C++物件模型，侯俊杰 译</div>
                        <div><br>层级四：设计观念的复用(C++/Patterns)<br>[Gamma95] Design Patterns：Elements of Reusable Object Oriented Software, [强烈推荐]<br>by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages<br>设计模式,李英军等译,机械工业出版社,2000.254页</div>
                        <div>[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied [比较深奥]<br>by Andrei Alexandrescu,Addison-Wesley,2001,352Paper</div>
                        <div><br>Genericity/STL系列:<br>第一个境界是使用STL:<br>[Josuttis99]:The C++ Standard Library －A Tutorial and Reference,by Nicolai M.Josuttis,<br>Addison Wesley 1999.799pages<br>中文版，侯捷译 [听说还可以]</div>
                        <div>第二个境界是了解泛型技术的内涵与STL的学理:<br>[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard<br>Template library,by Matthew H.Austern,Addison Wesley 1998.548page</div>
                        <div><br>第三个境界是扩充STL:<br>[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,<br>Meng Lee,David R.Musser,Prentice Hall 2001</div>
                        <div>这些就是你应该看的书，如果你想成为高手。</div>
                        <div>当然，因为很多书的内容会有所重叠，所以不是每本都必看的。在每个层次里看1~2本就差不多了，当然，有时间多看几本有利无弊<br></div>
                        </div>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p style="MARGIN: 5px; LINE-HEIGHT: 150%"></p>
            </td>
        </tr>
        <tr>
            <td height=25>&nbsp;<font color=#000099><strong>原文地址</strong></font> <a href="http://blog.sina.com.cn/s/blog_4b0ca80c010007ds.html" target=_blank><u><font color=#0000ff>http://blog.sina.com.cn/s/blog_4b0ca80c010007ds.html</font></u></a></td>
        </tr>
    </tbody>
</table>
<img src ="http://www.cppblog.com/ipuerta/aggbug/66296.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ipuerta/" target="_blank">IP</a> 2008-11-08 02:07 <a href="http://www.cppblog.com/ipuerta/archive/2008/11/08/66296.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个程序员的成长的六个阶段</title><link>http://www.cppblog.com/ipuerta/archive/2008/03/17/44658.html</link><dc:creator>IP</dc:creator><author>IP</author><pubDate>Sun, 16 Mar 2008 17:16:00 GMT</pubDate><guid>http://www.cppblog.com/ipuerta/archive/2008/03/17/44658.html</guid><wfw:comment>http://www.cppblog.com/ipuerta/comments/44658.html</wfw:comment><comments>http://www.cppblog.com/ipuerta/archive/2008/03/17/44658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ipuerta/comments/commentRss/44658.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ipuerta/services/trackbacks/44658.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 18pt"><strong style="FONT-FAMILY: 隶书">第一阶段</strong><br></span>此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。<br><strong style="FONT-SIZE: 18pt"><span style="FONT-SIZE: 18pt; FONT-FAMILY: 隶书">第二阶段</span><br></strong>此阶段能精通基于某种平台的接口（例如我们现在常用的Win 32的API函数）以及所对应语言的自身的库函数。到达这个阶段后，也就相当于可以进行真实散打对练了，可以真正地在实践中做些应用。<br><span style="FONT-SIZE: 18pt"><strong style="FONT-FAMILY: 隶书">第三阶段</strong></span><br>此阶段能深入地了解某个平台系统的底层，已经具有了初级的内功的能力，也就是&#8220;手中有剑，心中无剑&#8221;。<br><span style="FONT-SIZE: 18pt"><strong style="FONT-FAMILY: 隶书">第四阶段</strong></span><br>此阶段能直接在平台上进行比较深层次的开发。基本上，能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。<br>这时已经不再有语言的束缚，语言只是一种工具，即使要用自己不会的语言进行开发，也只是简单地熟悉一下，就手到擒来，完全不像是第一阶段的时候学习语言的那种情况。一般来说，从第三阶段过渡到第四阶段是比较困难的。为什么会难呢？这就是因为很多人的思想变不过来。<br><strong style="FONT-SIZE: 18pt; FONT-FAMILY: 隶书">第五阶段<br></strong>此阶段就已经不再局限于简单的技术上的问题了，而是能从全局上把握和设计一个比较大的系统体系结构，从内核到外层界面。可以说是&#8220;手中无剑，心中有剑&#8221;。到了这个阶段以后，能对市面上的任何软件进行剖析，并能按自己的要求进行设计，就算是MS Word这样的大型软件，只要有充足的时间，也一定会设计出来。<br><strong style="FONT-SIZE: 18pt; FONT-FAMILY: 隶书">第六阶段</strong><br>此阶段也是最高的境界，达到&#8220;无招胜有招&#8221;。这时候，任何问题就纯粹变成了一个思路的问题，不是用什么代码就能表示的。也就是&#8220;手中无剑，心中也无剑&#8221;。<br>此时，对于练功的人来说，他已不用再去学什么少林拳，只是在旁看一下少林拳的对战，就能把此拳拿来就用。这就是真正的大师级的人物。这时，Win 32或Linux在你眼里是没有什么差别的。<br>每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成，只要多用心去研究，耐心地去学习。<br>要想从第二个阶段过渡到第三个阶段，就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是，有些人到达第三个阶段后，常常就很难有境界上的突破了。他们这时会产生一种观念，认为软件无非如此，认为自己已无所不能。其实，这时如果遇到大的或难些的软件，他们往往还是无从下手。<br>现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的，不过这样的程序员一般在软件公司也能独当一面，完成一些软件的模块。<br>但是，也还有一大堆处在第一阶段的程序员，他们一般就能玩玩VB，做程序时，去找一堆控件集成一个软件。
<p style="FONT-SIZE: 14pt">感觉自己处于第二阶段与第三阶段之间，但是想跨入第三阶段感觉真的很难啊。要是能有一个人带带就好了。</p>
<img src ="http://www.cppblog.com/ipuerta/aggbug/44658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ipuerta/" target="_blank">IP</a> 2008-03-17 01:16 <a href="http://www.cppblog.com/ipuerta/archive/2008/03/17/44658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在校大学生应该怎样学习</title><link>http://www.cppblog.com/ipuerta/archive/2008/03/15/44563.html</link><dc:creator>IP</dc:creator><author>IP</author><pubDate>Sat, 15 Mar 2008 07:45:00 GMT</pubDate><guid>http://www.cppblog.com/ipuerta/archive/2008/03/15/44563.html</guid><wfw:comment>http://www.cppblog.com/ipuerta/comments/44563.html</wfw:comment><comments>http://www.cppblog.com/ipuerta/archive/2008/03/15/44563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ipuerta/comments/commentRss/44563.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ipuerta/services/trackbacks/44563.html</trackback:ping><description><![CDATA[<p align=left>在浏览我的blog的，除了专业的程序员，也有部分是在校大学生，还有两位同学通过QQ问我怎么<br>学习编程技术，我为这些同学的好学而感动；又因为自己曾经做过两年计算机大专老师，可能天生<br>喜欢教育人，兴趣一来就开始写这篇blog，其实自己认识也不够。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在的大学生面临的环境，用英国著名的小说家狄更斯的名言来形容：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;这是最好的时代，这是最坏的时代。&#8221;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好时代在于，现在大学里资讯特别发达，电脑、网络、书籍，他们很容易得到，现在网络上的<br>教程、blog、技术新闻等等多得是，各种开发工具、开发平台都可以免费获得，这不是最好的时代吗？！<br>想想我们九十年代读书时，操作系统是win95/win98，学习的语言就是Fortron(都不知道怎么拼写了)<br>和c语言，反正我从来没有上机实习，去机房就是玩电脑版的超级玛丽，四年下来什么都不会。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 坏时代在于，东西太多了，都不知道学什么，很多快餐等着他们，很容易就去学习那种21天能精通的<br>东西。大学老师要么厉害的自己去开公司赚外快，要么根本不懂软件开发在那里误人子弟。而现在<br>的网络游戏却一款款引诱着他们，把身体都搞跨了。所以他们现在比我们那时更迷惘。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那么在校大学生到底怎么学习才好？其实没有标准答案，我只能自己从我现在的观点来谈我的看法。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总的看法还是要学好基础课程，虽然是老生常谈，但真正理解的人不多。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 具体到课程，数据结构和算法，操作系统，汇编语言，计算机组成原理，编译原理，数据库系统原理。<br>这些基础知识，我现在还时不时地学习，就是因为当年没有学，或者没有学习好。这些基础的东西学得好<br>不好，就意味着一个普通技术人员在技术上能走多远，当然有开创性的天才另当别论。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 很多人问到我应该学c还是c++, 还是java, 或者是c#等等，这个问题我用去年底美国一位教授的<br>文章里的观点回答，他说现在美国大学基本上全是开java课，而把c语言放弃了，这样是害得学生学不到<br>真正的编程技术，将降低美国在基础研究上的能力。很多人不以为然，可能说他是老糊涂了，其实我认为<br>这是老教授的高明啊，美国是操作系统的发源地，是各种技术标准的制造者，是各种平台的制造者，它在<br>计算机领域能领导全球，就是在基础研究啊。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数学这个老学科，依然是那么重要，还是拿例子来说明吧。北京时间3月12日消息，据国外媒体报道，<br>微软主席比尔&#183;盖茨(Bill Gates)将怀揣多年来的梦想重返美国国会——为高熟练的技术工人签发更多签证；<br>在学校中开展更多的数学、科学和工程教育；以及加大科技投资等。注意到没有，比尔&#183;盖茨把数学单独<br>提出来，数学有多重要就不用说了。其实学数学最终目的就是锻炼自己的抽象思维能力，很多非数学专业<br>出生的人，也没有专门学数学，但他的设计和开发非常好，你可以发现他的抽象思维能力天生就很强，碰<br>到一些数学估算，时间/空间复杂度的分析，他很快就估算出来了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有同学问到学什么开发工具或平台好，工具和平台不是很重要。学c/c++的话，你在vc上或者gcc上都<br>可以。学java的话，你用esclipse或jbulider，或者其它开发工具，反正稍微流行一个就可以编译你的代码<br>了。数据库也一样，反正是学习好sql语句，因为你们不可能现在就学习到oracle优化这么高级的东西。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注重学习基础知识，养成看书的好习惯。在现在的部门里，很多年轻人都是不看书的，满足于项目<br>开发得来的那点有限的知识，有了点钱就知道搞股票，最后也没见他赚钱，一两年下来，技术还是没有长足<br>的进展，做管理就那么一个位子，还远远轮不到他们呢。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 还有，很多大学生可能希望有项目经验，这是没必要的。大学四年，本来时间相对就不长，这些理论的<br>东西都没有时间学好，你还要求有一个很好的项目经验，而把最重要的东西放到那里没有接触，这不是得了<br>芝麻丢了西瓜吗。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一些大四的学生，可能出去面试过，碰到一些小公司，或者是做外包的公司，特别是对日本外包的，<br>这些公司就想要你一下子会他们所用的开发工具，至于你的基础扎实不扎实，他根本不希望，因为他们就是<br>准备把你搞成白痴，能看着别人设计好的文档和例子，把代码写出来就是了，这个就是高中毕业生就能做的，你读大学四年干什么，不如高中毕业就去算了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总之，在大学时代，基础、基础、还是基础，走上社会了就在实际开发中用好曾经学习过的东西。<br><br>原blog地址：<a href="http://www.cppblog.com/cool-liangbing/archive/2008/03/12/44283.html">http://www.cppblog.com/cool-liangbing/archive/2008/03/12/44283.html</a> </p>
<img src ="http://www.cppblog.com/ipuerta/aggbug/44563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ipuerta/" target="_blank">IP</a> 2008-03-15 15:45 <a href="http://www.cppblog.com/ipuerta/archive/2008/03/15/44563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>