正在研究一种语言障碍是如何影响你学习的方式的

怎样快速学习一种新的语言
这两天在看《编程人生》,这本书确实非常不错。而且看得也特别的轻松。其中有几个人都谈到了如何学习新的语言,但是给我最深刻的是google的首席java架构师joshua
bloch。正好最近我也在学习python,所以顺便总结一下如何学习一门新的语言。希望你能补充一些。
这不但是学习一门新的语言最重要的,而是对任何的学习都是最重要的。下面是书中的描述,非常的精彩,特别是那个比喻:
“学习一门新的语言的时候,要利用以前所学的语言的功底,但是也要保持开放的心态。有些人执着于一种理念:“这就是写所有程序必须遵循的方法”。我不是说那种语言,但是某些语言,令人执着于这样的理念。当开始学习新语言的时候,他们会批评这种语言跟真正神的语言的所有的不同之处。当使用新语言时,他们极力使用神的语言的方法去写。这样,你就会错过这个新语言真正的独特之处。&这就像你本来只有一个榔头,有人给了你一个螺丝刀,你说“哎,这不是一把好榔头,但是我应该可以倒着拿螺丝刀,用螺丝刀来砸东西。”你得到了一个很烂的榔头,但事实上它确实一把很不错的螺丝刀。所以你应该对所有的事物保持开放和积极的心态。”
如果你的杯子满了,那他永远再也装不进水了。如果你认为你找到了银弹,那么你可能就要固步自封了。
对新的事物,方法保持一个开发而积极的心态,才能真正了解他,了解他的独特之处。
了解他的历史,哲学观
选择一门语言,往往选择了一种思维方式和哲学观。所以,了解一门语言的历史和哲学观非常重要。你要知道这门语言是谁创建的,为什么创建,如何发展起来的,适合那些领域,以及解决问题的哲学是什么。
那python来说,他的设计哲学是“用一种方法,最好是只有一种方法来做一件事”,而perl的设计哲学是“总有多种方法来做同一件事”。所以,我选择的是python。
了解这方面的知识的一个非常好的来源是百科网站。
代码,代码,还是代码
代码是学习一门语言的必经之路,可能也是最快的一种方法。
你不但要找一些优秀的代码来阅读,还要亲自动手来写代码。这个过程对学习语言来说是非常快的。另外,你一定要用语言去解决实际的问题,而不仅仅是写代码来验证语法。在解决问题的过程中,你可以学习它是如何解决问题的,而且会积累语言的经验。
多去这个语言的社区逛逛吧,这里有很多人在讨论这种语言,和他们一起讨论你能够学到更多。
先简要介绍下我是如何学习c++的。
出发点:工作两到三年内,我的主要开发语言是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)后面深入提高。
最后总结一下:
1、把握重点与主线:什么是学习一门新语言是的重点?我认为这应该是这门语言异于或优于你原有语言的地方(出发点不同,答案可能不尽相同)。对我来说,c++的重点就是面向对象,python的重点就是动态语言特性以及高效性。
2、不要陷入语言的细枝末节中:刚开始学习一门语言时,要避免过早陷入语言的细枝末节中(比如语法,技巧等)。并不是说这些东西不重要,而是这些东西可以在后面的实践中慢慢的去学习的。那要怎么做?看下面。
3、开始行动,而非等待准备就绪:不要等你把一门语言完全掌握了再开始行动。把握重点之后,马上开始行动,用它来解决问题,在解决问题的过程中,完成对语言的完善和更深入一步的学习。
转自:/content/13/20.shtml
怎样快速学习一门新的编程语言?本文提供了一个行之有效的方法:看几页程序说明,然后就开始实践吧~
虽然你也许已经可以使用很多种编程语言进行工作,但工作常常会要求快速掌握一门新的语言。你可以不去选择去阅读几百页的程序手册,而是快速浏览10到15页的教程(可以在Google中搜索),并把程序语言的语法参考说明印在小卡片上(在google里搜索language to learn+reference card就能找到)。
首先,我会熟悉这种程序语言的编译器、编译选项、编辑器或集成开发环境的的快捷键和小技巧,写一个简单的“Hello
World”程序,编译并运行它,再用调试器进行简单的调试,如设置断电、查看变量值、跳转到某一位置等。
为了能够快速地掌握一种新的程序语言,我会做以下几个练习。注意,有些程序对初学者来说是很困难的。
1.用无限循环语句显示一系列数字(1、2、3、4、5……),并设置当用户按下某个按钮时(如ESC键)程序就会中止;
2.斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值等;
3.让用户输入一些数字或字符串,以升序或降序进行排列;
4.雷诺数的计算公式是(D*v*rho)/mu,其中D为直径,v为速度,rho为密度,mu为黏性。编写一个程序,接收一组数据并计算雷诺数。如果小于2100,则显示“层流”;在2100至4000之间,则显示“暂态流”;大与4000则显示“湍流”(使用分支语句if else then);
5.修改上面的程序,显示“开始新的计算?(是/否)”,如果选“是”,则重新输入一组数据;如果选“否”,则退出程序(使用循环语句)。如果mu的值为0,程序是否会提示“除数为0”的错误?或是给出“程序崩溃”的提示?怎样处理这种情况呢?该程序语言里是否提供了这样的机制?(异常处理)
6.编写一个科学计算器,包括加、减、乘、除、平方、立方、平方根、正弦、余弦、正切、阶乘、倒数、取模等操作;
7.用不同的格式进行输出(比如四舍五入到5位数字、截取前四位数字、用0填充左边或右边、左右对齐等)(输入输出操作)
8.将一个文本文件转换成网页文件(文件输入输出操作、字符串操作)
9.时间和日期:获取系统当前时间并将其转换成不同的格式;
10.创建一个文件名中含有时间日期的文件;
11.输入一个HTML表格,将其转换为以逗号或制表符分隔的文件;
12.实现自动换行的功能(看看Windows里记事本是怎样做的)
13.在数组的开头、结尾和中间添加或删除元素;
14.该程序语言是否支持以下特性:操作符重载、虚函数、引用、指针等;是否有命名空间、包、模块等;了解一下吧。
&&转自:http://www.nowamagic.net/librarys/veda/detail/1246
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。河南省专业技术人员继续教育公需课考试题一_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
河南省专业技术人员继续教育公需课考试题一
上传于||文档简介
&&21年​ ​ ​河​南​省​专​业​技​术​人​员​继​续​教​育​公​需​课​考​试​题​一
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢学习语言你必须知道的十件事_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
学习语言你必须知道的十件事
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢登录人民网通行证 &&&
语言交流有障碍&学霸给你支支招
日15:11&&来源:
原标题:语言交流有障碍 学霸给你支支招
图为在英国当地的酒吧,赵如森(右一)和当地的英国朋友以及留学生一起看英式橄榄球。
图为研讨课课堂,学生们正在进行考试。大家围坐成一个圈,更易于交流沟通和知识共享。
尽管留学生的雅思或托福等语言考试成绩达标,但是到了国外,面对全英语的教学,各种口音、俚语以及专业术语,不少学生仍会发懵。语言交流有障碍?让学霸来给你支几招。
“不怕出错”开口说
国外院校的录取通知书分两种:一种是没有附加条件的录取通知书,获得这样的录取通知书,意味着你可以直接进入大学,和外国本土学生同堂上课,没有缓冲时间;另一种则是有附加条件的录取通知书,这意味着你的英语水平并不过关,即使到了国外也需要上一段时间的语言课程训练来提升语言水平。
赵如森曾是英国斯旺西大学的一名交换生,他的毕业总评成绩为优秀,而当初他去英国读书时,语言却是个很大的问题。赵如森大三时才考过英语四级,雅思成绩刚到5.5分。于是在正式上课前,他不得不读了6周的语言课程。
语言课程是专门为外国留学生设立的。在语言班上,赵如森至少过了英语四级,还算有些底子。而一些来自中东的小伙伴,他们的英语单词发音很不标准,写的作业甚至老师也看不懂。即使这样,他们课上依旧踊跃发言,不怕出错。赵如森在他们的带动下逐渐放开心态,强迫自己开口说话,不再怕出错。“我发现不管自己说得多烂,只要单词发音标准,老外都能听懂。”赵如森说。抱着这样“不怕出错”的心态,在日常交流中,他有时候也不太顾及语法,反正听不懂的时候,微笑和点头总是没错的。如果实在没得聊,通过家庭情况介绍、天气等话题,总能挑起对话。
语言要靠熟能生巧
语言需要不断地练习才能熟能生巧。现在,海外华人数量增加,遍布世界各地。吃饭去中餐馆,买东西去中国超市,上课听不懂问中国同学,无聊了在家看中国电视剧……总之,在国外,即使不用外语也能生活。
但这样一来,外语根本无法得到提高。赵如森表示:“我一直不认为外语是一门课程,它只是一个工具,只有多用、多练习,才能熟能生巧。”为了将英语说得流利,他抓住一切机会练习,不局限于课堂。比如,等公交车时或者走在路上,碰到英国的老头老太太,他会主动地和他们闲聊几句。跟着朋友去酒吧,他也会主动找人聊天。一句“Morning”或者 “Hi”就会开启一段愉快的交谈。
不能丢中国人的脸
苏睿与赵如森同校,如今已经毕业,且毕业成绩总评为优秀。然而回忆起自己刚到英国的日子,她这样形容道:“最初3个月,我接受了地狱式的英语自学。”
在苏睿看来,想获得就要先付出。她的雅思成绩过关,但是这并不意味学习起来会很轻松。事实上,第一节课苏睿只听懂了20%。由于攻读的是法律专业,对于语言的要求比其他专业更高。为了能够听懂,上专业课时,她会录音。下课后,重复播放,直到听懂并且完全消化理解为止。学校开设了针对留学生的语言课程,于是苏睿在专业课之余,还要上与专业课程同步的语言课。3个月下来,基本上每天的上课时间都在10小时左右,从来没有午休。
国外上课更强调老师与学生、学生与学生之间的互动和交流,研讨课便是其中的典型。如果没有过硬的语言基础,想要高质量地通过研讨课几乎是不可能的。苏睿说,为了在课堂上有话说,课下准备是一个十分浩大的工程。一周有两次研讨课,每准备一次研讨课,她都至少要看四五本书,外加10个案例。“只有这样,在课堂上才能跟着老师的思路走,并且不时地发表见解。咱可不能丢中国人的脸。”苏睿笑着说。
(责编:温雪茹(实习生)、熊旭)
十问北京民办高校招生 教你如何识别真假学校
高考结束,进入了招生季,对于一些想选择民办高校就读的考生和家长来说,如何识别真假学校,学历教育与非学历教育有何区别,一旦退学如何退费?为此,人民网就相关十个问题采访了北京市教委,帮助大家了解北京民办高校招生政策和相关情况。
重点大学网购排行:央音重“颜值” 复旦“吃货”多
随着各省市高考分数招录分数陆续公布,填报大学志愿成为了近期考生最关注的一件事儿。除了院校、专业的排名外,你知道哪所大学的同学最爱看书,哪个院校是“吃货”集中营,哪里的“剁手”之风最盛行呢?《学前教育学》模拟试题及答案(一)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
《学前教育学》模拟试题及答案(一)
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩77页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

 

随机推荐