学习编码很难。
我坐下来学习,然后眨眼,发现自己在房间对面。 我把手伸向代码。
学习编码是蛇和梯子的游戏,只有蛇。
梯子在哪里?
- Swarm Intern从中学到的知识
- 学习管理时间
- 如何通过使用“学习方法”成为更好的学习者
- 塔罗牌指导的自我保健:圣人
- 了解如何使用IPEVO Ziggi-HD Plus和Photoshop创建“ 3D图像”

作为一个小女孩,在计算机上键入神秘的题词感到神秘而神圣,这是一条分叉的花园。
但是在教室里魔术消失了。 秘密花园被死记硬背和正确答案的高速公路所取代。

一位计算机老师轻轻地对我说:
“玛丽,你是一个非常聪明的女孩。 您在很多事情上都有天赋,但这根本不适合您。”
其他计算机老师对我或我的耳朵说了其他话。
“她永远不会得到它。”
“与某些人浪费时间”
“玛丽,我不知道你是谁 ”
(最后一个人误读了我的文件标签,并认为我的“有天赋的身份证明”是“特殊需要的身份证明。”我从未纠正过她,我认为她可能是正确的。)

从那时起,我阅读并观看了少量的学习代码教程。 朋友们试图教我。 我参加了一些全日制课程,并退出了一些MOOC(大规模开放在线课程)。
但是,当我审慎地查看代码时,我闻到了一百位恼怒的教授的封测呼吸,而墙上的钟声打断了我生命中的第二秒。

我肯定不会进入, 也无法进入交互。 我的自信,机智,智慧全都抛弃了我。
当一个老师(甚至是一个非常好的老师)问我一个问题(甚至是一个非常简单的问题)时,我会像过热的计算机或受惊的动物一样冻结。
一切都是混乱,冻结,外星人。

我没有建立,发展我的理解结构的知识基础。 我设法塞入大脑的概念没有任何可钩住的东西,它们在我的脑海中旋转和漂浮,直到熵使它们变成尘土,然后变为零。

当我用隐喻将这些新想法束缚在我的脑海中时,大多数直领工程师都会回避我的比较。 在一切都是精度的领域中,不准确性就是牺牲品。
他们说:
“这很容易。 不是那样的,而是JARGON通过UNFAMILIAR WORD的X在UNFAMILIAR WORD中运行了COMPLICATED CONCEPT。 看,简单!”
不容易。
我通过隐喻学习。 所有学到的思想都是从隐喻开始的,而所有真正的理解都是在新思想开始超出它所进行的隐喻时才出现的。
因此,我将继续我的坏比喻。 我会不断出现,并扔坏的隐喻,直到坚持不懈。
代码可能不适合我,但是我适合代码。 我想学习。 我拒绝相信这不适合我。
即使需要走很长的路,我也会弄清楚的。
这是我的主意,试图将自己映射到这些思想上,掌握隐喻,然后在隐喻散布得太远时进行延伸。
让我们开始。
三个真理
这是我确定的东西。 代码有三个真理:
真相一:你是神,一切都是有意发生的,因为你宣称它是如此。
真相二:有约束。 它们是组成的,您可以解决它们,但它们已嵌入游戏中。
真相三:永远存在未知。 努力在您所知道的基础上构建什么,这是一个无限未知空间中的小结构。
名称:
从阅读童话中可以知道,当您拥有某人的真实姓名时,您便拥有对他们无穷的力量。

一个名字使事物脱颖而出。 名称将事物的所有部分组合在一起,并将其称为唯一对象。 没有你自己的名字,你只是一个巨大人类中的另一个人。 如果没有“人类”这个名字,那么您就是一个巨大物质中的非唯一,不可识别的斑点。

名称将事物与其余事物分开,但它们也可以用于分组和分类,以使事物可分类和可计数。 这些名称可以将已命名的事物延伸,将事物组合在一起,以便您可以按组命令它们。 像“哺乳动物”或“人类”或“糖果漫游者”。

名字是虚构的,任意的,无关紧要的谎言。 但是,它们正是针对特定事物的谎言,并且指向是真实而有用的,并且具有强大的力量。
“名字就是事物,真实的名字就是真实的事物。 说出名字就是控制事物。”
― Ursula K. Le Guin,《名称规则》。
为什么命名:
由于名字的原因,我们可以说“给我所有的苹果”,而不是描述一个苹果是(不是)苹果,或者单独列出每个苹果。

我们可以将每个苹果抽象为具有个人历史的独特存在对象。 我们甚至可以从“苹果”的概念进一步抽象,而进入水果,食物或细胞的非常抽象的领域。
我们如何命名:
在代码中,我们确实以一种奇怪的方式命名。
在日常生活中,我们会为不必要的事物命名:通常是因为我们碰巧遇到了一个没有名字的事物。 在编程中,我们命名事物是因为我们正在积极选择遇到它们。
我们称它们为“存在”:当我们发现需要填充时,就命名解决方案以使其成为现实。 如果这没有引起您的注意,那么您需要再考虑一下。
名称为盒子:
您可以将名称想象成一个空盒子,然后在空盒子中填满东西。 这是一种奇怪的思考方式,但也许对您有用。 从某种意义上讲,这是有道理的,因为程序员经常使用这些名称,然后转储内容并用新内容填充它们。

要理解这种思维方式,您需要了解程序员很少考虑单个个体或单个事物。 他们正在考虑庞大的清单,并希望在整个清单上执行相同的指令。 如果他们想对单个人或对象执行某项操作,则不需要程序,只需手动执行即可。 就其本质而言,程序适用于许多人。
学习名称:
在代码中,我们可以命名,以便我们可以轻松地查询,操纵和控制命名的事物。
无论您使用哪种语言,都有自己的名字和需要学习的名字:游戏中内置的名字。 您将要建立的魔术是许多不同魔术中的一种。
除非您打算用机器代码构建自己的语言(即使您这样做!),否则您将需要学习其中一些内置名称。 在不了解基本名称的情况下,您无能为力。

我们使用的名称可能会感到随意和毫无意义,但是请密切注意您命名和定义事物组的方式。 我们的排序方式具有强大的功能(无形的局限性)。 发生的一切都取决于您如何组织信息。
号码:
数字是内置名称。 它们是事物的表示。 由于编码的性质以及数学家的性质,数字通常直接写在代码中,因此根本无法定义它们。

我阅读(或观看)的大多数编码教程都是从向您展示如何在终端中进行算术开始的。 除非您理解其中的含义,否则这将很无聊:我们可以使用较小的数字来完成大事情。
数字是理解或分类世界的有力方法。 由于它们彼此之间的联系方式,它们使查看模式和玩长时间游戏变得非常容易。
享受数字的力量,但永远不要忘记它们是什么。 它们看起来纯净透明,但这是一个谎言。 数字就是名称:虚构的分类表示。
0、1、2、3、4、5、6、7、8、9只是符号列表。 代表数学概念的符号。 计算机中没有数字,只有位模式。
问题:
所有代码都与解决问题有关。
在代码中,就像在生活中一样,所有问题都取决于情况。 那就是:没有问题总是一个问题。 饱餐不是问题。 快速吃饱不是问题。

问题本身始终是这种情况的一部分。 不要以为问题与情况无关而犯错。
没有什么比问题更自然的或自然的了。 它属于情况,而情况也属于它。
知道问题:
解决问题所花的时间应该更多。 您需要听到或阅读该问题,然后需要开始解决它。 问题的大部分不是问题的组成部分,而是偶然的情况。

您需要能够确定x(无论x是什么)阻挡所需状态的精确交点。 可以移动吗? x可以转换吗? x的作用是什么? 它如何适应较大的情况?
流程:
在考虑问题时,我们实际上是在讨论运动,在考虑流程。 如果没有需要的流量,就没有期望的运动,那么就没有问题。

要清楚地看到问题,您必须清楚地看到自己的流程。 你怎么了 它被剥离到其基础部分了吗? 是否存在不必要的复杂性和混乱性使其难以识别?
最重要的是,为什么需要此流程?
法术
一旦确定了问题和流程,就可以施展法术了。
拼写是您输入正确的单词和/或数字时发生的事情。 基本的法术内置在代码中。 它们可以放在一起做奇怪的事情。 您需要学习咒语,就像学习名称一样。 然后,您可以使用这些咒语和您自己的咒语来制造魔法。
好的咒语具有响应能力和灵活性。 他们在微小,无关紧要的环境中工作,并且在巨大,巨大的环境中工作。 他们很适合他人,而且他们一个人工作也很好。 直觉是无价的。
咒语可能看起来像是要使您的梦想成为现实,但它们远不止于此。 好的咒语是使现实与自身保持一致。 良好的法术是为了使物品畅通以达到最佳流动。
代码是魔术。 制造魔术是世界上最真实的生活方式。
