我已经是个受精卵了。现在开始学编程晚吗?

还没有读者喜欢这个。
Fill in: True of False

Opensource.com

我讨厌讲述我如何学习编程的故事。

三年级时,一个朋友给我看了一本书,是他在学校图书馆找到的,关于用 BASIC 编程语言制作小游戏的。我痴迷于任天堂,并迷上了创造自己的视频游戏的想法。我开始编程并坚持了下来,大学主修了计算机科学,之后成为了一名软件开发人员和科技图书作者。

我的故事强化了一种关于成为程序员需要什么的常见且具有误导性的观念。你以前听过:聪明的孩子在学会走路之前就学会了编程,并着手编写一个让他们成为互联网百万富翁的应用程序。或者是成绩平平的天才,因为他们把时间花在 Nostalgia-Whatever-64 PC 上,并跳过大学直接进入行业。这些“书呆子继承地球”的科技百万富翁和亿万富翁的故事在流行文化中随处可见。

表面上看,我的故事听起来很像那样。这些说法让人觉得,如果你没有早点开始,没有在成年之前完成 10,000 小时的练习,也没有主修计算机科学(或者辍学去创办一家初创公司),你最多只能成为一名平庸的软件开发人员。我在我浏览的编码论坛上看到的常年“我年纪太大学编程了吗?”的帖子中看到了这一点。答案当然是“不”,尤其是当它来自那些承认自己已经(天哪!)24 岁的焦虑发帖者时。这个担忧的愚蠢之处被 一篇讽刺文章 完美地捕捉到:“我已经是个受精卵了。现在开始编程生涯晚吗?”

我可以权威地说,这种担忧——以及我们把年轻的编程神童捧上神坛——是无稽之谈,因为我知道我自己的编程之旅的真相。我可能在小学就开始了,但事实是,在接下来的九年里,直到我高中毕业,我的程序几乎没有发展出复杂性。这主要是由于 Web 1.0 时代:没有维基百科、StackOverflow 或获得知识共享许可的书籍可用。我有一个良好的开端,但这与今天的资源相比算不了什么。 

周末学习

我在三年级之后的九年里学到的一切编程知识,任何人在十几个左右的空闲周末都能学会。 当我听到有人随意吹嘘他们从小学就开始编码时,我的眉毛会怀疑地皱起来,而不是钦佩地抬起来。

三年级学生会编程令人印象深刻,但我编写的程序肯定不是。它们大多是我从第一本学校图书馆的书上抄来的猜数字类型游戏的变体。当我遇到“12 位神童应用程序开发人员”或“8 位值得关注的青少年科技专家”的列表时,我已经学会了仔细观察。这些年轻人制作的软件很少能达到宣传的高度。运气在他们的故事中起着巨大的作用:他们在正确的时间对一个简单的应用程序有了正确的想法,这个应用程序在像 Flappy Bird 这样的潮流消退之前就抓住了人们的眼球。

这并不是要贬低他们的能力:他们仍然必须编写软件。但我想消除这样一种想法,即年轻的神童通常会制作出与经验丰富的工程团队相同水平的软件。并非所有孩子都会发布应用程序,但这并不意味着并非所有孩子都有能力做到这一点。我小时候学到的最宝贵的东西是,编程并不是一项不可能的、神秘的技能。 我小时候就能学会编程的原因是因为我不知道编程对于孩子们来说应该太难。不幸的是,许多成年人已经成功地说服自己,对于没有从小就开始学习的成年人来说,编程太难了。

释放潜力

我想消除这种误解,因为计算机具有通过编码能力释放的巨大潜力。我编写 使用 Python 自动化枯燥的东西 不仅是为了完全的初学者,也是为了那些不一定想成为软件工程师的人。有很多方法可以提高其他职业和家庭爱好者的工作效率。本书以开放的 Creative Commons 许可发布:任何人都可以在线阅读全文。本书的重点不是为了学习而学习编码,而是自动化计算机用户以前必须通过大量繁琐的打字和点击来完成的实际任务——如果您没有实习生来完成这些繁琐的任务(或者如果您是被委派这些任务的实习生),编程可以为您完成这些任务)。

计算机已成为日常生活的中心。如果你 20 年前每天都在聊天室里和朋友聊天,你就是个书呆子。今天,如果你做同样的事情,你只是个普通的 Facebook 用户。不是每个人都必须成为软件工程师,但编码能力正变得越来越重要。因此,很多人担心他们现在才开始学习是不是太晚了。

一个违反直觉且未被充分认识的事实是,即使计算机变得更加强大、复杂和复杂,学习编程也变得更容易了。大大简化了。现代编程语言消除了许多繁琐的技术细节。计算机科学学位有所帮助,但绝不是编写简单应用程序或小型省时脚本的必要条件。互联网上有大量的教程,现在比谷歌时代更容易找到。

因此,如果您一直对学习编码感兴趣,但被编程的“脑科学”、“火箭手术”的名声吓倒了,请不要担心。您学习编程永远不会太晚。

标签
User profile image.
Al Sweigart 是旧金山的一名软件开发人员和科技图书作者。他撰写了几本 Python 书籍,这些书籍根据知识共享许可在 https://inventwithpython.com 上提供

6 评论

非常有趣的故事。学习编码——或任何其他东西——永远不会太晚。

虽然我是在 20 多岁开始编程的——大约 45 年前——但大部分都是为了我自己的用途,例如任务自动化。而且只是因为。我做过从汇编程序到 BASIC、C、BASH 等等的一切。我现在仍然为了乐趣而编码。

我有一个关于一个名叫 Charley 的人的真实故事,你可能会觉得有趣。

早在 60 年代后期,我就开始在俄亥俄州托莱多的一家化工厂工作,以挣钱重返大学。大多数人都有趣且有趣,但这个人 Charley 总是非常消极。他总是抱怨工作有多么糟糕,抱怨他有多么讨厌公司、我们所做的工作以及管理层。

有一天,我对持续不断的负面情绪感到非常恼火,所以我建议他可以尝试找另一份工作。他的回答是这就是他所知道的一切。所以我对他说他可以回到学校学习其他的东西。他回答说:“我太老了,学不了任何新东西。”所以我问他多大了。他说他 36 岁。

我当时就决定,我永远不会停止学习新事物。而且我确实没有。如果我采取了他的态度,我就永远不会了解 Linux 和开源软件。

继续努力,永不停止学习!!

我不确定我究竟是什么时候学会编程的。我一直都说那是我大约 13 岁时在我的 486 上拿起 QBasic 的时候,但这真的不是真的,因为 1) 我在很久以前就摆弄过对我的 Apple IIc 上的 Applesoft BASIC 程序进行小改动,但可能不知道那是“编程”,并且 2) 我现在 31 岁,但我仍然在“学习编程”——因为这是一段永无止境的旅程。

我在高中时学了 BASIC,然后在大学里又学了一遍,但我没有主修 CS。当网络在 96 年“流行”时,我自学了 HTML,后来又学了 CSS,并且变得足够熟练,可以接一些零星的自由网站设计工作。但是,我过去(现在仍然是)是业务开发人员,我发现的是,成为了解网络、编程以及最终了解开源的业务开发人员是一条很棒的职业道路。即使我从未跳槽成为全职程序员,它也让我保持了对技术的亲身实践。

虽然我同意你可以在任何年龄学习,但随着年龄的增长,学习确实会变得更加困难。在办公室工作一天后,加上一些家庭时间,让孩子们上床睡觉,普通的 40 多岁的人就没有剩余的脑力坐下来花几个小时学习 Python 或 PHP 了。坦率地说,在一天中的那个时候你已经很累了。熬夜是年轻人的游戏 :)

不,我现在学编程还不晚。但是我现在“转行”当专业人士是不是太晚了,或者我必须安于“编程爱好者”的身份?

无耻插件 https://github.com/n8chz

我对编程语言的问题是,有太多语言可供选择,当你清楚地了解 IT 行业时,Java 或 C#(C++ Microsoft 语言)是主要使用的语言。如果你的预算有限,为了甚至被考虑获得一份工作,更不用说进入雇主的门槛,你应该学习(专注于)哪种语言?那里的典型职位发布列出了每种编程/脚本语言、平台、自动化、测试环境、构建、前端/后端应用程序、架构.../设计规范、m 层、m1.2 - m1.6、m2 - m5 等... 说真的,如果我拥有所有这些经验和知识,我绝不会坐在家里失业。我的最终姿态;一个人真的可以成为一名程序员,有一天可以在不先学习地球上关于编程的一切知识的情况下获得有报酬的工作吗?

我从初中就开始摆弄编程。在 47 岁时,我同意关于一天结束时会感到疲倦的评论;很难找到空闲的周末来狂学。但是,作为一名观察员,我看到编程是按照趋势发展的。我不认为新兴或长期回归的新手程序员必须学习一切知识。你只需要了解这项新技术,找到一个合适的领域并朝着专业方向发展。一旦到了那里,就更容易从其他领域学习一点点。外面有很多人已经比其他人更了解一切;我可以成为少数几个掌握新事物并将其发扬光大的人之一吗?我希望如此——那是我的目标。

© . All rights reserved.