计算机编程难学吗里最难学精通的技术是编程吗?

2013年12月 C/C++大版内专家分月排行榜第二2013年12月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 C/C++大版内专家分月排行榜第二2013年10月 C/C++大版内专家分月排行榜第二
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。【讨论】听说C++是最难学的主流编程语言,是这样吗?
来源:csdn
【理由是什么?刚自学不久,感觉和C差距不是很大,用的《C++ Primer》这本书,里面废话一大堆——当然有一些是很有必要的,但是有的花上一大段讲无足轻重的细节,感觉没必要。好啦,扯远了,不知道C++是不是最难学的主流编程语言?真的有那么难吗?】
supermegaboy:
既然你觉得“感觉和C差距不是很大”,那就证明你真的是“自学不久”了。
C和C++虽然基础比较近,但是C缺少的东西太多了,类、模板、STL容器都是C没有的...
如果你真的深入了解C++原理的话,你会觉得C++ Primer上很多“废话”都是真正有必要的,特别是有些用惯了C的人和刚开始学编程的人。你要知道很多自以为很熟悉C++的人,都是栽在这些“废话”上的。
C++之所以难学就是他太复杂,特性过多。看看boost、stl库等出神入化的模板就让大部分人望洋兴叹了,不过实际开发的时候还真不需要这些,元编程什么的能会是最好,不会也没有太大关系,能简单使用就可以了。这些东西等你熟悉了C++再说吧。
额,看得我云里雾里的。我就是怕它太难了,学不下去而已。我的要求也不高,能编个小软件自娱自乐就行了,比如说一个单机版国际象棋。
楼主,学东西最好沉下去,!看的说的话就感觉应该学的比较浅显,懂的也只是基本的皮毛!
好好看看c++ primer 吧!那里还真没多少是废话!
然后想想怎么把那些思想用到你代码中去吧
stereoMatching:
请好好的阅读c++ primer 4,能耐着性子好好的读完1~16章
要应付实际的案子已经很足够了
c++11简化了c++98,03很多的东西
并且连带提升了c++98,03的性能
其他c++的进阶技巧你以后有兴趣可以再接触
那些高级技巧有很多都是用在开发要求很严苛的库上(如boost)
一般人即使不懂也没有关系
如果自娱自乐什么的话那倒是很简单,不过可能会有些性能问题、小bug什么的,当然你不给别人用这些都不是问题,工作的话要求就比较高了。C++相对其他语言稍微复杂了点,不过也不是很快学不下去的那种,当然前提是你适合编程。
至于自娱自乐的话java应该更简单点吧,没有指针、垃圾回收的烦恼,而且有现成的图形库,不用学第三方的库,这类语言可能更适合你的需求。
如果只想简单运用的话就算了,如果想真的学好一门语言的话,还是建议多深入了解些,最好沉下去,不然学了半天只是些皮毛,能简单运用下,看的懂是什么意思,但想自己写却各种问题,最后什么东西都做不出来
stereoMatching:
我忘了说明,读完c++ primer 4 edition的1~16章只代表你对c++的认识已经足够应付大部分的工作需求
但是这不代表你其他方面的技能点数点够了,例如data structure,数学,算法等
jerry_dqh:
只是自娱自乐的话,我感觉学习java,或者C#比较好。做一些小程序也容易些。
C++Primer有废话吗,你确定你能搞懂每一句话,如果不认真思考的话。
c++应该不难。但mfc应该是个很扯的东西。
有些话反反复复说好几次
呃,什么叫做很扯呢?
我觉得有想学C++的,大部分都有学习过mfc的经历吧
wangyaninglm:
用的人挺多,真正搞得懂的不多?
既然你觉得“感觉和C差距不是很大”,那就证明你真的是“自学不久”了.
---------------------------------------------------------------------
楼主跟我当初(3年前)的感觉一样。等你参与了几个C++的项目,你就会明白C++的博大精深!
是不是可以这么说:如果不打算钻研得太深的话,C++实际上比C要简单?
自娱自乐,不要碰C++了,万一博客的delpi文章足够你的需求了,跟着他用用delphi一生足矣
任何语言都是入门容易,精通难。
从你的语言里,感觉你已经会C,但其实你只要足够牛B,C也是可以做任何事情的,别忘linux内核就是纯c写的,还有nginx也是纯c写的。任何c++实现的功能,只要你够牛B,c同样可以实现,并且效率更高。
c++是在c的基础上加了面向对象的封装,语法当然会比c多很多,但是这些语法是为了让开发人员能够以一个比c更高的层次,更加抽象的方式来编程,只要你学会了,其实是c++比c更加简单。这里的简单是指你用c和c++处理同样的问题的时候可能让你逻辑更加清晰。
最后编程真正难的是算法,是思想。象你所说的国际象棋这样的游戏,我想说的这与你用哪种语言无关,他与算法有关。
看你怎么定义“主流”和“非主流”了。
一个大学毕业生,听说过的语言可能只有4、5种:C/C++ Java 汇编,也许还听说过 Basic、PHP、C#、Pascal。
但是如果在更多一点的语言中比较,C/C++的困难主要体现在它的接近硬件的那些概念上。而另外一些语言,比如Lisp,Haskell,其难度则体现在它的抽象表达上。不好说谁更难一点。
哈哈,感谢这位兄台的耐心解释。不过如果说C比C++效率更高的话,为什么在《C++ Primer》里说数组的效率不如向量呢?还有我那个编国际象棋的程序可能跟算法关系不大,因为是单机双人对战的,不需要电脑的AI,电脑只需要判断走法合不合法就够了,哈哈。
不管学哪门语言,切记一定要学的透彻一些。
你不要断章取义,我没有看过《C++ Primer》,既然你提到了“数组的效率不如向量”,我相信他是有条件的,比如你说固定一个数组,比较读取效率,那肯定是数组最快的,你可以去看看vector的实现代码,其内部应该也是用的数组吧。而且如果同是数组,通常在栈里面的数组比在堆里面的数组快一些吧。你这么发一句话来,不能说明什么。
再说你的国际象棋的程序,哪里你不需要AI,你总要判断棋子下在哪里是全法的吧,要判断棋局输赢吧?这些在我看来也是一种算法。
任何事情都是相对的,仅仅从容器本身来看的话,数组的确比vector效率要高很多,因为任何封装都会降低效率,就好比一本书,和一个书装在袋子里看哪个重一样。
容器封装了太多东西,你不能保证所有的都是需要的,这些不需要的就是一种负担,但只要当你用到,你会发现别人提供的,大部分都是比你自己写的效率要高。还是书的例子,你觉得让你拿5本书方便,还是用袋子装5本书,拿起来方便?你该不会因为套了层袋子变重了你就嫌弃袋子不好吧?
算法的话说不清楚,准确来说能解决问题就是一种“算法”,只是效率高低而已。就像你的程序,如何判断走法是否合法,这不就是一种算法吗?好的算法只要判断几次就可以了,差的算法像枚举,要全部遍历下。如果你做的程序要判断5秒才能确定是否合法那就是超烂的算法了,当然就你的国际象棋什么的应该还不至于会这样。算法什么的还是多了解下比较好,没什么坏处,当然你纯粹只是为了做一个程序才学编程就没必要了,不过这样的话本身学编程也是没必要的,直接download的下就OK了...
额,主要是因为找不到棋子造型好看的国际象棋软件。我想自己做一个,棋力能看就行了,主要是能够载入不同类型的棋子,而且可以不断更新,哈哈。如果能够载入3D的人物造型的棋子就更好了,不过我现在还是什么都不懂,连需要什么软件都不需要。不过也没能力管那么多了,先好好学C++再说吧。
好好看看c++ primer 吧!那里还真没多少是废话!
然后想想怎么把那些思想用到你代码中去吧
擦,作为一个可以直接和操作系统打交道的高级语言,你还想怎样.
这几天写一个东西,看到网上一个关于Trim函数的实现,靠,才知道c++那么多东西,之前学的都算什么啊;
有句话说的很对吧,知道的越多,不知道的也越多
stereoMatching:
封装不会降低效率
c和c++的效率相当,没有谁的效率比较高的问题
只有开发者的功力问题,以及你设计的程式如何在效率和其他方面做取舍的问题
楼主你还是把英文学好了,有问题就多去stack overflow这种地方问吧
我来这里主要是聊天而已
stereoMatching:
根本没这回事,这些要看具体的情况才能判断
如果是说自己用pointer分配dynamic array,那么效率是差不多的
例如尤其是access data的部分,透过vector access和透过array access的效率是一样的
不知道是你的c++ primer翻译有问题还是你理解错误
我从来都不记得c++ primer有说过这句话
c++ primer推荐我们多多利用标准库(例如stl)的containers和algorithms
是因为他们在大多数的情况下效率都很好,而且比一堆programmers自己亲手打造的
containers和算法效率还要好上很多。多多利用stl可以让你的程式更安全,更快
更容易阅读。
你可以随便找几个认为自己c语言学的还不错的人
不使用第三方库,双方各自实现一些简单的程序
看看是他们自己手工打造的程序快
还是c++水准普通的programmers(例如我)用stl打造的程序更快更有效率
哇塞居然有人说《C++ Primer》有很多废话的。我看过第四版的,写得好,翻译得也很好。看得真的是一种享受,不过如果你入门靠primer,我觉得有点不靠谱,因为字里行间很多细节,你很难体会。我是看了C++对象模型,C++泛型,看了一部分标准库,还用QT用了较长一段时间,才带着总括C++知识的目的,才去看的C++ Primer。这时候才体会到primer真的是很全面的一本书。
我觉得中文的C++书,翻译的都非常不错。除了侯捷,或者primer的译者,C++ Templates的译者也译得非常好。可能没有什么计算机编程语言的书籍,有如此多的方方面面都很优秀的中文译作了吧。我现在和以后都可能主要使用python,就我看的python书籍,和这些C++书籍比全是shit啊。不知道翻译的啥玩意儿。尽管编译语言转动态还是需要一定的时间,但是懂了C++,其他啥语言相对来说真的是太简单了。
楼主如果刚从C过到C++,不建议使用C++primer啊。先找几个简单的入门书,或者视频,再用用C++编程练习过几个月,体会下多态,虚表,拷贝构造,泛型STL,编译器所作的工作,带着问题再来看primer,效果会好得多。
等LZ把Java(C#), Python(Ruby), Javascript等语言学个遍,再回头看C++,你会发现此言不假,呵呵~~
C++是一个大杂烩,里头什么都有,支持各种编程范式(过程式,对象式,泛型。。。),一般人至多也就能把某一种范式搞熟,很少有人说同时把几种全部玩的很精的。
不过话说回来,如果你连C++的各种编程范式都能玩的很精,其他的语言还用得着担心?
yangxingyu:
放弃吧 骚年 时代变了
哪些是废话?我真想知道知道,你读的是第几版的?
blackocular:
自娱自乐的话,去学java吧,大家奉为入门经典的书,怎么都成废话了。。。
真相在这里
你是刚刚入门
c++不是一门语言,而是语言族群。
它至少包含面向过程,基于对象,面向对象,模版元编程等。
技术性关注讨论结果。
很多话是同样的意思,但是在几页之内翻来覆去讲好几次,看得我想打瞌睡。一般的书出现重复的话会说“如前所述”那样的话,而不是基本上把原话再照抄一遍。
zjq2008wd:
这里关键是AI,而不是编程语言
zhugeyun81:
建议楼主多实践吧,看书和实践完全两回事,C++的难度在于实践中很多底层代码的实现,用C++的人都讲究效率,有许多类库固然好,但要说起效率,有的时候真心不如自己写的好,慢慢来吧,别着急,我现在写程序,都需要写不少专属特性的类库,把庞大的代码压缩也是一门功夫。
学学STL和boost你就知道了
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动世界上的技术分很多种,但最难学的是那种?我的答案是:别人的技术,同样的东西,我们可以用我们擅长的技术把它做出来,但你要用别人的,那就得了解,对用用户级的,操作手册和大概的原理图就够了,但偏偏楼主我是个比较较真的人,一定要把它的技术设计那一套剖析出来,我想很多坛友都是我这种。你的答案是什么?
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间520 小时
威望4379分
芯币2698枚
TA的帖子TA的资源
五彩晶圆(中级), 积分 4379, 距离下一级还需 1621 积分
五彩晶圆(中级), 积分 4379, 距离下一级还需 1621 积分
LZ理解错了,真好相反。
有个样机被你折腾仿制,吸收人家的长处并改进之,远比闭门造车容易的多~~~
至于LZ闭门造车, 造出的东西,能否实用还得打个大大的问号?
闭门造车,下一句:出门合辙。&
你吸收的聊吗,不要把别人的技术想那么一目了然,那是个黑匣子,你们说的是用自己会的把它做出来&
那正是难点&
响应春哥号召《全民DIY ACDC实验电源》正在进行中。。。
在线时间3242 小时
威望14429分
芯币50839枚
E金币910枚
TA的帖子TA的资源
同意老xu。
吸收人家的长处并改进之,远比闭门造车容易的多~~~
在线时间270 小时
芯币3435枚
E金币760枚
TA的帖子TA的资源
其实单纯地剖析出别人的那套技术,所花的时间和精力是相当大的
作为现在来讲,只要有扎实的理论基础的话,正如楼主所说,用自己最擅长的做出来就行了
在线时间91 小时
TA的帖子TA的资源
提示: 作者被禁止或删除 内容自动屏蔽
在线时间270 小时
E金币267枚
TA的帖子TA的资源
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
LZ理解错了,真好相反。
有个样机被你折腾仿制,吸收人家的长处并改进之,远比闭门造车容易的多~~~
那正是难点
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间270 小时
E金币267枚
TA的帖子TA的资源
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
LZ理解错了,真好相反。
有个样机被你折腾仿制,吸收人家的长处并改进之,远比闭门造车容易的多~~~
你吸收的聊吗,不要把别人的技术想那么一目了然,那是个黑匣子,你们说的是用自己会的把它做出来
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间1359 小时
E金币256枚
TA的帖子TA的资源
纯净的硅(中级), 积分 899, 距离下一级还需 301 积分
纯净的硅(中级), 积分 899, 距离下一级还需 301 积分
最难的事自己凭空想
在线时间3155 小时
威望3677分
芯币20936枚
TA的帖子TA的资源
感觉这个问题问的没法回答啊,会的不难难的不会,不同人对不同方面的兴趣爱好和天赋都不一样,主观感受也就不一样,再说,有谁把所有技术学一遍然后对比一下呢,没有对比怎么得出最难呢?
在线时间366 小时
威望4191分
芯币8058枚
E金币280枚
TA的帖子TA的资源
现在技术这东西,
必须的有爱好,有热情,有人带,有硬件环境,有客户
这里面细节太多,没有书上说的举一反三,
大多是同类看多了,总结、移植、制造出自己的一套
一半都是新要求,新项目,新协议,
开发中都是尽一切力量收集,处理整理,测试,开发,反复如此。
MicroPython中文社区
http://www./forum.php
在线时间216 小时
芯币1499枚
TA的帖子TA的资源
会者不难,难者不会!
何来最难!
在线时间1232 小时
威望5179分
芯币7534枚
E金币1721枚
TA的帖子TA的资源
五彩晶圆(中级), 积分 5179, 距离下一级还需 821 积分
五彩晶圆(中级), 积分 5179, 距离下一级还需 821 积分
最难学的技术是对大脑要求最高的技术。为什么难,是因为你的大脑不能胜任。在当前大脑思维能力的基础上,越是不能理解,就越难。单纯从学技术角度考虑,专业性越强。理论层次越深,就更难。恕我经验有限,目前,所接触到的东西,我都觉得不如那些高深的数学公式,物理定理难。
对我而言,高深的数学额和物理是简单的,应为它是认识自然的手段和方法,所以只要你接地气就不难,,,现代技术尤其是计算机技术,那纯粹是人类大脑的产物,所以你们的思维方式不同,理解起来将不容易&
在线时间270 小时
E金币267枚
TA的帖子TA的资源
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
最难学的技术是对大脑要求最高的技术。为什么难,是因为你的大脑不能胜任。在当前大脑思维能力的基础上,越 ...
对我而言,高深的数学额和物理是简单的,应为它是认识自然的手段和方法,所以只要你接地气就不难,,,现代技术尤其是计算机技术,那纯粹是人类大脑的产物,所以你们的思维方式不同,理解起来将不容易
如果你真的体会过高深的往数学和物理知识。而觉得简单,那么你可以那些专家的方向发展。而不是做一些日常基础产品的开发。我理解的难,是理论上的难。有时候,实际开发过程,的确会出现一些很头疼的问题,但那是因为&
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间511 小时
芯币4359枚
E金币285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 670, 距离下一级还需 130 积分
纯净的硅(初级), 积分 670, 距离下一级还需 130 积分
造个原子弹
没钱才是最难的&
在线时间270 小时
E金币267枚
TA的帖子TA的资源
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
造个原子弹
没钱才是最难的
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间1232 小时
威望5179分
芯币7534枚
E金币1721枚
TA的帖子TA的资源
五彩晶圆(中级), 积分 5179, 距离下一级还需 821 积分
五彩晶圆(中级), 积分 5179, 距离下一级还需 821 积分
对我而言,高深的数学额和物理是简单的,应为它是认识自然的手段和方法,所以只要你接地气就不难,,,现 ...
如果你真的体会过高深的往数学和物理知识。而觉得简单,那么我觉得你可以那些专家的方向发展。而不是做一些日常基础产品的开发。我理解的难,是理论上的难。有时候,实际开发过程,的确会出现一些很头疼的问题,但那是因为实际环境中,出现了一些更复杂的因素,影响了结果,而在理论上,并不难分析,只是很难达到一个理想状态。
理论研究确实是最难的。这点,认同。在计算机里面,表现出来的就是算法这块比较难搞。&
在线时间270 小时
E金币267枚
TA的帖子TA的资源
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
如果你真的体会过高深的往数学和物理知识。而觉得简单,那么我觉得你可以那些专家的方向发展。而不是做一 ...
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间4386 小时
威望27568分
芯币115211枚
E金币1210枚
TA的帖子TA的资源
中国的高铁盗窃了楼主的思想么
中国高铁有点虚&
在线时间270 小时
E金币267枚
TA的帖子TA的资源
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
一粒金砂(高级), 积分 426, 距离下一级还需 74 积分
中国的高铁盗窃了楼主的思想么
中国高铁有点虚
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远
在线时间2218 小时
威望1271分
芯币1918枚
TA的帖子TA的资源
纯净的硅(高级), 积分 1271, 距离下一级还需 729 积分
纯净的硅(高级), 积分 1271, 距离下一级还需 729 积分
LZ理解错了,真好相反。
有个样机被你折腾仿制,吸收人家的长处并改进之,远比闭门造车容易的多~~~
闭门造车,下一句:出门合辙。
坐而言不如起而行
EEWORLD 官方微信
Powered by
逛了这许久,何不进去瞧瞧?}

我要回帖

更多关于 中文编程从入门到精通 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信