中易网

如何快速学习一门新计算机语言

答案:2  悬赏:20  
解决时间 2021-03-17 15:07
如何快速学习一门新计算机语言
最佳答案
心态这不但是学习一门新的语言最重要的,而是对任何的学习都是最重要的。下面是书中的描述,非常的精彩,特别是那个比喻:
学习一门新的语言的时候,要利用以前所学的语言的功底,但是也要保持开放的心态。有些人执着于一种理念:这就是写所有程序必须遵循的方法。我不是说那种语言,但是某些语言,令人执着于这样的理念。当开始学习新语言的时候,他们会批评这种语言跟真正神的语言的所有的不同之处。当使用新语言时,他们极力使用神的语言的方法去写。这样,你就会错过这个新语言真正的独特之处。
这就像你本来只有一个榔头,有人给了你一个螺丝刀,你说哎,这不是一把好榔头,但是我应该可以倒着拿螺丝刀,用螺丝刀来砸东西。你得到了一个很烂的榔头,但事实上它确实一把很不错的螺丝刀。所以你应该对所有的事物保持开放和积极的心态。
如果你的杯子满了,那他永远再也装不进水了。如果你认为你找到了银弹,那么你可能就要固步自封了。
对新的事物,方法保持一个开发而积极的心态,才能真正了解他,了解他的独特之处。
了解他的历史,哲学观
那python来说,他的设计哲学是用一种方法,最好是只有一种方法来做一件事,而perl的设计哲学是总有多种方法来做同一件事。所以,我选择的是python。
了解这方面的知识的一个非常好的来源是百科网站。
代码,代码,还是代码
代码是学习一门语言的必经之路,可能也是最快的一种方法。
社区多去这个语言的社区逛逛吧,这里有很多人在讨论这种语言,和他们一起讨论你能够学到更多。
出发点:工作两到三年内,我的主要开发语言是c。后来由于工作的需要,要实现一个流程引擎(属于预研项目)。在研究的过程中发现使用c语言处理这种逻辑比较复杂的程序有些力不从心,我想尝试使用面向对象的方式处理这个问题,所以我想到了c++。现在回想起来,其实当时自己也就是想使用c++的面向对象特性,我现在也基本只使用了c++的一个子集:面向对象。
起步:当时我们公司没有人使用过C++,我也是在大学的时候接触过,后来也没有用过,所以整个过程困难还是比较多的。因为有c的基础,所以我没有看c++的入门资料,比如《C++primer》(其实我到现在也没有从头到尾读过这本书,c++的很多特性我也没有使用过。),我直接使用c++来编写程序。中间遇到很多低级的问题,比如如何定义一个类的static成员变量;虚函数如何定义,如何使用;stl中string,list如何使用;c++如何调用c的库等等。这些问题都比较好解决。
最大的障碍:从c到c++,最大的障碍不是语法的障碍,而是思维方式的转变:
由面向过程到面向对象的转变
。这个转变时一个漫长的过程,我现在仍在进行。当时开发是为了更好的使用面向对象,快速的浏览了一下《设计模式》中的23个设计模式。现在想想,如果能够找一份开源的c++代码看看也许效果更好。
深入与提高:最终我还是用c++实现了我的目标。不过,这个程序在高层设计上采用的是面向对象,在中层和底层设计上仍然使用的是面向过程的思路。在这个过程中,我对c++和面向对象有了更深入的理解,也积累了一些经验。这个时候我没有选择全面的学习一些c++的语法,而是选择学习《effective c++》。这本书对外影响很大,让我知道如何去更有效的使用c++。学习的过程中也许会遇到一些不会的语法知识,查一下资料就可以解决了。后来又在几个项目中使用了c++,慢慢的有些得心应手了。
下一步计划:对于c++的语法,我的观点是用到了在学。我下一步的计划是学习《more effective c++》,《c++ 沉思录》,《深入理解c++对象模型》,以求对c++有更深入的理解。另外,再深入的学习一下《设计模式》。还有就是google的c++编程规范。对于是否要涉及c++的其他子集,比如模板,我会继续观察,看有没有这样的需求。当然,有一点很重要,就是要在工作中去用它解决问题。
关于python学习出发点:这门语言我刚开始学,还没有学多长时间。我没有想完全抛弃c++,但是我想找一个更加方便高效的工具来完成某些任务。我以后可能会考虑将python和c++混合使用。选择python的另一个原因是google也在用它。
起步:找了一个入门的资料《简明python教程》学习了一下,对python语法有了一个基本的了解。然后选择《diveintopython》深入学习,目前还没有学完。不过现在感觉有些问题,自己好像陷入到了这些细枝末节中。所以准备做一些调整。
下一步计划:
1)快速预览《diveintopython》;2)找一个开源代码学习一下;3)开始使用python来解决问题;4)后面深入提高。
最后总结一下:
3、开始行动,而非等待准备就绪:不要等你把一门语言完全掌握了再开始行动。把握重点之后,马上开始行动,用它来解决问题,在解决问题的过程中,完成对语言的完善和更深入一步的学习。
全部回答
除了 理论知识基础以外学编程需要一定的个人素质。我指的素质不是说人的智力因素。我指,要有耐心,肯于钻研不会的程序,吧不会的程序背下来。而且,还要细心,又毅力。另外,个人的观点是钢开始学编程时不要只想着先学简单的语言或者当前流行的语言。其实早期的语言非常的锻炼人。建议,学习c语言不要先看c++。要又耐心和毅力,祝你成功!!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
初一学生暑假打工可以去哪里?
最近鼻子不通气,经常是右鼻孔不通,有时候左
i remember your eyes 是抄袭吗
锦鲤身上长了黑斑,既像退纱又像寄生虫,请高
2010年山东省威海市素描考级的内容
现在3DS物价多少 想入手一台 是淘宝买合适还
自己女朋友在剧组
兴颜春美容美发怎么去啊,我要去那办事
382+99的简便计算
我们公司使用的是霍尼维尔的报警主机,使用的
洁诺干洗在哪里啊,我有事要去这个地方
镜泊湖蓝岛假日酒店地址有知道的么?有点事想
5.1拼车去沂水游玩,4月30日青岛城阳出发,5
京东商城在哪里修改送货时间,我想只周末送货.
日下一个山读什么???是什么字????
推荐资讯
山东淄川到河南灵宝多少公里?
玉镯适合一直佩戴吗?
巴西是一个石油资源相对短缺的国家,你知道它
荒地村地址好找么,我有些事要过去
标志3008火花塞用几号扳手拆
甲状腺过氧化物酶抗体多少才算正常
绝大部分地震是由于()A火山喷发B岩层断裂C山
河北省邯郸市临漳县杜村乡羊羔村邮编是什么?
天花板出现裂缝了
装修工人要60*45的地砖铺一个房间的地板
歌词有些道理总是领悟不会是什么歌曲
兴业银行信用卡分期还款怎么办理
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?