周杰伦淘宝店是真的吗精通C++吗?

2014年10月 C/C++大版内专家分月排行榜第三2014年4月 C/C++大版内专家分月排行榜第三
2013年12月 C/C++大版内专家分月排行榜第二2013年12月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 C/C++大版内专家分月排行榜第二2013年10月 C/C++大版内专家分月排行榜第二
2015年9月 VC/MFC大版内专家分月排行榜第二2015年7月 硬件/嵌入开发大版内专家分月排行榜第二2014年5月 VC/MFC大版内专家分月排行榜第二2014年3月 VC/MFC大版内专家分月排行榜第二2013年10月 VB大版内专家分月排行榜第二2013年7月 VB大版内专家分月排行榜第二2012年5月 VB大版内专家分月排行榜第二2012年4月 VB大版内专家分月排行榜第二2012年2月 VB大版内专家分月排行榜第二2011年11月 VB大版内专家分月排行榜第二
2015年11月 VC/MFC大版内专家分月排行榜第三2015年6月 VC/MFC大版内专家分月排行榜第三2015年2月 VC/MFC大版内专家分月排行榜第三2014年1月 VC/MFC大版内专家分月排行榜第三2012年3月 VB大版内专家分月排行榜第三2011年12月 VB大版内专家分月排行榜第三2011年10月 VB大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年3月 C/C++大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本帖子已过去太久远了,不再提供回复功能。怎么样才算是精通 C++?
【对提问作补充几点: 1. 精通C++的学习路径.比如需要阅读哪些书籍,参与哪类项目,完成何种开发体验. 2. 能力达到何种水平,才算精通?代码经验,项目经验,开发技巧等等. 3. 精通C++的学习成本.诸位大神分享一下,学习曲线,学习过程,以及走过的弯路. 4. 如何高效提升C++水平.】
精通C++是一个艰巨的任务。为什么C++比别的语言难学这么多?其实这基本上是因为C++他爹Bjarne Stroustrup说过的一句话“我特别讨厌语言的设计者把自己的喜好强加给用户”(看向go)。结果C++为了不限制你的想法,于是也就变成了现在这个样子——包含若干范式,大概有面向对象(灵活应用virtual继承+shared_ptr可以达到java/C#的效果)模板(这里分两类,分别为type rich programming和meta programming,区别很大)函数式编程(如今有了lambda,配合&algorithm&文件,简直无敌了)过程式但是难能可贵的是,这几种东西在C++混在一起用也是多么的自然。不过,这需要你花时间去掌控他。那到底有没有必要真的学到这个地步呢,我觉得跟你的领域是有关系的。譬如说我,基本上算是人格分裂的,因为:当我搞语言设计和编译器的时候,我总是会倾向于创造各种小DSL来给自己用,用的都是模板(想想boost的spirit大概就明白我的意思了,虽然我不用它),尽量让跟我有同样背景的人一眼能看懂我代码的意思。当我做我那个GUI库()的时候,纯粹是用OO和IoC那一套。当我写3D渲染程序的时候,我会变成一个为了性能不惜牺牲可读性的人。当我是不同的我的时候,我当然只会用C++的一部分来完成我当前的这个任务。这好像是多重标准,但是实际上是由于项目本身的性质而定的。到了这个时候你会觉得,C++真是一门好语言。当你需要为了你的项目放弃不同的部分的时候,C++都能帮你做到。当你需要不同的抽象层次需要不同的性能要求的是,C++还是能够帮你做到。如果你用别的语言,你最终会发现那个语言只能做某几类的项目。这是因为,C++能够自由的让你放弃某些部分,而别的语言会阻止你放弃某些部分。为了达到这个层次,你必须进入一个无限接近于精通C++的状态里,这个时候你才能收放自如,不被C++社区的各种不同的价值观所捆绑。倘若你的项目非常大,不同的部分有不同的特征的时候(什么,一个没有遍布全世界的一两千人写了20年的程序能叫程序吗?),就更加需要你有这种本事了。说到这里,大家大概都明白精通C++大概是个什么感觉了吧——大丈夫能屈能伸。
谷歌工程师对C++的掌握有两个级别:1. 拥有C++的readability(可读性)认证。通过这个认证需要在实际工作中写出一个比较复杂的完整的类,然后将这个类提交到一个委员会进行审查,委员会会帮你纠正常见的错误,如果你的这个类满足style guide[1]的所有要求,一两个星期之后你就可以拿到可读性认证。一般来说,你需要在实际工作中写过至少几千行代码才能达到这个要求。C++的readability对工程师的意义主要有两个,一个是熟悉并避免C++的缺陷(比如不要使用iostream和exception),另一个是熟悉一些常用的库函数(比如string的各种操作,hash_map和smart pointer的使用等)。通过这个认证之后,工程师就有权利在code review中审阅其他人写的C++程序(注意这个不是readability review)。绝大多数工程师对C++的掌握处在这个水平。2. 顾问级C++程序员。一般需要写过数万行C++代码,用C++实现过比较复杂的系统,熟悉常见的设计模式并在实际工作中应用,对代码重构有丰富经验,最重要的是,成为小组以及周围同事的C++顾问,是同事有C++使用问题时最先想到询问的人。顾问级C++程序员通常是高级工程师(senior engineer)及以上级别,不仅对某种程序语言,对工作中的各种工程问题也经验丰富。其实“精通C++”并不仅仅是熟悉C++本身,你需要对C++需要实现的工程问题和周边问题同样精通;而且“精通C++”这种说法是相对的,如果你能成为组里的C++顾问,能够帮助同事正确使用这种语言有效率地解决工程问题并避免C++的误区,你就算是精通C++的那个人。[1]
独立写出一个 C++ 编译器工具链(预处理-前端-后端-标准库)。这是少数有效的充分条件。ps. 有鬼佬推出了它的认证:
说实话看了楼上各位的回答后,我就不知道说什么好了,该说的都给说完了。按照二楼的说法,我应该是属于“顾问”那一类的C++程序员。(跪如果说熟练使用没有坑就是“精通”,那我想楼上很多人都能做到。但是在这里恐怕我猜楼主是想要个更加炫的答案。按照楼上 的说法,C++是一个典型的多范式语言,不过他概括的还不够全面。C++是四类范式的组合体:过程式/结构化,面向对象,代表Lambda的模板(元编程),以及作为一个Markov Machine也具有图灵完备性的宏。此外还有一个我不知道怎么归类的type rich programming。在这四类范式之外,还有各种各样的奇技淫巧。这里我说的奇技淫巧,并不是指Boost.MPL或者Loki那样的,那些其实都是C++基本范式中的衍生做法,都是最规矩的。这里的奇技淫巧,给大家举两个例子。比如在C++03时候,还没有explicit type cast operator,那要安全的提供operator bool,还要利用member function pointer的特殊转化规则;又比如BOOST.AUTO在VS2008上利用了一个Bug完成的实现。奇技淫巧的问题在C++11消除了一部分,但是又增加了一些,比如说左值/右值引用的折叠,就是不是一个逻辑上自然的、而是设计后的产物。此外还有一些坑。比如说重载-多态-名称掩藏、虚继承、指针的转来转去导致的问题什么的。这些都还是最最基本的常识性问题。要是应用到生产中,就会变得更复杂。什么时候用继承,什么时候用模板,什么时候用多态,什么时候用宏。好在有一些前辈已经给我们淌了路,比如说Shutter,比如说Meyes。熟读 6E(Effective C++,More Effective C++,Exceptional C++,More Exceptional C++,Exceptional C++ Style,以及Effective STL),这大概是进阶的唯一阶梯。再往上你学C++就没啥用了。多学一学其他语言,例如Haskell,ML,Javascript,C#,自己做一做编译器,了解一些语言设计上的常识,读一些形式化系统的论文,都会帮助你对C++这么一个复杂而丑陋的语言产生更多的同情。当你开始觉得:C++的设计者真可怜;埋怨英文标点实在太少并开始同情BS;决定自己卷起袖子撸一个的时候,大概你就算是精通C++了。当然撸的好,就是Rust;撸的不开心,那就是Go了。
我断断续续写过十年C++程序,曾经以为我已经对C++很精通了,但是在看了半本《Modern C++ Design》以后,我发现自己根本不会C++,之后就改Python去了…供参考。另外可以参考这个:
David Zhao:
Never trust a programmer who says he knows C++href:
做游戏的老G:
C/C++总共分成四大流派1.c风格流派2.面向对象流派3.模板元流派4.混合流派很难全面掌握C++,这个语言一共有18个以上的大的知识点。比其他语言要多出1~2倍,复杂度则要提升到3~4倍。先确定你要用的内容,然后再学习即可。比较合理的路线是:先从c风格学起,逐渐接触面向对象,再过渡到模板元,最终做到综合使用。但是,每一种流派都存在自身的优缺点,不存在谁比谁更好的问题。比较著名的程序员中,云峰是c风格的,免费打工仔则是模板元的。而对于大部分人来说,熟练掌握面向对象已经能够很好的完成工作了。
若干年前,我用C++模板写了个字符串库,可以实现编译期的字符串运算。很高兴,觉得自己足够精通C++了。Talk is cheap, 刚上传的code 在此 --直到后来,听说有个叫boost的东西,发现自己写的东西,在boost里面看来,是再基础不过的玩样。迷惘啊,懊悔啊,苍天啊,大地啊,怎么叫人活。。。再后来,我不在追求精通C++,还是想想怎么将代码转换成生产力吧。
曾经用了近八年的C++,自己的Blog也在cppblog上,当时已经达到了不用“run”就能知道有哪些warnings,哪些errors了。。。这算精通吧。。。四五年没关注,一天翻看一段代码,愣是没看懂,跟人说“这是Java吗?绝不会是C++!”。。。实际那是标准的C++代码,用了C++11标准的代码。。。现在我都说“C++啊。。会点。。。”
精通就不必强求了,live is too short to program in C++.学习 C++ 可以经过这么几个阶段。第一是找一本不太「膨胀」的 C++ 教材。基本上掌握 class , overriding, overloading, 最简单的 template (完全不用掌握 partialization )。第二步是好好阅读《 The Design and Evolution of C++ 》。因为有人说过,一门学科的全部就是它的历史。接下来你可以学学编译原理,看看高级动态语言,为第四步做准备。第四步,也就是最最关键的一步。好好看看 C++ FQA (没错,不是 FAQ ,不是 frequently asked question ,而是 frequently questioned answer )。 这些揭穿了 C++ 设计者从自身角度文过饰非编写的春秋笔法。《 The Design and Evolution of C++ 》解释了 C++ 为什么是一个怪胎,但是它还是一个怪胎。
自己没精通,所以不知道精通是什么样的。实际的面试中,一般按照以下的标准来区分水平。(随便写的,不成系统)1 听说过C++
常见的问题 什么是类,什么继承
new和malloc有什么区别
什么是虚函数,什么是虚继承
之类的泛泛而谈的入门问题2 会C++
new实际上执行了什么操作,可能在什么步骤出现异常
怎么写一个class,禁止分配在栈上
怎么突破private的限制访问变量
虚继承的细节
怎么自己模拟实现引用3 比较了解C++
主要是一些边角的语法或者是不常见的问题
逗号表达式,位域
初始化列表的异常怎么捕获
对于常见的主流编译器,写不写inline有什么影响
怎么在编译器判断一个类中有没有定义某个特定的方法
构造函数中调析构函数会有什么结果
能回答这个简单问题即可:std::vector&int&//......x.swap(std::vector&int&(x)); 错在哪,应该怎样写,为什么
精通C++,个人的理解是:1、能用C++的面向对像设计,分解,开发一个模块或小系统2、在出现BUG的情况下能调试3、熟悉对像,继承,模板,能使用STL,BOOST4、能熟悉几个常用的设计模式5、在此基础上,在GOOGLE大神的帮助下,能阅读开源或闭源的源码。其它的,我觉得实用性不强了,去抠语言的细节,语言的实现等,那不叫精通了。那是神通了,反正我认识的技术牛人,人家是去抠系统,原理上的细节,很少去扣语言的,本来语言就是一个工具,用好他,坏了能简单的维护,管他是怎么实现的。
当年刚毕业的时候,简历上写的是精通c++;现在只称用过几年c++。
毕业的时候觉得自己什么都会,工作了几年后发现,根本不敢叫会,只能叫知道。同样,随着你的了解的深入,你很难觉得自己精通了这门语言,反而觉得不知道的东西越来越多。在面向对象上,JAVA的确比C++轻便了不知道多少倍,理解面向对象的概念时用JAVA作练习也很不错,但是说到底都是语言而已,你需要掌握的是思路和用程序来思考的方法,而不是某种特定的语言,有了方法,学习一门新的语言不是件困难的事情。
“怎么才算是精通xxx”这个问题太难回答,无论标准如何定,都会有人不同意,不是嫌高就是嫌低。“哪些人算是精通xxx”这个问题比较好回答,具备可操作性,不如我们先解决这个问题?我肯定不在精通C++的人里边。哪些人算是精通烹饪?你认不认识这样的人?哪些人算是精通摄影?你认不认识这样的人?哪些人算是精通驾驶?你认不认识这样的人?哪些人算是精通骑自行车?你认不认识这样的人?哪些人算是精通弹钢琴?你认不认识这样的人?
这个问题的确很难讲清楚,可以从这几个方面下手(这是一个死循环体,1->2->3->1): 1、C++的发展历史,包括为什么会出现C++、C++的具体应用、C++的发展前途等,在互联网上好好查查,利用好各大搜索引擎,对C++先要有一定的“感性”(初步)认识; 2、C++的编程思想,包括对象、接口、继承、多态、异常处理、STL、IOstream等编程设计思想,找本厚书,把门窗都关上,使劲的“啃”,理解了的东西才能更好地感觉到它; 3、C++的项目开发(还要学很多其他技术),包括开源项目整改、各种类库开发、外包项目承接等,写个东西,能解决实际问题,并得到使用者的一致好评,正所谓实践验真知。 能做到这三点的,在别人的眼里,都是精通C++的大牛;但他们自己却认为这只是用C++完成个项目而已,接下来还有很多新东西要学。 所以说精通就是要循环地去做这件事,一旦跳出来了,也就成了过去时;“我以前很精通这个的!”你信么?至于你信不信,反正我是不信的!
深刻理解OO,熟练使用STL和模版,并知道它们是怎么实现的,并且知道编译器是如何进行优化的。以上都知道了就是精通了。
更新:刚发现有很多组员连指针引用都没搞明白,初始化列表都不会用,但自评c++水平都是4,满分5分。这,就是illusions of competence—————————————这个问题本身很容易引起illusions of competence抖机灵,不做任何有意义的回答:1.简历上写精通c++2.用这份简历通过某公司的面试并入职从此你就真的精通了
千万不要精通c++,至少要在精通一门其它语言之后再来精通c++否则太容易把c++的诸多设计缺陷、以及许多用于解决这些缺陷而衍生出来的技巧,当作理所应当的开发方式。轻则祸害自己,重则祸害团队
掌握C++面向过程掌握C++面向对象掌握C++模板掌握C++模板元编程掌握C++预处理期图灵完备的宏做了大量的这些的实际方面的项目,都熟练使用,并且对每个方面有哪些坑都了如指掌,估计可以叫精通C++了
Kent Zhang:
我就没考虑要去精通C艹一直是打算要么做算法,要么做设计。
C++体系太庞大了,有多种流派不说,最近新出的C++ 1x 2011还引入了某些动态语言机制,精通C++越来越会成为神话了。我觉得能够研究透一个著名的C++开源项目,理解其中的实现原理,并能够参与到项目开发当中,应该可以作为普通C++开发者的目标吧!
10T交换机:
1, 简历上写着了解c++, 实际上不知道mfc 根 VC有什么区别. 0级
2, 简历上写着精通c++, 但是仅仅知道mfc, 认为VC就是C++的一切。 1级
3, 总是使用malloc,或者 char[100] 来获得内存,但不知道怎么在指定内存上面创建对象。 2级
4, 感觉std::string 没有 CString 好用! 听说过g++ 3级
5, 会使用std::string, 认为 "c/c++" 很不科学,完全就不是一个语言嘛. 知道4种以上c++ compiler. 感觉自己什么都会。 4级
6, 看山是山,看水是水。崇拜boost source code, 呕心沥血的研究经典库的代码. 感觉自己什么都不会。5级
7, 看山不是山,看水不是水。为自己钟情的函数库而奋斗着,恨不得用尽各种tricks 和 traits, 因为各种经典设计模式想得头疼. 稍有走火入魔迹象。 6级
8,看山仍然山,看水仍然是水。 看到每行代码,都是汇编的指令和内存数据的移动。 代码中几乎不出现for 和 while 关键字. 不停地否定自己的过去. 7级
9, 维护着g++,或者Watcom C++ 之类的项目,头发也比较长,有艺术家气质. 8级
10, 参与 C++ Standards Committee, 代表不同的利益集团发言. 9级
11, 彻底走火入魔, 成天幻想修改C++的语法, 添加自己的关键字, 重新实现一个C++的改进, 还想把c++变成脚本,解释执行.已经超越了利益. 10级.
我理解的精通是这样的:精确了解 C++ 的优点与不足,熟练应用 C++ 不同范式进行编程,在实际项目与产品中,尽量做到扬长避短,如果没有办法规避缺点,可以在 C++ 之上做一些扩展(比如:语法糖,编译期多态,或者 QT 那样的)来解决问题。
能够完全无障碍解决自己工作领域遇到的问题就算精通了。不同的人工作领域不一样,精通的定义可以差别很大的,一些人的精通标准也许对于另一些人只能算入门。片面追求绝对的精通没有意义。
Spike Wang:
简单定义C/C++"精通"本身就很难. 我的感觉是做的时间越久越发现没有所谓什么精通吧, 越做越发现自己根本谈不上知道, 总会有很多东西你闻所未闻... 在北美面试的时候一般总会问这个问题: "你觉得你对C/C++的水平打多少分?" 刚毕业的时候我总是说: 对C我能打9分, 对C++, 怎么也是7-8分. 现在如果再有人问我, 我会说"单纯语言上C我打8分, 如果是在Linux开发C, 我说6分, 原因是在Linux上开发不是简单的了解语言就足够, POSIX, Threading, 所有System APIs, 包括开发Kernel都需要更广泛的知识, 两者不可分"对于C++, 我只能给自己打6分, 同样的道理, 对于STL或者BOOST我都不敢说"精通", 又有几人真能精通所有BOOST Libs? 缺点优点, 何时用, 何时不用? 根据产品的不同, 每个项目的侧重点也就不同, 用到的Features也不同,
更何况C++本身也在进化, 新的x0就加入了Threading的Support, 学以致用, 学无止境....
第一门语言千万不要学C++, 因为没有什么语言重要到需要花这么多时间去学习.
我个人觉得像C这样的比较底层的语言是没法说精通的,它们更便于机器来理解;而像C++这样的C的超集更没法说了。
2000年以前,我写了十几年的8088汇编。从2001年开始用C++写程序至今,买了房,买了好车等,但看有些c++的书,还觉得看不太懂。
女友和你分手的时候
不要刻意的去想这个问题,不要刻意的给自己设定这样一个很虚的目标。而应该脚踏实地,解决开发中的每一个问题,不放过一个迷糊的地方,使用别代的代码或开源库时,多深入了解一下,同时,也可以给自己列一点经典的C++著作(千万别看那种多少天精通这精通那的,多看一些深处挖掘原理的书),假以时日,猛回头,你已是高手。很多老程序员最后早已心中无语言,更多的解决问题的想法与方法,这些方法,很多是平时积累的,并且是通用的。比如在处理图像上,只有算法没有语言。比如在完成一个应用服务器时,对网站的并发的处理,异步IO的处理,这些本身与语言无关,只是因为你正好使用了C++在处理这个问题,所以,成了你的C++能力。编程水平的高低,不在于对语言语法的掌握,而是使用自己熟悉的语言(如C++)处理解决问题的能力,不然就成了《孔乙己》中,对茴香豆的茴字有几种写法的追问了。
干嘛要精通啊?
C++之父都没有达到这个境界.不要对自己要求太高能自己动手写一个100%标准的C++编译器和标准库, 就说明你真的精通了
曾经写了 3 年的 C++, 我只记得那时已经对它的脾气非常了解了. 之后用 Unity 写 C# 去了. 一年后, 偶然看到你们发 C++ 的代码, 简直比火星文还陌生......不得不说 C# 真是一门用了就不想看其他语言的语言, 虽然偶尔 C# 让你很无语时还是会怀念 C++.(C# 就是微软的阴谋, 企图用意念控制全世界的程序员, 让他们诚心诚意的默念微软大法好. 更加悲哀的是, 当你意识到这点时已经晚了......)
我们一个资深SE,提到他当年刚工作的时候,找到了官方发布的C++的模板的一个bug,然后他立即补充道:“当然我到现在也没懂C++啦!我那时的头跟我说C++模板里的bug遍地都是。”
能分辨一个项目的哪些部分不适用C++并解释理由,才能算“开始精通”C++。
我对C++的学习程度的定义(仅限于20xx年之前,Unix/Linux下的C++)了解:1、熟悉基本语法,能写“hello world”类;熟悉:2、能写出一个独立系统,小的也行;3、对程序设计的某个领域深入了解领域指:进程管理,线程管理,网络编程(可细分为进程间通信,系统间通信),I/O控制,外设控制等。深入了解指以下几个级别1)熟悉几乎所有基本原语(不熟悉的可以理解成API,层级不同,使用起来类似)2)了解他们的使用方法3)知道经常容易犯的各种错误4)能够进行性能调优精通:4、对多个领域有深入理解领域的解释如前。深入理解,在深入了解的基础上增加:5)熟悉几乎所有原语的实现原理;6)能够透过C++语言的基本原语看清系统CPU、内存、寄存器等的使用7)遇到不熟悉的领域能够在数小时之内达到熟悉的程度。工作中大概这么衡量身边人的,以后想起来再补充完善。
xu castor:
用C++语言根据《The C++ Programming Language》中的条款,写一个完全符合C++11规范的编译器,应该可以打包票绝对精通了
C++是个大坑,坑爹的坑。有那么多优秀的语言可用,何必理会这个坑爹的奇葩玩意?如果非要做底层,直接用C。
能用C写出面向对象的感觉来的,应该可以算是精通C了吧。能用C++写出STL库的感觉来的,应该可以算是精通C++了吧。
知道怎么自己写makefile.用别人的makefile编译出错知道怎么找到哪里错了。我这答案真不是抖机灵,见过太多连“链接”是什么都不知道的“C++程序员”了。
精通C++不知道啥标准反正公司面试的时候简历上写“精通C++”要扣分的
C++作为一门编程语言其实很容易掌握,没有大家想象中的那么困难。但是用好C++却存在不少的困难,C++作为静态编译语言的代表,给了程序员足够的自由度,自由的同时也给了程序员更过的责任。C++的学习过程大致分为以下几个等级:1、基本的语法,关键词,运算符,表达式等的熟练应用2、面向对象的基本概念及能够熟练应用3、设计模式及模板的熟练应用,包括模板库STL的应用4、模板元(注意,不是模板)的熟练应用综上所述,如果你能达到第3个阶段,在我看来已经算是精通了,模板元的语法比较晦涩且难以驾驭,用模板元编程方式基本上人脑就成了编译器,但是有牛人已经用模板元写好了库,Boost库中就有专门的模板元库,可以大幅度简化程序,但是似乎更难以看懂。
去各大论坛逛逛,人家提的问题能回答80%以上,表明你掌握的不错了。
学C++的路子很长,可以先看一下《C++primer》多加练习,然后可以去看一下《Think
in C++》《C++沉思录》等。重要的是不要只看不练,重在动手练习,切忌浮躁,因为这条路真的很长。最好不要去看什么《21天精通XXX》之类的书籍,它会让你在不到21天的时间里把C++忘得一干二净。其实要精通某一门语言不仅仅只是要学好这门语言本身,像代码重构这些技巧也是要掌握的,并且工程经验也要丰富,在应用该语言实现复杂系统时所遇到的种种问题要都能够提出一个好的解决方案。这是一个很长的过程,不要急于求成,就像陈皓所说的他写了十多年的C++也不敢说他精通C++。PS:推荐你去陈皓的个人博客看看:
——————摘自Andy Hunt的《程序员的思维修炼》德雷福斯模型的学习五个阶段包括:新手,高级新手,胜任者,精通者,专家。其中对精通者这么定义:精通者需要全局思维。他们围绕这个技术,寻找并想了解更大的概念框架。对于过于简单化的信息非常沮丧。他们能够纠正过去不好的表现,会反思从而自我改进过去的做法,努力做得更好。同时学习他人的经验。作为精通者,他能阅读案例研究,倾听失败项目,观察别人怎么做,从故事中学习,即使他没有亲自参与。对于具体项目,精通者什么地方非常可能出错,他们具有足够的经验知道下一步会发生什么,如果没有发生又需要改变什么。他们非常明确知道那些计划需要取消,应该采取什么行动。另外他们能够有效的运用软件模式。——————我想不止是C++或者其他的具体技术和能力,这个模型具有很大的适用性。希望对LZ有用
语言只是算法的工具,算法才是核心竞争力。
想象一下,应该是手中无剑,心中有剑的状态吧C++也是工具,开始学C++、开始工作时也常会研究各种C++的语法细节、技巧,慢慢的发现其实这些不是最重要的,用合适的方法最高效的解决问题才是根本
学懂是一个感觉一个爱好。看懂一本书,thinking
C++ .用它理解程序,就可以算学懂C++了,现在很多人都去学 java ,c# ,其实学好了C++ ,那些就自然理解了,而且理解得更好。例如前面知友引述的google验证级别,基本可以达到语法水平。但是这样没什么用,只能给别人看某部分的程序BUG。个人觉得,其实觉得做程序的最重要是要形成自己的系统和体系。从这点来说,我是学懂c++的。做程序的之所以又累又忙,一个很大的原因是没有形成自己的体系或系统。一旦形成了,你就有一方天地,这个天地里,享有造物者的权利。
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
热门吉他谱
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动

我要回帖

更多关于 周杰伦没有微博吗 的文章

 

随机推荐