原文:http://blog.csdn.net/chgaowei/archive/2011/05/29/6452793.aspx

这两天在看《编程人生》,这本书确实非常不错。而且看得也特别的轻松。其中有几个人都谈到了如何学习新的语言,但是给我最深刻的是google的首席java架构师joshua bloch。正好最近我也在学习python,所以顺便总结一下如何学习一门新的语言。希望你能补充一些。

心态

这不但是学习一门新的语言最重要的,而是对任何的学习都是最重要的。下面是书中的描述,非常的精彩,特别是那个比喻:

“学习一门新的语言的时候,要利用以前所学的语言的功底,但是也要保持开放的心态。有些人执着于一种理念:“这就是写所有程序必须遵循的方法”。我不是说那种语言,但是某些语言,令人执着于这样的理念。当开始学习新语言的时候,他们会批评这种语言跟真正神的语言的所有的不同之处。当使用新语言时,他们极力使用神的语言的方法去写。这样,你就会错过这个新语言真正的独特之处。
这就像你本来只有一个榔头,有人给了你一个螺丝刀,你说“哎,这不是一把好榔头,但是我应该可以倒着拿螺丝刀,用螺丝刀来砸东西。”你得到了一个很烂的榔头,但事实上它确实一把很不错的螺丝刀。所以你应该对所有的事物保持开放和积极的心态。”

如果你的杯子满了,那他永远再也装不进水了。如果你认为你找到了银弹,那么你可能就要固步自封了。

对新的事物,方法保持一个开发而积极的心态,才能真正了解他,了解他的独特之处。

这一点相对来说比较难,程序员一般对他们的语言有一种近乎固执的偏爱。Paul Graham在《黑客与画家》中好像提到过,开发语言是程序员的宗教信仰,贬低一种语言对使用这种语言的程序员是一种侮辱。

了解他的历史,哲学观

选择一门语言,往往选择了一种思维方式和哲学观。所以,了解一门语言的历史和哲学观非常重要。你要知道这门语言是谁创建的,为什么创建,如何发展起来的,适合那些领域,以及解决问题的哲学是什么。

那python来说,他的设计哲学是“用一种方法,最好是只有一种方法来做一件事”,而perl的设计哲学是“总有多种方法来做同一件事”。所以,我选择的是python。

了解这方面的知识的一个非常好的来源是百科网站。

代码,代码,还是代码

代码是学习一门语言的必经之路,可能也是最快的一种方法。

你不但要找一些优秀的代码来阅读,还要亲自动手来写代码。这个过程对学习语言来说是非常快的。另外,你一定要用语言去解决实际的问题,而不仅仅是写代码来验证语法。在解决问题的过程中,你可以学习它是如何解决问题的,而且会积累语言的经验。

在工作中使用一门新的语言来开发新项目的风险相对较大,所以,如果再工作中尝试使用新的语言,可以选择一些小的项目来积累经验。如果工作中无法使用这个语言,那么就在业余使用这个语言解决问题吧。

社区

多去这个语言的社区逛逛吧,这里有很多人在讨论这种语言,和他们一起讨论你能够学到更多。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chgaowei/archive/2011/05/29/6452793.aspx

转载于:https://www.cnblogs.com/zengmiaogen/archive/2011/06/01/2065413.html

【转CSDN常高伟】如何学习一门新的语言相关推荐

  1. 如何学习一门新的语言

    这两天在看<编程人生>,这本书确实非常不错.而且看得也特别的轻松.其中有几个人都谈到了如何学习新的语言,但是给我最深刻的是google的首席java架构师joshua bloch.正好最近 ...

  2. 如何快速的学习一门新的语言

    前言 程序的世界变化非常快,总是出新的框架,新的语言,新的名词,如何那快速的跟上这些变化,使自己保持竞争力,而不落伍呢? 语言设计的目的 笔记觉的,首先要看一下这门语言设计的目的是什么,主要想解决哪方 ...

  3. 如何学习一门新的语言?

    首先要说,这并不是一篇教你如何学习的文章,因为到今天为止我也没有找到一种通用的方法来解决如何学习的问题.但是在探索的道路上,我确实产生过一些思路,我想把这些思考的过程分享出来让大家探讨.如果这对你有帮 ...

  4. 技术周刊 Vol.40 - 来学习一门新的编程语言吧!

    新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获和感悟,那对于刚刚到来的 2018,有什么期待和规划呢?不防就来学习一门新的语言吧,进一步提高编程技能,扩宽自己的知识领域.希 ...

  5. 初学者如何学习一门新的计算机语言!!!

    程序员之道 万变不离其宗 学习程序最快也是最好的办法就是:过.抄.仿.改.调.看.练.创.悟: 1.过: 学习一门新的语言,第一步就是把它所涉及的基础知识大体过一点,不求深解,只求了解--第一遍:无需 ...

  6. 如何学习一门新语言(针对初学者)

    程序员之道,万变不离其宗,说相声讲究的是说.学.逗.唱,学习程序最快也是最好的办法就是:过.抄.仿.改.调.看.练.创.悟: 1.过: 学习一门新的语言,第一步就是把它所涉及的基础知识大体过一点,不求 ...

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

    本来想总结老师的方法的,可在网上找到一篇一模一样的,为了保证原创性,所以只好直接引用啦.点击打开链接<如何快速学习一门新计算机语言>

  8. 【Python蓝桥杯】单词分析 小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。

    最近在刷蓝桥杯题目,按题目做一下笔记整理,顺便分享交流一下,有更好的解决方案欢迎大家共同提出探讨,以下源代码为系统提交满分答案 单词分析 问题描述 资源限制 Python时间限制:1s,内存限制:25 ...

  9. 单词分析 题目描述 小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。

    题目描述 小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度.小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪 ...

最新文章

  1. java-2018-01-17计划
  2. [转]Backup and restore history details
  3. ORA-12154/ORA-12560 可以尝试的解决办法
  4. 流水账日记20150626
  5. 23 Refs的应用场景与选用思考
  6. ssl1763-观光旅游【最小环,Floyd,dijkstra】
  7. two sum python_Python | Leetcode 之 Two Sum
  8. linux改文件后run,linux下.run文件如何安装与卸载
  9. juery的跨域请求2
  10. 计算机基础知识 笔试,计算机基础知识笔试题
  11. 内核各个版本下载地址
  12. SpringMVC + JUnit4 单元测试 - Controller 测试
  13. 2023年南京师范大学资源与环境考研上岸前辈备考经验指导
  14. 3dmax软件导入模式删除四种场景广告方式
  15. Qt系列文章之 QMessageBox
  16. 运用电脑辅助 对彩票号码 进行 数字分析 — 华东15选5
  17. c51语言 延时程序值怎么算,C51的延时计算
  18. 大学行政职务、各类学生以及教师职称的英文翻译
  19. python经验总结_Python语言经验总结
  20. python网页爬虫菜鸟教程_【爬虫】菜鸟教程,支持翻页,存储

热门文章

  1. java i o总结_Java I/O 总结
  2. 读取nas_NAS怎么玩?除了存放小姐姐,它竟然还有这些功能
  3. 栈的应用--数制转换
  4. 160 - 22 CarLitoZ.1
  5. Java BufferedReader skip()方法与示例
  6. 找到最大回文子串_使用O(1)空间复杂度找到最大的回文子串
  7. 04-图像的形状绘制
  8. C#通过VS连接MySQL数据库实现增删改查基本操作
  9. read/fread write/fwrite 的区别
  10. jmp、JE、JZ、JNE、JNT指令