我讨厌讲述我如何学习编程的故事。
三年级时,一个朋友给我看了一本书,是他在学校图书馆找到的,关于用 BASIC 编程语言制作小游戏的。我痴迷于任天堂,并迷上了创造自己的视频游戏的想法。我开始编程并坚持了下来,大学主修了计算机科学,之后成为了一名软件开发人员和科技图书作者。
我的故事强化了一种关于成为程序员需要什么的常见且具有误导性的观念。你以前听过:聪明的孩子在学会走路之前就学会了编程,并着手编写一个让他们成为互联网百万富翁的应用程序。或者是成绩平平的天才,因为他们把时间花在 Nostalgia-Whatever-64 PC 上,并跳过大学直接进入行业。这些“书呆子继承地球”的科技百万富翁和亿万富翁的故事在流行文化中随处可见。
表面上看,我的故事听起来很像那样。这些说法让人觉得,如果你没有早点开始,没有在成年之前完成 10,000 小时的练习,也没有主修计算机科学(或者辍学去创办一家初创公司),你最多只能成为一名平庸的软件开发人员。我在我浏览的编码论坛上看到的常年“我年纪太大学编程了吗?”的帖子中看到了这一点。答案当然是“不”,尤其是当它来自那些承认自己已经(天哪!)24 岁的焦虑发帖者时。这个担忧的愚蠢之处被 一篇讽刺文章 完美地捕捉到:“我已经是个受精卵了。现在开始编程生涯晚吗?”
我可以权威地说,这种担忧——以及我们把年轻的编程神童捧上神坛——是无稽之谈,因为我知道我自己的编程之旅的真相。我可能在小学就开始了,但事实是,在接下来的九年里,直到我高中毕业,我的程序几乎没有发展出复杂性。这主要是由于 Web 1.0 时代:没有维基百科、StackOverflow 或获得知识共享许可的书籍可用。我有一个良好的开端,但这与今天的资源相比算不了什么。
周末学习
我在三年级之后的九年里学到的一切编程知识,任何人在十几个左右的空闲周末都能学会。 当我听到有人随意吹嘘他们从小学就开始编码时,我的眉毛会怀疑地皱起来,而不是钦佩地抬起来。
三年级学生会编程令人印象深刻,但我编写的程序肯定不是。它们大多是我从第一本学校图书馆的书上抄来的猜数字类型游戏的变体。当我遇到“12 位神童应用程序开发人员”或“8 位值得关注的青少年科技专家”的列表时,我已经学会了仔细观察。这些年轻人制作的软件很少能达到宣传的高度。运气在他们的故事中起着巨大的作用:他们在正确的时间对一个简单的应用程序有了正确的想法,这个应用程序在像 Flappy Bird 这样的潮流消退之前就抓住了人们的眼球。
这并不是要贬低他们的能力:他们仍然必须编写软件。但我想消除这样一种想法,即年轻的神童通常会制作出与经验丰富的工程团队相同水平的软件。并非所有孩子都会发布应用程序,但这并不意味着并非所有孩子都有能力做到这一点。我小时候学到的最宝贵的东西是,编程并不是一项不可能的、神秘的技能。 我小时候就能学会编程的原因是因为我不知道编程对于孩子们来说应该太难。不幸的是,许多成年人已经成功地说服自己,对于没有从小就开始学习的成年人来说,编程太难了。
释放潜力
我想消除这种误解,因为计算机具有通过编码能力释放的巨大潜力。我编写 使用 Python 自动化枯燥的东西 不仅是为了完全的初学者,也是为了那些不一定想成为软件工程师的人。有很多方法可以提高其他职业和家庭爱好者的工作效率。本书以开放的 Creative Commons 许可发布:任何人都可以在线阅读全文。本书的重点不是为了学习而学习编码,而是自动化计算机用户以前必须通过大量繁琐的打字和点击来完成的实际任务——如果您没有实习生来完成这些繁琐的任务(或者如果您是被委派这些任务的实习生),编程可以为您完成这些任务)。
计算机已成为日常生活的中心。如果你 20 年前每天都在聊天室里和朋友聊天,你就是个书呆子。今天,如果你做同样的事情,你只是个普通的 Facebook 用户。不是每个人都必须成为软件工程师,但编码能力正变得越来越重要。因此,很多人担心他们现在才开始学习是不是太晚了。
一个违反直觉且未被充分认识的事实是,即使计算机变得更加强大、复杂和复杂,学习编程也变得更容易了。大大简化了。现代编程语言消除了许多繁琐的技术细节。计算机科学学位有所帮助,但绝不是编写简单应用程序或小型省时脚本的必要条件。互联网上有大量的教程,现在比谷歌时代更容易找到。
因此,如果您一直对学习编码感兴趣,但被编程的“脑科学”、“火箭手术”的名声吓倒了,请不要担心。您学习编程永远不会太晚。
6 评论