欺骗你的大脑,让它认为你的生活依赖于如何用Go编程呢?
我真不敢相信他们 把这个写进了一本 Go语言的书中。
你的大脑如何看待Go。 在这里,你试图学习一些东西,而你的大脑在帮 你的忙,确保学习不会停滞不前。你的大脑在想:“最好给更重要的事情留点 儿空间,比如避开哪些野生动物,裸体滑雪是否是个坏主意。”那么,你如何在本节中,我们将回答一个急待解决的问题:为什么他们 要把这个写进一本关于Go的书里呢?
给谁看这本书
这本书是给谁看的
如果你对所有这些问题回答“是”:
1 你能使用有文本编辑器的电脑吗?
2 你想学习一种使开发变得快速和高效的编程语言吗?
3 比起枯燥无味的学术讲座,你是否更喜欢让人刺激的晚宴上的交谈?
那么这本书是给你看的。
谁应该远离这本书
如果你对其中任何一个问题回答“是”:
1 你对电脑完全陌生吗?
(你不需要水平太高,但是你应该了解文件夹和文件,知 道如何打开终端应用,以及如何使用简单的文本编辑 器。)
2 你是一个在寻找参考书的忍者摇滚明星的开发者吗?
3 你害怕尝试新的东西吗?你宁愿做根管治疗,也不愿意 穿一些色彩斑斓的衣服吗?你真的认为一本技术性的书 如果使用了比较轻松的语言就很不严肃吗?
那么这本书就不是给你看的。
来自市场营销的提示:本书适用于任 何持有有效信用卡的人。
如何使用这本书
我们知道你在想什么
. “这本书怎么可能是一本关于用Go进行开发的非常严肃的书呢?” “这些图形是怎么回事?”
“我真的能这样学吗?”
我们知道你的大脑在想什么
你的大脑渴望新奇。它总是在搜索、扫描、等待一些不寻常的东西。 它就是这样建造的,它能帮助你活着。
那么,你的大脑如何处理你遇到的所有日常的、普通的、正常的事情 呢? 尽一切可能阻止它们干扰大脑真正的工作 —— 记录重要的事情。 它不会保存那些无聊的东西,因为它们永远不会通过“这显然不重要”
过滤器。
你的大脑如何知道什么事情是重要的? 假设你出去徒步一天,一只老
虎在你面前跳来跳去——你的大脑和身体会怎么样? 神经元被激活。情绪高涨。化学物质激增。 你的大脑就是这样知道......
这一定很重要!别忘记!
但3是想象一下你在家里或者在图书馆。这是一个安全、温暖、没有老 虎的地方。你在学习,准备考试,或者尝试学习一些很难的技术主题, 你老板认为这些东西需要一周,最多10天就可完成。
只有一个问题。你的大脑想帮你个大忙。它试图确保这些显然不 重要的内容不会扰乱稀缺的资源。资源最好用于存储真正“大” 的东西,比如老虎,比如火灾的危险,比如你不应该把那些派对 的照片上传到你的Facebook上。没有简单的方法告诉你的大脑,
“嘿,大脑,非常感谢你,但是不管这本书有多枯燥,不管我现在 的情绪有多糟糕,我真的希望你能保留这些东西。”
太好了。只有530页枯燥、无趣、乏味的东西了。
把读者当作学习者
你的大脑认为 这很重要。
你的大脑认为 这不值得保留。
我们把“Head First”的读者当作学习者
那么怎样才能学到一些东西呢? 首先,你必须得到它,然后确保你不会忘记它。这不是把事 情硬塞进你的脑子里。根据认知科学、神经生物学和教育心理学方面的最新研究,学习不仅 仅是了解纸面上的文字。我们知道什么可以使你的大脑兴奋。
一些“Head First”的学习准则:
可视化知识。图像远比文字更令人印象深刻,也使学习变得更加有效。(在回忆和转移研 究方面提高了89%。)它们也能让事情变得更容易理解。将词语放在与之相关的图形内或 附近,而不是放在底部或另一页上,学习者解决与内容相关的问题的可能性将提高两倍。
使用对话和个性化的风格。最近研究表明,如果内容直接面向读者,使用第一人称的对话 风格,而不是使用正式的语气,那么读者在学习后的测试中的表现可以提高40%。讲故事 而不是说教。使用非正式的语言,不要太严肃。你会更关注一个令人兴奋的晚宴,还是一 个讲座?
让学习者更深入地思考。换句话说,除非你主动弯曲你的神经元,否则你的大脑不会发生 什么变化。读者必须有动力、投入、好奇和灵感去解决问题,得出结论并产生新的知识。 为此,你需要挑战、锻炼和发人深省的问题,以及涉及大脑两侧和多种感官的活动。
吸引并保持读者的注意力。我们都有过“我真的很想学这个,但我不能在读完第一页后还 保持清醒”的经历。你的大脑会关注那些不寻常的、有趣的、奇怪的、引人注目的、意想 不到的事情。学习一个新的、棘手的、技术性的主题不一定很无聊。如果有趣的话,你的 大脑会学得更快。
调动读者的情绪。我们现在知道,你的记忆事物的能力很大程度上取决于事物的情感内容。
当你关注时你会记得,当你有感触时你会记得。不,我们不是在讲一个男孩和他的狗的令 人心痛的故事。我们谈论的是诸如惊喜、好奇、乐趣之类的情感,“什么......?”,以及 那种“我说了算!”的感受,当你解决了一个难题,掌握了别人认为很难的东西,或者意识到“我更了解技术”,而来自工程学的鲍勃却不会时,就会有这种感受。
如何使用这本书
元认知:思考“何为思考” 如果你真的想学习,而且你想学得更快、更深,那就留意你是如何集中注
意力的。想想你是如何思考的。学会如何学习。
我们中的大多数人在成长过程中没有学过元认知或学习理论的课程。我们 想去学习,但很少有人教我们如何学习。
但是我们假设,如果你有本书,你真的想学习如何写Go程序。你可能不想 花很多时间。如果你想使用你在本书中读到的东西,你需要记住它们。为 此,你必须理解它们。要从本书、其他书或学习经验中得到最大的收获, 就要对你的大脑负责。你的大脑与这些内容有关。
诀窍是让你的大脑看到你正在学习的新资料是非常重要的。对你的健 康也是至关重要的。像老虎一样重要。否则,你就会陷入一场持续的 战斗,你的大脑会尽其所能阻止新内容的产生。
那么,如何让你的大脑对待编程就像对待一只饥饿的老虎呢?
有慢的、乏味的方法,或者快的、更有效的方法。这个慢方法是纯 粹的重复。你显然知道,如果你不断地往脑子里灌输同样的东西,即使是最乏 味的主题,你也能够学习和记住。经过足够多的重复,你的大脑会说,“这个对他来 说并不重要,但是他一直一遍又一遍地看着同样的东西,所以我想它一定是重要的。”
快的方法是做任何能增加大脑活动的事情,尤其是不同类型的大脑活动。上一页的内 容是解决方案的重要组成部分,它们都已被证明可以帮助你的大脑朝着有利于你的方 向工作。例如,研究表明,把单词放在它们描述的图片中(而不是放在页面的其他地 方,比如标题或正文中),会让你的大脑试图理解单词和图片之间的关系,这就会引 起更多的神经元活动。更多的神经元活动意味着你的大脑更有可能意识到这是一件值 得注意的事情,并有可能把它记录下来。
谈话风格很有帮助,因为当人们意识到他们在交谈时往往会更加专注。因为他们希望 紧跟并坚持到底。令人惊奇的是,你的大脑并不一定在意你和一本书之间的“对话”! 如果写作风格是正式且枯燥的,那么你的大脑仿佛置身于一个无聊的课堂,周围都是 被动出席的听众。而此时,你的大脑就会觉得不需要保持清醒。
但图片和对话风格只是开始......
我想知道我怎么才能 骗我的大脑去记住 这些东西......
这样做
我们是这样做的
我们使用图片,因为你的大脑会为视觉而不是为文字做出调整。就你的大脑而言,一张 图片真的胜过千言万语。当文字和图片放在一起的时候,我们将文字嵌入图片中,这样 当文字在它所指的事物中,而不是在标题中或隐藏在正文中的某个地方时,你的大脑会 工作得更有效。
我们使用冗余,用不同的方式、不同的媒体类型和不同的感官说同样的事情,以增加内 容被编码到大脑多个区域的机会。
我们以意想不到的方式使用概念和图片,因为你的大脑会为新奇事物而调整,我们使用 图片和至少含有一些情感内容的想法,因为你的大脑会为关注情感的生物化学成分而调 整。那些使你感觉到某些东西的事情更容易被记住,即使这种感觉只是一点幽默、惊喜 或兴趣。
我们使用了个性化的对话方式,因为当你的大脑认为你在谈话时会比它认为你在被动地 听演讲时更加关注。即使在阅读时,你的大脑也会这样做。
我们把活动包括在内,因为你的大脑在做事情的时候比阅读的时候更善于学习和记忆。 我们让这些练习具有挑战性且可行,因为这是大多数人喜欢的。
我们使用了多种学习风格,因为你可能更喜欢循序渐进的过程,其他人想先了解全局, 而另外一些人只想看到一个示例。但不管你自己的学习偏好如何,每个人都能从以多种 形式呈现相同的内容中获益。
我们将你大脑两侧的内容都包括在内,因为你的大脑参与得越多,你学习和记住的东西 就越多,你能集中注意力的时间也就越长。因为大脑的一侧在工作通常意味着给另一侧 一个休息的机会,你可以在更长的时间内更有效率地学习。
我们还包括了一些故事和练习,这些故事和练习代表了不止一种观点,因为当你的大脑 被迫做出评估和判断时,它就会更深入地学习。
本书中包括挑战、练习和问题,而这些问题并不总是有一个直截了当的答案,因为当你 的大脑必须做某件事时就已经调整好了去学习和记忆。想想看,你不可能仅仅通过看健 身房的人就能让你自己保持体形。但我们尽力确保当你努力工作的时候,是在做正确的 事情。你不需要花费额外的精力来处理一个难以理解的示例,或者解析晦涩的、充满行 话的或过于生硬的文本。
我们用了“人”。在故事、例子和图片中大量使用人物,因为你的大脑更关注人,而不是事物。
如何使用这本书
下面是如何做能让你的大脑就范
所以,我们尽了自己的职责。剩下的就靠你自己了。这些技巧 是一个起点,倾听你的大脑,找出什么适合你,什么不适合。 尝试新事物。
把这个剪下来贴在 冰箱上。
1 放慢速度,多去理解,从而减少机械记忆。
不要只是阅读。停下来思考。当书问你问题时, 不要直接跳到答案。想象一下有人真的在问这个 问题。你强迫大脑思考得越深,你学习和记忆的 机会就越大。
2 做练习,记笔记。
我们将这些练习放入书中,但是我们直接告诉你 答案。这就好像是别人替你锻练身体一样。请你 拿起手中的笔进行练习,熟能生巧。有很多证据 表明,学习时的身体活动可以提高学习效率。
3 读懂“ 有问必答”。
这意味着一切。它们不是可选的边栏,而是核心 内容的一部分!不要跳过它们。
4 将本书作为你的睡前读物,或者至少是最后一个挑战。
学习的一部分(尤其是向长期记忆的转移)发生 在你放下书之后。你的大脑需要时间来做更多的 处理。如果你在这个过程中加入了一些新的东西, 你刚刚学到的一些东西就会丢失。
5 大声谈论你学到的知识。
说话会激活大脑的不同部分。如果你想要理解某 件事,或者增加你以后记住它的机会,就大声说 出来。更好的是,试着向别人大声解释。你会学得 更快,你可能会发现一些你阅读时不知道的知识。
6 大量喝水。
大脑在水分充足的时候工作效率最高。脱水(可 能在你感到口渴之前就会发生)会降低认知功能。
7 倾听你的大脑。
注意你的大脑是否超载了。如果你发现自己开始 匆匆掠过或忘记刚刚读过的内容,是时候休息一下了。一旦超过了某一时间点,你就无法通过投 入更多的努力来更快地学习,甚至可能会影响学 习过程。
8 感受某些事情。
你的大脑需要知道这很重要。参与故事。为照片配上你自己的标题。为一个蹩脚的笑话叹息总比 什么感觉都没有好。
9 写大量代码!
学习开发Go程序只有一种方法:写大量代码。这 就是你在整本书中要做的。编程是一种技能,而 要想精通它,唯一的方法就是练习。我们会给你 很多练习:每一章都有练习,这些练习会让你去 解决问题。不要跳过它们 —— 当你解出这些练习 时,你会学到很多东西。我们为每个练习都提供了答案 —— 如果你被问题卡住了,可以查看答案! (通常都是细节问题造成了困难。)但是在看答案之前先试着去解决。在继续阅读下一部分之前,一定要把当前问题都解决掉。
说明
说明
这是一次学习经历,而不是参考书。我们特意把可能妨碍学习的东西从书中删去了。第一 次,你需要从头开始,因为本书对你已经看过和学过的东西做了假设。
如果你用其他语言写过一点儿程序,这会对你有所帮助。
多数开发人员在学习了其他一些编程语言之后发现了Go。(他们经常寻求躲避另一种语 言。)我们对基本知识进行了足够的探讨,使一个完完全全的初学者也能够应付,但是我 们没有详细介绍什么是变量,或者if语句是如何工作的。如果你以前至少做过一点儿这 方面的工作,你会很轻松。
我们没有涉及每种类型、函数和包。
Go自带了很多软件包。当然,它们都很有趣,但是即使本书有现在的两倍长,也不能把它 们完全覆盖。我们的重点是对初学者来说非常重要的核心类型和函数。我们确保你对它们 有深刻的理解,并相信你知道如何以及何时使用它们。任何情况下,一旦你读完了本书, 你就可以拿起任何一本参考书,快速学习我们遗漏的内容。
这些活动不是可选的。
练习和活动不是附加的,它们是本书核心内容的一部分。有些是为了帮助记忆,有些是为 了理解,还有一些是为了帮助你应用所学到的知识。不要跳过练习。
冗余是有意的,也是重要的。
Head First书的一个显著区别是,我们希望你能真正理解它。我们希望你读完本书,记住你 学到的东西。大多数参考书都没有把记忆和回忆作为一个目标,但本书是关于学习的,所 以你会看到一些相同的概念出现了不止一次。
代码示例尽可能简洁。
在200行代码中费力地寻找需要理解的两行代码是令人沮丧的。本书中的大多数示例都是在 尽可能小的上下文中显示的,因此你要学习的部分是清晰而简单的。所以不要期望代码是 健壮的,甚至是完整的。那是你读完本书后的作业。书中的例子是专门为学习而写的,并 不总是功能齐全的。
我们已经将所有示例文件都放在了网上,你可以去下载。你可以在http://headfirstgo.com/上 找到它们。
如何使用这本书
致谢
致系列丛书创办者:
非常感谢Head First系列的创办者Kathy Sierra和Bert Bates。当我十多年前遇到这套丛书 时,我就很喜欢它,但从未想过我会为它写作。感谢你们创造了这种令人惊叹的教学 风格。
致O’Reilly团队:
感谢成就了这一切的O’ Reilly的每一个人,特别是编辑Jeff Bleiel,以及Kristen Brown、 Rachel Monaghan和其他的产品团队成员。
致技术审校者:
每个人都会犯错,但幸运的是,我有技术审校团队的Tim Heckman、Edward Yue Shung Wong和Stefan Pochmann来纠正我所有的错误。你永远不知道他们发现了多少问题,因 为我很快就销毁了所有的证据。但是他们的帮助和反馈是绝对必要的,永远感激他们!
致其他人:
感谢Leo Richardson提供额外的校对。 也许最重要的是,感谢Christine、Courtney、Bryan、Lenny和Jeremy的耐心和支持(现
在已经有两本书了)!
O’Reilly在线学习
O’Reilly在线学习
近40年来,O’Reilly Media提供了技术和业务培训、知识以及洞察力,帮助公司 取得成功。
我们独有的专家和创新者网络通过书籍、文章、会议和我们的在线学习平台分 享他们的知识和专长。O’Reilly的在线学习平台可以让你按需访问现场培训课 程、深度学习路径、交互式编程环境,以及来自O’Reilly和200多个其他出版商 的大量文本和视频。更多信息,请访问http://oreilly.com。