我一直听说,编码语言的语法和语法在很多方面与外语相似,但对我来说,外语课程比计算机科学更令人生畏。使我学习意大利上大学的时候,这是找工作的不切实际的选择,但是我相信当我决定学习时,它帮了我很多忙斯威夫特。这并不是说你必须这样擅长外语与代码,但是现在学习的框架代码,类似于学习外语(您可能会发现这有助于学习外语!)

学习一门外语

当我们开始学习一门外语时,马上击球,我们掌握到的东西直接可翻译,像““CIAO”为“你好。”我们开始学习规则等概念的不同类型的代词,帮助我们把作品放在一起:我们可以说“联合国甘蔗”为“”一个狗和“il甘蔗”为“”这个狗。”我们学会共轭允许我们造句子的动词,像“联合国甘蔗”(我有一只狗)和“海联合国甘蔗”(你有一只狗)。这些作品像砖头,我们堆栈结构。随着我们获得更多的砖头,我们可以建立更大的和更有创造性的结构。

在学习一门外语的早期阶段,有时我们希望能够说些什么,我们还没有学会了语法。意大利的第一天,我学会了自我介绍与“美智子(我的名字是乔),但是我还没有学会如何共轭动词或处理反身代词。我刚刚把这个短语当作具有特定含义的语言块,但个人砖没有意义。

不理解这些砖头会很不舒服(我觉得很不舒服),但随着时间的推移,我们学习如何解构这些结构和使用他们的砖更创造性地在自己的结构。我们可能偏好特定模式和砖在整个过程中,避免使用一些一起,但次数越多我们的经验结构,新的和以前看到的,随着他们被分解成砖块的过程,我们会变得更加舒适。我们的流利程度是我们进步的尺度;也就是说,我们使用砖块和结构的能力和信心(我们可能并不总是完全理解),我们必须用我们的新语言沟通。

学习计算机语言

学习计算机语言和外语最显著的区别是计算机语言的抽象性。所以这些语言映射到彼此自然的。我不认为像一个电脑,所以学习一门计算机语言的初级阶段是不同的。

我们必须承认,我们不可能理解为什么我们正在学习某些概念,甚至它们存在的原因。我们可以,然而,仍然集中在砖。我们可能不完全理解为什么我们通过在变量信息,但我们可以学习如何让他们和理解变量和常量的区别。我们可以学习语法使用数组,字典,结构,循环,等。很容易。

当涉及到更大的结构时,比如制作功能,符合代表们的要求,学习之类的东西面向对象编程-我们可能需要从教程中复制模式和结构一段时间,因为我们开始理解它们。这可能是不舒服,当我还没有学会在意大利反身代词,但自我介绍。然而,一点一点地,我们的流利程度将会提高,直到“啊哈”当我们理解一个新结构,并能够在自己的创造性努力中独立使用它的砖头时,时刻就来临了。例如,我真的很挣扎Swift中的闭包,但有一段时间我用它们无论如何只要模式后我看到在树屋项目和代码片段。一个晚上,我在3点醒来用““啊哈”想,关闭突然变得有意义(真实的故事)。

找到你最好的资源

在我进入斯威夫特的旅程开始时,每个人都说,文档将是我最好的朋友和我的第一首选,但我也会给出不同的建议对于那些刚刚开始。就像你不会拿起字典写在意大利一个初学者语言类的第一天,当您还没有代码的词汇表时,依赖文档是没有意义的。您必须找到以您能够理解的方式呈现信息的资源(如Treehouse)。文档对你会有用的一天,但在那之前,好奇地看着它,只想注意你可能理解的东西。不要让它使你认为你不能这么做,因为它似乎英语(或您正在阅读的任何语言),你只是不明白它。用新的计算机语言开发词汇需要时间。

实践-耐心-完美

就像我必须练习意大利如何增加我的流利,我必须练习斯威夫特或者我正在学习的任何语言。被我的口音和沮丧气馁,我的错误不会帮助我成为一个更好的程序员或意大利议长。我要退一步,看我走了多远,和有耐心的过程。总有一点我可以学习,和更大的飞跃将建立较小的步骤。


乔安娜·林根菲尔特是一个树屋Techdegree毕业,,目前是一个iOS开发者在里士满Mobelux,弗吉尼亚州。她喜欢蹦床,并且是一个热衷于烦躁的收藏家。

iOS感兴趣引导课程,让你从初学者到找工作的开发者?看看我们Techdegree iOS中发展。
免费7天Techdegree试验