《No, Seriously, Why Should I Learn to Code?》Posted by Al Sweigart in learningtocode - 中译版

不,说真的,为什么我们应该学习编程

由 Al Sweigart 发布

       极客们【geeks】接替获得了这片地方。几十年前,如果你在聊天室里和朋友聊天,你就会成为一个社交尴尬的书呆子。如今做同样的事情意味着你是一个典型的Facebook用户。宽带互联网连接和智能手机接管了技术上始于20世纪70年代PC开启的信息时代,并将其推向日常主流生活。

       伴随着这种文化变化是一种社交焦虑:我应该学习编程吗?编程是新的读写能力么?我会编程还是被编程?这不是一种新的焦虑。这是纽约时报的一篇文章,Personal Computers; Does Everyone Need to Learn Programming? 它写于1984年。

       与所有恐慌一样,企业家和权威人士(包括我自己)从木工中走出来提出他们的意见或推销他们的产品。软件开发人员Jeff Atwooda 提出了 a plea to not learn how to code (这是我非常不同意的立场)。有许多网站和新手训练营(从免费到高价),教授初学者编程。他们中的大多数(在我看来)都很糟糕。

不要误会我的意思:你应该学会编程。但是在这种炒作中迷失了一个直白的原因:不,说真的,为什么我应该学习编程?

以下是您应该学习编程的虚假原因,您可以在大多数人中找到类似像这样的每个人应该学习编程的说辞:

  • 成为一名软件工程师并赚取六位数的薪酬。如果您有兴趣成为开发人员,请务必跟进。但如果你喜欢现在的职业,你就不必离开它。世界需要的不仅仅是软件开发人员。

  • 制作下一个Facebook或Flappy-Bird并成为百万富翁。大多数创业公司都失败。软件初创企业需要的编程技能远远超过Codecademy【是一家国外在线学习编程知识的网站】全部所能提供的,而编程并不是创业时最重要的技能。

  • 培养批判性思维和解决问题的能力。呃…有点儿对。但是,出于这个原因的人经常会忽略这究竟意味着什么或为什么编程培养它们。

  • 你可以把它放到简历中去。呃…还是,挺对,但是如何编程适用于大多数非开发人员的工作是没有陈述的。

  • 建立一个网站。 HTML不是一种编程语言,而且网页设计是一种与编程不同的技能。但无论如何,如果你只想要一个网站,请注册一个免费的WordPress博客。

  • 因为其他人都说你应该学习编程。这是做任何事情的可怕理由。

在我说出真正的原因之前,你,你的朋友,你的邻居,你的猫,每个人都应该学会编程,考虑这个情况:

       一位数学老师正在上关于对数、二次方程或其他什么的课,学生问他:“我什么时候才需要知道这个?”

       “很可能永远不会,”老师毫不犹豫地回答。 “大多数工作甚至很多职业都不会要求你知道除基本算术或一点点代数之外的任何数学。”

       “但是,”老师继续说道,“让我问你这个问题。为什么人们去健身房举重?他们都打算成为奥运举重运动员或专业健美运动员吗?他们是否认为有一天他们会找到一位被困在200英镑酒吧钟下的老太太说:“这就是我训练的目的。””

       “不,他们举重,因为它会让他们变得更强壮。学习数学很重要,因为它会使你更聪明。它会迫使你的大脑以一种通常不会思考的方式思考:一种需要精确,纪律和抽象的方式。这不仅仅是死记硬背,做出美好的事物,或者弄清楚某人的期望以及如何安抚他们。做数学作业就是练习那些有客观正确和错误答案的严谨思维。数学无处不在:它出现在很多其他科目中,并且在不同的文化中具有普遍性。所有这一切都是以一种新的方式思考的实践。能够以新的方式思考,比任何事情都重要,这将使你为一个不可预测、甚至是危险的未来做好准备。“

学习计算机编程,即使你不打算成为一名软件工程师,也有三个类似的理由去追求它:

  1. 学习编程也是很好地训练精确,有纪律和抽象思维。程序要么运行,要么不运行。它可能存在直接或微妙的bugs,需要分析和集中注意力。但与数学不同,程序可以立即实现。 (数学家,请不要因为这样说而射杀我。)

  2. 编程将您的计算机从家用电器转换为功能强大的工具。无论你是办公室工作,是学生,还是只是上网,人们都会使用电脑来完成工作。但是一些繁琐冗长的计算机任务是如此具体或依赖于前后关系,以至于没有人制作软件来完成它。 (我的下一本编程书正好解决了这些问题。)即使没有深入的编程知识,编程也会成为一个巨大的生产力倍增器。电脑无处不在;它们应该是工具,而不是电器。工具是你磨练的东西,电器是你更换的东西。

  3. 学习编程很好地训练学习本身。专业软件开发人员每天使用Google来回答问题或查找他们工作的文档。在编程过程中,您将提出几个问题,要求您寻找答案。谷歌搜索本身就是一项技能:找出要使用的关键词,在文字工厂网站上识别无用的建议和通用陈词滥调,知道如何提问。 (最后一个问题是如此复杂,以至于有它自己的24页的常见问题解答。)这些不是你要回答的任意字词问题或数独难题。学习编程包括学习如何为自己找到真正的帮助。

       Cory Doctorow写了一篇文章,即使在学习编程之前,我们也应该教孩子们如何使用正则表达式。 “正则表达式”是指定文本模式的方法。您的文字处理软件很可能允许您使用正则表达式来查找和替换其功能。正则表达式可用于应用程序的搜索功能。这是一种可以放大用户能力的技能。一旦大众熟悉了正则表达式,软件开发人员将越来越多地在功能更强、功能更强大的应用程序中使用它们。

       编程也是如此。想象一下,如果大众在基本编程方面通晓,软件会是什么样子。我们可以使用API而不是应用程序。用户可以将他们使用的不同服务和程序绑在一起。它将拆除Facebook,苹果,Twitter和谷歌为维持其垄断而建立的围墙花园。它将为改善信息时代铺平道路,就像印刷机提高识字率一样。

       人们可以学习很多技能,使他们成为全面发展的人:演奏乐器,公开演讲,预算编制,急救,种植植物,有说服力的写作,保姆,识别骗局,等等。

       但是编程在这些技能中是独一无二的。编程是你每天都在使用的工具上的一项实用技能。学习它为训练你的大脑提供了大量但并非毫无意义的智力障碍。它可以节省你在计算机任务上的时间,同时让你看到以前不可行的成就。这就是你应该认真学习编程的原因。
 

作者:Al Sweigart
以上内容,自己翻译,可能有误,可参考:《No, Seriously, Why Should I Learn to Code?》

点我回顶部

 
 
 
 
 
 
 
Fn.

猜你喜欢

转载自blog.csdn.net/Enderman_xiaohei/article/details/89429793
今日推荐