• C#转向C/C++的个人体会


    老实说如果现在用的是C#、JAVA、PHP等,且没用过C/C++不太建议转C/C++,但非常建议多看看底层的知识,C#做了几年之后发现也就是那点东西,不深入学习,很多东西其实是只会用,根本不知道到底是怎么回事。我相信很多C#程序员不知道多态到底是怎么实现;方法到底是怎么被调用的;不 知道哪些是在编译器确定,哪些是在运行时确定的;经常听到字符串池的概念等,微软把C#封装得太好了,掉坑里的机会太少了,大不了不管 3721,try...catch一下,也让有些人变得不那么爱思考了,像C/C++一不小心就掉坑里了,不思考都不行。经常听到有人说:C#入门容易, 精通难。那是因为学底层的知识更难些好不好。说这些不是针对谁,以前写C#就是吃着火锅唱着歌,各种轻松舒服,C++就两字:苦逼。要啥啥没有,如分割字符串这种最基本的功能都得自己实现,刚做C++的感觉就是:自己坐在豪华的游艇上,看到对面的海盗船很酷,于是就往海盗船一跳,一上船发现这坐船到处都在 漏水,各种设施都很差劲,一不小心就掉水里了,各种感觉不适应。

    学C++好很长时间吗?不要

    从自学C++到现在差不多3年时间,期间多次想放弃,心中常有的一个念头就是:把这些时间用在学C#,C#可以学得更好,工资可以拿得更多,每次看 到发到手中的这点工资,就没啥干劲了,但我也一直明白若要把程序当做一个长久的职业,我是要必会C/C++的,期间偶尔有几个月没有学C++,但最后还是 放不下,又想起她。最后拖到两年多才做自己一直想做的C++,感觉是个很漫长的过程,内心的针扎还是挺多的。这两年来业余时间拿来学习C++的时间平均在 半个小时左右,跟10000个小时比起来还是很少的,当然10000个小时是要成为真正的大牛的,而我是刚上贼船,看了这么多书理论还是有些,还需大量实 战。

    C++很难吗?NO

    C++被成为世界上最难的编程语言,其实并没有传说中的那么难,但有一点是可以肯定的C++程序员在没有成为小牛之前一直都在针扎,对,就是针扎, 过得很苦逼,我在上个部门做C#的时候没加过一天班,做C++后,以前的同事说我瘦了,以前做C#用一个月的时间一个人重写了公司的工作流,做C++后, 花了两个多月做个历史管理器,还经常加班。虽然现在自信多了,但还要继续针扎下去。等成为小牛后,我相信就不分编程语言了,但如果你不是做C/C++,却 想做C/C++,就别听语言都是浮云这种废话。在你成为小牛之前你才是浮云,你得苦逼,而且这是转行,这也是我不太建议转C/C++的一个原因,你之前学 到的很多东西都是白学的,你要从0.1开始,又开始做菜鸟,大家都知道菜鸟的日子不是那么好过,等你成为小牛之后编程语言才是浮云。为什么大家都说他难 呢?我估计就是被哪些没学好的人宣传的,没学好之前过得苦逼,那当然发自内心的认为难,其他的朋友们听他们一说估计也觉得难。在加上一些大牛也说C++ 难,人家说难不是因为自己没学好而说难,人家是因为知道得大多,发现C++太灵活,坑太多,新手很容易掉坑里。要我说,任何编程语言,基础语法也就那点东 西,等你明白了这些基础的东西是怎么实现,为什么要这样实现,编译后是个什么样子,你也就发现C++也就那样,不管牛不牛,也都是在用C++干活,只不过 是有的人再用C++做增删改查,有的人在做大家都在用的产品。

    怎么学习C++?标准答案是:多思多写多看

    作为新菜鸟的我,是不应该回答这个问题的,但这个问题的正确答案的确是多思多写多看。现在来说说我的失败经历,作为智商不太低的我,学了两年多才做 C++,这显然是失败(哈哈,程序员就应该自信,千万别怀疑自己的智商,一点都不能有)。的确我是走了弯路,所以我像很多有失败经历的前辈一样,来分享自 己的失败经历,以免后辈们重蹈前辈们的覆辙。

     

    我学了好久的C++,都不会写一个C++的类,其实开始的时候一直都是在写C,一直在用C写算法,严重受了算法重要的影响,其实开始的时候我都不是 在学C++,买的第一本技术书,不是关于C++的,而是关于算法的。学C++的时候也没有买一本比较好的系统介绍C++的书籍。直接第一本C++书籍就是 Effective C++,看这本书还是要一定基础的。看这本书的时候我已经做了两年多的C#,在学校里有一点C的基础,之后也看过《高质量C++编程指南》,还是有一定的 程序基础,如果你有一定的程序基础,想转C++,还是建议先看本系统介绍C++的书籍,如《C++ Primer》,这本书的作者也是《深度探索C++对象模型》的作者,还有C++他爹写的那本啥也值得一读,大家都是这么说,应该不会错,两本选一本,有 一定基础之后再看Effective C++,感觉不错之后再看《深度探索C++对象模型》,这本差不多之后再看《深入理解计算机系统》,这本不是讲C++的,讲的是底层的东西,你学C++不 就是想学底层的东西吗,C++语法就那点东西,成为牛人之前还有一堆的书等着你去看,你还要写一堆的代码。

    以上的是一些个人的分享,想了解更多编程语言教程知识请登录e良师益友网。

  • 相关阅读:
    loaded some nib but the view outlet was not set
    指标评比
    IOS DEVELOP FOR DUMMIES
    软件测试题二
    javascript select
    DOM节点类型详解
    mysql操作
    UVA 10055
    solutions for 'No Suitable Driver Found For Jdbc'
    解决git中文乱码问题
  • 原文地址:https://www.cnblogs.com/xiaoxiao1/p/4067191.html
Copyright © 2020-2023  润新知