怎么学编程语言最好

简略翻译一篇《Clojure for the Brave and True》作者 Daniel Higginbotham 写于2017年4月16日的博客吧,这篇文章就是讲的“如何高效地学习编程语言”。
原文为《Techniques for Efficiently Learning Programming Languages》,大觉得看原文更好的,可以去查找阅读。

学习编程语言是一种技能:做好了你就能体验到多巴胺给你的快感,做不好那么就是接二连三的沮丧感以及想要放弃的念头。

不断考验自己、战胜能力错觉

其实最坏的学习方式就是不断地重读,这会让你产生你理解了所涵盖主题,因为熟能生巧能让你看起来毫不费力的理解这个主题,但研究人员将这个称之为能力错觉。

更好的方法是不断测试自己,不要重读函数、类、对象到底是什么,而是不断要求自己去定义这些概念,或者说在一个简短的程序里面尝试着去实践他们,强迫自己以某种方式去真正展示自己的理解。或许这个过程是痛苦的,但是这对于长期记忆是非常有效果的。每次阅读材料之前试着去测试一下自己,比如在开始新一章学习之前尝试着去练习,这其实是很好的辅助记忆。怎么学编程语言最好图1

下面有一些具体的方法:

阅读之前试着去猜想接下来你要学习什么,并且写下来。

阅读之前先尝试做练习。

不断地练习,即使是最难的练习,可以放弃一些练习,但是你首先你必须尝试一遍。

阅读一个简短的程序并且尝试自己不看源码的情况下去重写,并且尝试去优化他。

对象、类、方法、或者高阶函数之类的新概念,学习之后一定要尝试着编写代码实现。

学会去说明你创建图表的概念,并且看它们是如何关联的。

把你刚刚学到的知识尝试着写成博客。

尝试着向一个非技术人员解释你的技术概念。

总结起来就是多做实践,并且尝试着让你的实践得到优化,得到理解,这样你成长起来也就更快。怎么学编程语言最好图2

学会发散自己的情绪、分散思维

如果你被一个问题困住了,或者遇到了一些你不理解的地方,你也许该尝试着去散散步、或者去冲个凉,尽可能去分散你的注意力,先做一些其他事情,这也许是违背常理的,但其实这是非常有价值的。

有时候太过于执拗也许会禁锢你的思想,分散注意力,我们的大脑就会无意识的探索并连接我们的大部分经历。

这就跟看地图一样,你一直盯着一个地方看,不不知不觉你已经自己禁锢住了,即使你看再多遍也会没有效率,但是如果你试着转移注意力,深呼吸、无所事事的看一下,也许再次看地图的时候,你会豁然开朗的发现你已经找到你的答案了。

这就是为什么淋浴的时候容易灵光乍现的原理,我个人而言,我被什么问题难住了,我就会洗个澡,而且非常有效,这也是我保持干净的原因。

不要浪费时间沮丧

沮丧往往能够让我们做一些非常愚蠢的实践,比如重新编译一个程序或者刷新浏览器页面,抱着希望这一次他会发生奇迹的侥幸。

一旦意识到你的沮丧,就退一步,找到问题在哪里,如果说你已经完成了一些代码,直接向别人请教你所期望的结果是怎么样的,并且尝试对于意外行为原因科学的提出假设,并且尝试着去验证你的假设,如果再试一次,还是找不到解决办法,请把放在一边,以后再回来解决。

我曾经无数次因为看似无法解决的问题而把电脑扔在一边,解决第二天的时候,一个显而易见的解决方案就跃入我的脑海,而这种事情上周刚刚发生过。

确定你正在处理编程语言的那个方面

在我看来,当你学习一门编程语言时,你实际上在学习四件事情。

如何编写代码:语法、语义、以及资源管理。

该编程语言的范式:面对象、函数、逻辑等等。

工件体系:构建、运行、以及如何使用库。

一个完全不懂编程的人,一开始可能会尝试构建iOS程序,他们试图让自己的应用在朋友的手机上运行,结果看到的却是开发证书之类的信息,这就属于工件体系的一部分,不过不懂代码的人,会觉得这是如何编写代码的问题。当问题与代码无关时,他们可能会查看为解决问题而编写的每一行代码。怎么学编程语言最好图3

明确目的、外部模型以及内部模型

当你使用、并且理解一个工具的用途的时候,识别他的目的,内外部模型时非常重要的,你的大脑里面才会是有用的上下文细节,这让你可以更好的吸收新的知识。就像玩拼图一样,如果完整的拼图就在你的面前,那么你就容易把这些拼在一起,这也适用于编程语言以及语言库。

工具的外部模型是它所呈现出来的接口,以及它希望您思考问题解决方法的方式。Clojure的外部模型就是一个Lisp,它希望您将编程看作以数据为中心的、不可变的转换。

工具的内部模型是如何将其接口的输入抽象为某种较低级别的抽象。Clojure将Lisp代码转为JVM字节码,而Ansible把任务定义转换成shell命令。在理想世界中,不需要理解内部模型,不过在现实中,理解工具的内部模型是非常有帮助的,因为他为问题提供了一个统一的视角。

间隔重复有助于记忆

间隔重复是被证明在长期记忆中编码新信息的最好方法之一,这个方法能够不断地增加时间间隔内的自我测试,通过最少重复次数来最小化减少记忆衰退。

睡眠和锻炼

学会照顾好你自己的身体!

身体不仅仅是你大脑的载体,想要记忆力能够保持高度集中,更加高效地学习,足够充足的睡眠时间和更多的锻炼,能让你彻底远离咖啡因以及各种乱七八糟的能量饮料。

来自于我的建议

其实学习编程语言来说,这篇文章大师更多的是从方法学的角度来分析,给大家一套通用的系统学习的方案。

总体来说,学会掌握编程语言思想精髓,多做实践,多看经典的源代码,只要做好这几点我觉得你基本上就能学好这门语言,不过还是那句话,兴趣非常重要!


2012年毕业后,我也经历了事业的多重抉择,从一个职场小白,到现在的高级研发工程师,期间的曲折也不可谓不多。

2015年6月份开始接触编程,到现在算下来也快6年的时间了。我并非科班出身的程序员,而是在15年的时候报了当时最火的某马培训机构,学习了大概五个月的时间,期间同班的有来了一天就放弃的、有来了混日子的、有学完没有就业的等等。

下面我讲下,我当时是如何学习java语言的。

在学习之前,尽可能的自己先了解一点语言的特性,能有一些入门级的自学经历,可以确定你是否对这个语言感兴趣,俗话说的好:兴趣是最好的老师。

第二点:学习的过程,就是理解的过程,刚开始基础弱、底子薄,唯一的办法就是多练习,勤思考。我记得当时,每天回来都要敲几十遍上课时讲的代码示例;接着还会记录学习心得。

第三点:给自己制定短期和长期的学习目标,没有目标的学习都是浪费时间。通过实现短期目标和长期目标来满足自己的成就感。用以激励自己继续前进。

第四点:多和身边厉害的人学习。特别是当时走向了工作岗位之后,你会发现身边的同事就是你最好的学习榜样。

程序员的工作是一份需要长期学习,并且要努力学习提升自己能力的行业。

用一句话与你共勉“路漫漫其修远矣,吾将上下而求索。”

在学习java的路上有什么问题,可以私信我。与你一起进步。

本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/phone/10115.html

(0)
上一篇 2023-01-12 12:16
下一篇 2023-01-12 12:30

相关推荐

  • 华为p9可以当电脑摄像头吗,华为p9怎么作为电脑摄像头用

    答案是可以的: DroidCamX是一款手机摄像头变身电脑摄像头软件,支持多种连接方式,支持USB数据线连接、Wifi无线连接以及蓝牙连接三种模式,使用非常方便,以下我们详细介绍下…

    2023-05-01
  • 联发科p70的性能怎么样(联发科p70优缺点)

    过去我们经常能在国产中低端手机中见到联发科处理器的身影,但最近两年形式转变了,联发科中低端处理器都被高通取代了。为了改变现状,联发科改变了策略,集中火力向中低端市场发展,过去推出的…

    2023-02-04
  • oppor11s和vivox20plus哪个好

    产品命名 从命名上,oppor11splus只是在oppor11plus的基础之上进行的小的升级,不像vivox20plus那样是整体的“飞跃”,不过可以肯定的是oppor11sp…

    2023-01-15
  • 微商怎么加粉(微商加粉宝怎么用)

    微商如何让客户信任你怎么取得信任,先来举个例子:大街上有人向你推荐化妆品,你会买吗?答案是:不会! 常常听人问:我的产品卖不出去,我的客户和我聊了两句就不愿意理我了,我该怎么办? …

    2023-05-08
  • 现在买什么手机性价比最高

    话不多说 直奔主题 iPhone 12 12 就不用多介绍了,如果说是手机的选择不如说是生态的选择 如果你拥有 iPad、iWatch、AirPods、Mac 其中一个或多个,建议…

    2023-02-28
  • 有ios的模拟器吗(sfc模拟器ios)

    模拟器是辅助器的一种。至于是否有IOS模拟器,都是很容易凸显出来的,现在在网上随便搜一下IOS模拟器,都是成堆出现的。IOS作为现在的移动端操作系统第二大系统之一,怎么可能会缺少模…

    2023-08-05
  • 华为p8手机过时了吗

    华为P8,从2015年4月上市,到如今已有将近三年的时间。 现在全面屏,异形屏,双摄照亮你的美的时代,不可谓不过时。 不过对于颜值控来说,除了开机后的大黑边,这款手机的外形到是不过…

    2023-01-11
  • 手机拍摄的照片怎么显示时间,手机电子相册

    日常生活中,很多朋友都会用手机拍照这种形式来记录生活。但是随着存储的照片数量增多,越来越不好管理。而把照片做成视频,恰巧可以完美地解决。今天大家就一起学习下怎么把照片做成视频。 右…

    2023-07-22
  • 如何做好网页设计(网页设计排版布局)

    1、 首先将你的想法在纸上画出来 这是一幅世界各地不同年城市特色建筑的草图,每个人开始设计之前都会在纸上画草图,但是很多设计师都跳过了这一步,没有考虑到他们将会面临的问题。设计就是…

    2023-03-19
  • 怎么样可以在手机里养宠物

    我最喜爱的猫猫 Little Kitten,是一款苹果手机上的宠物养成游戏,让你可以在手机上云养猫,玩法比较真实,模拟养猫的乐趣,还有各种互动游戏。 精致的游戏画面让你体验养宠物的…

    2023-03-20