教自己编码的感觉:一个扩展的隐喻

关于编程这件事很奇怪。 人们认为他们需要学习“编程”,就像这是一件二进制的事情。 或者他们说“编程”太难了,就走开了。

就像在说:“我要学习烹饪。” 但是您从未见过厨房,而且您实际上不知道厨房一词,即使“沸腾”是一种新事物,但懂得烹饪的每个人都可能会因为尝试在平底锅中煮沸水而取笑您。令人振奋的事情,您只会听说过非常擅长烹饪的厨师。 他们似乎花了很多时间争论绝对最好的技术和工具,以制作出您从未听说过的东西,但这听起来令人印象深刻。

也许木工是一个更容易扩展的隐喻。 你说:“我将学习建筑。” 有了数字本地人的所有信念,您就可以访问互联网并尝试找到合适的搜索词。

您会发现一个YouTube视频,向您展示如何制作漂亮的镶嵌木花瓶,并观看它,这很神秘。 勤奋的您会写下工匠在木材车床这种特殊应用中给出的提示。

好吧,接下来是什么? 有点理论,但是每天呢? 您将必须学习此“代码”内容,对吗? 一种语言?

在隐喻中,假设您需要学习如何使用锯。 您已经听说过锯,并且您肯定会需要知道如何使用其中的一种。 有很多不同的类型:应对锯,钢锯,自动曲线锯。 整体上,“锯”看起来像是一块,所以您基本上是随机选择一个。 您已经看到人们谈论手锯,让我们尝试一下。 希望不会后悔学习这本书带来的任何影响!

太好了,现在您有了锯。 一位对您的事业友好的人给了您一些帮助,并把您指向Codecademy -er,这是一个包含一些不同锯切技术练习的网页。 这似乎只是事情,所以您每周花一两个小时花费几个月。

起初,感觉就像是进步。 但是随着锯切的木头堆积起来,您会感到不舒服,因为您仍然不是木匠。 您对锯感到很舒服; 您不应该觉得自己现在正处于事物的内部吗?

你当然知道。 您沮丧地放下了锯。 您现在可以使用锯,但是到了最后,您认为“学习木工”意味着您可以制造东西。 在完成所有这些工作之后,您仍然不知道从哪里开始。

有什么解决方案? 以某种方式,您必须神奇地找到一个“ in”。 您必须找到知道他们在做什么的人。 该人可能会看着您说,似乎下一步很明显,“您必须找到一个项目。您必须构建一些东西。”

当然可以 但是你不知道怎么做。 那就是问题所在。 您甚至都不知道项目的外观。 毫无疑问,你问,“像一个镶嵌花瓶吗?”

不,不像镶嵌花瓶。 像……一个盒子。 一个矩形的。 “相信我,”您的新朋友说。 “这很简单。” 他们会给您一把锤子,并有帮助地告知您:“在这里,我喜欢这种锤子。其他人会告诉您,不同种类的锤子更好,但这是一个很好的入门。”

“锤子”,你对自己重复一遍,写下来,当你的朋友走开时。 然后,“等等!” 你喊。 “什么是锤子?锤子是干什么用的?”

有点可悲的是,您看着您的锯。 “我还需要使用这个吗?还是现在只是锤子?”

很抱歉打乱这个比喻,但是我不确定如何传达一个新程序员的偏执,他们遇到了首选的文本编辑器,知道他们学习的这种代码语言可能正在某个地方尝试弄清楚下一步该怎么做。

还是我的时候,我在网上看到了一个教程,其中包含一些我可以复制和粘贴的以下代码。 有人告诉我下载Sublime,并向我展示了如何在计算机上打开终端。 该教程看起来很棒,但是我不知道该如何处理两个打开的窗口。 它们似乎相同,在黑色背景上有一组陌生的彩色单词。 一段时间以来,我最大的困惑是弄清楚我应该复制并粘贴到哪个窗口中。

因此,无论如何,您都用锯,锤子和一块木头站在那儿。 用锤子敲打木头,它不会像锯子那样分裂成两半。 您再试一次。 还是不行,所以您丢弃锤子(似乎没用)并穿过板子。

太好了,但我们仍然站在:我如何制造盒子? 您看到了更多的长度。 您一堆地看着十堆木头。 您扔掉了木头。 目前尚不清楚这种长度和类型的木头是否会成为盒子的一部分。 您对盒子了解多少?

您的朋友回来了,您感到很愚蠢。 您已经花了一个小时砍木头,现在却把它扔掉了。 您打捞一块并将其展示给他们。 你的朋友感到困惑。

“是的,这是一块木头。你有什么问题?”

你能问什么 这个问题肯定是愚蠢的。 “嗯。盒子是用什么做成的?”

您的朋友很有帮助地在您面前制作了一个盒子。 它需要十分钟,但是您对这个想法感觉更好一些。

您拿起锯子,砍下一块木头,然后意识到自己已经忘记了下一步。 耐心地,您的朋友会引导您完成每个步骤。

您制作另一个盒子。 您仍然需要大量帮助,并且很难陪伴朋友的时间。 但是您感觉也许现在可以制造箱子了。

你笑了 然后你皱眉。 您认为,“好的,我是简单盒子的制造商。但是我不认为我真的是木匠。”

无论如何,您都在继续制造盒子。 您制作了一些不同的尺寸和形状。 您听说过盖子,也可以尝试制造。

您开始遇到正在盖房子的人。 您与他们交谈,觉得自己像个骗子。 您开始讲这种语言。

最终,您认为也许可以在房子上工作。 许多工具似乎相同。

您遇到一个需要帮助来建立第一个盒子的人,您会感到很奇怪,因为您可以帮助他们。

然后突然间您想知道:我现在是一名真正的程序员吗?

回到厨房的比喻中,您就是可以制作通心粉和奶酪的人。 那你是厨师吗? 当然。 你知道锅是什么。 你可以养活自己。 你能给一只鸡蝴蝶吗? 您现在不需要。 但是您开始思考,“如果必须的话,我可以弄清楚”。

想更多地了解凯尔西的著作吗? ifoundthe含义oflife.com/adventures上 查看她的博客。