不要害怕你不懂的东西。
一开始学习一些复杂的新事物往往始——如果觉得很容易,那么可能是你已经知道的东西,也可能并不能真正检验你的知识(阅读如何解决一个物理问题,认为它是“合理的”,解决一个问题比用刚学的工具容易得多)。感到累是个好现象——说明你真的在学习,一直专心做,感觉好一点,学习就会变得轻松。
在我看来,一个新人在这方面甚至有一点优势:当你积累了一点经验,只做你已经知道怎么做的事情,而不是学习新事物时,它会让你感到轻松和舒适。这带到一个停滞期,你只是重复你已经知道该做什么,就像一个人只能用吉他弹一首歌,他总是弹同一首歌一样。对于一个新人来说,一切都很困难,但这不应该是一个新人真正的选择。
第一次学复杂的东西应该会有点痛苦——你应该习惯这种感觉,因为这是一件好事,这意味着你在成长。不要害怕,因为你觉得自己不够聪明。因为有太多的东西要学,有太多的路要走(就计算机科学而言,有太多的东西,如计算机图形学、计算机安全、机器学习、算法、移动、网络、基础设施等)。因此,有一种成长的心态,走出舒适区去学习新事物是非常重要的。
通过阅读一本关于编程的书来学习编程,就像通过阅读一本关于跳伞的书来学习跳伞一样。你可能需要读一本书(你需要从一开始就开始),但除非你同时写一些小程序,否则你能得到的东西是有限的。木匠通过制作东西来使技术更加熟练,作家通过写文章来使写作更加优美,程序员通过编写代码来提高编码水平。这并不意味着你不应该读书,也不意味着一本好书不能给你带来价值。但这很容易让你陷入一个误解:你只是在那里读关于编程的书,而不是自己做任何事情,这会让你感觉很容易阅读和做。然而,当你真正开始编程时,你会发现很难想象一些程序。
我同意ESR的说法,Python编程的起点是一门好语言,有一个好的学习网站抱怨Python,它是专门为初学者设计的,在教学过程中使用了一些练习。
一开始,你会发现语法很难理解。当你开始学习时,你会花很多时间在语法上。因为每种编程语言都有不同的语法,所以它们看起来非常不同。当你开始掌握语法时,你会更加关注如何解决问题以及使用什么数据结构。最后,您非常精通使用通用数据结构,然后您的重点将转移到更高层次的抽象和更通用的设计或基础设施,这使得软件开发更容易在未来大规模管理或改变。