美文网首页计算机语言程序员
普通人如何学习编程

普通人如何学习编程

作者: acherie | 来源:发表于2016-08-16 20:28 被阅读495次

现在,计算机已经融入到了我们生活的方方面面,手机、电脑、智能家居等。在计算机变得如此普遍的今天,是不是每个人都应该学习一点编程呢?

2013年,非营利性组织 Code.org 发起了“Hour of Code”的倡议,得到了很多著名人物和企业的支持(Is Computer Programming Hard to Learn ?),其中包括扎克伯格、比尔盖茨、苹果、谷歌,就连美国总统奥巴马都发布视频呼吁每个美国公民都学习编程。

李笑来老师建议必备的两个技能——英语编程。“改变自己”的辉哥(张辉)也在文章中提到过自己利用 python 写了一个群发邮件的脚本。

所以,这么多名人,牛人都呼吁大家学习编程,那么普通人学习编程到底有什么用?

普通人学编程有什么用?

主要有如下理由:

  • 教会我们思考
  • 提高效率,使生活、工作变得简单
  • 生活基本技能

编程教会如何思考

乔布斯在一次采访中说过:

Everyone should know how to program a computer, because it teaches you how to think.

因为程序就是对现实事物的抽象,而且,按照写好的逻辑运行。所以,编程能够锻炼我们的抽象思维能力逻辑思维能力

编程能提升效率

李笑来老师在《把时间当做朋友》中提到过:

学习班之后的岁月里,摆弄计算机给我带来了无数心灵愉悦,这些暂 且不论,只说一件事——在编写《TOEFL核心词汇21天突破》的过程中,倘若我没有稍多于常人的那点计算机知识,能自己编写一些批处理脚本,就不可能在那么短的时间里完成那样海量的工作。而且,如果没有这些技能,就算再花几倍的时间,也很难拿出具有与《TOEFL核心词汇21天突破》同样的质量的作品。而最终,质量保证了销量。

通过编程,我们能够很容易的处理大量重复性、低效率的工作,从而节省时间。而工作中很多地方都用到了编程来提高生产力,比如 Excel 中的宏,很多 Adobe 的产品(如 Photoshop, Illustrator, After Effects)都能使用 JavaScrpt 来自动化工作。如果你学习编程,就能使你的工作做的又快又好。

编程是基本技能

正如 Quora 问题 Should most young people learn to code? 中回答的那样:

  • 你会做饭,但你不是厨师
  • 你会开车,但你不是司机
  • 你会清理屋子,但你不是保洁阿姨
  • 你会疏通马桶,但你不是水管工人

所以说,不一定你非要是程序员,你才会编程。在计算机使用越来越广泛的今天,编程已经成为了一项基本技能

如果你不会编程,你就只能使用别人提供的功能。就好像你不会做饭,就只能下馆子一样,但是这样就不能很好的满足你对于健康、热量、营养的要求。

所以,学习编程更多的是满足我们私人订制化的需求。比如,今天我遇到一个使用 Excel 处理大量数据的需求。但是,我不会编程,可能就只能买别人开发好的脚本,或者自己花大量时间做大量重复性的工作。但是,如果你会编程,你就可以自己写一个脚本,最后可能快速、优雅的解决了问题。

而且,可以预见的是:在将来,计算机肯定会运用的越来越广泛,对我们生活的侵入越来越深。而会编程的人只是一小部分,那么我们的生活就完全掌握在了那一小部分会编程的人手中了。所以,学习编程,能够让我感到自由

普通人如何学习编程

现在,如果你觉得有必要学习一下编程,那么,我们就来讨论下——普通人如何学习编程?

为了解决具体问题而编程

最重要的一点:为了解决具体问题而编程。很多人会在学了几个月编程后,感觉并没有学到什么,这就是因为你并没有从中找到成就感。当你通过学习编程解决了自己具体的问题后就会感到巨大的成就感,比如我为了解决每天部署繁琐的过程,学习了 shell 脚本,只需要一个脚本就能部署了,这就给了我很大的正向反馈。而且当你为了某个具体问题而学习编程的时候,你就会知道,那些知识对我解决问题有用,那些可以暂时不学。编程需要学习的东西很多,所以必须做出取舍。

当并无具体的需求时,如果有兴趣,那也行。如果没有兴趣,只是觉得应该学习编程而编程的话。我建议你在学习了基本的知识以后(比如了解了这门语言能实现什么功能),给自己找一个目标(比如搭建一个个人网站,抓取某个页面的图片),然后实现它。有了目标再学习,效果会好很多。

使用Google和英文

为什么这两个东西如此重要呢?

第一、技术很多都起源于美国和欧洲,所以几乎所有技术的官方网站都是英文的。而学技术要学会使用官方文档,当然也是英文的。当然你也可以看翻译过来的资料,但是毕竟是翻译过一次的,所以很依赖于译者翻译水平的高低,而且这是已经被人理解过的二手的资料了。

第二、学会使用 Google 为什么也成为了必要。在你学习,开发的过程中会遇到很多的问题,这个时候会经常用到搜索工具。在编程领域,英文资源比中文资源多了不是一星半点。比如 stackoverflow(一个编程的问答网站)几乎包括了你学习编程时会遇到的各种问题的答案,以为这些问题很早以前就有人遇到过了。所以,遇到编程问题时,记得使用英文在 Google 上搜索答案

第三、学会如何提问,必看的文章是:《提问的智慧》。建议把这篇长文看完再提问。

找到合适的学习资源

编程可能是最适合自学的科目了,因为有大量的资源(书籍、视频、教程)可以选择。那么如何在海量的资源中选择适合自己的呢?

首先,我认为资源分为两类——书籍视频。如果你喜欢看书,那就找一本好书,如果喜欢视频,那就找好视频。那么如何区分好书和好视频呢——提问,你可以使用搜索引擎,询问身边的朋友。而且,一定要找与自己当前阶段契合的书籍和视频教程,并不是所有的书籍都适合初学者,所以一定要注意选择。最后,一定要看该语言最权威的书籍,肯定不会让你失望。

再者,要学会看官方文档,学会查官方手册教程手册的区别在于:

  • 教程:教你如何使用这门语言,可能很多东西不会提及
  • 手册:提供完整、全面的有关这门语言的信息(很多时候就是 API 手册)

学习的时候我们看教程,但是有了一定基础只有,要学会看官方的手册。因为手册包含了这门技术的方方面面,有一个完整的知识体系。它包含对这门语言原理的介绍,官方推荐的用法,API文档等,所以一定要学会看官方文档。

多练习,多讨论

古典老师提到学习的721法则,我觉得就很适合编程的学习:

  • 10%的时间自己学习
  • 20%的时间与人沟通讨论
  • 70%的时间去练习实践

编程是很需要练习的科目,看再多的书还不如在电脑上运行一次来的实在。学习编程要做到每天写代码,代码运行起来之后,可以极大的加深你对知识的理解。

还有就是要多讨论,多看别人的代码。讨论能够让人的思想碰撞,产生意想不到的火花。比如你思考一个问题的解决方案很久了,但是还是没有头绪,但是可能别人的一句话可能就会点醒你,这在编程上很常见。而且,通过看别人的代码我们可以学习更好的实现方法,更优的解决问题的逻辑,特别是牛人的代码

编程语言的选择

虽然最终都是在计算机上运行的指令,但是还是有很多语言我们可以选择,不同的语言可以实现不同的功能,那么普通人如何选择语言呢?

选择什么语言还是需要看你具体的需求是什么。如果你平时使用 office 比较多,那么可以学习 VBA。如果你需要自动化很多重复的工作,那么你可以学习 Python。如果你想要建造自己的个人网站,那么你需要学习 JavascriptHtmlCss。如果你没有具体的需求,那么我建议你学习 Python,因为它很容易让你感到提高了生产力

学习资源

相关文章

  • 普通人如何学习编程

    现在,计算机已经融入到了我们生活的方方面面,手机、电脑、智能家居等。在计算机变得如此普遍的今天,是不是每个人都应该...

  • CS资料

    王垠:编程的智慧如何掌握所有的程序语言 编程入门指南十年学会编程如何学习一门新的编程语言?——在学习区刻意练习程序...

  • 编程入门(五):编程开发工具这么多,我该如何选择?

    关于什么是编程、为什么学习编程以及如何选择编程语言,请点击下方链接: 编程入门(二):什么是编程?[https:/...

  • What most school don't teach

    普通人如何学习编程 现在,计算机已经融入到了我们生活的方方面面,手机、电脑、智能家居等。在计算机变得如此普遍的今天...

  • 如何用编程赚钱,你是想利用Java语言编程还是C/C++呢?

    如何用编程赚钱,作为一个编程程序员,不论你是大神还是菜鸟,学习编程的目的都是如何赚钱。你是想利用Java语言编程、...

  • 得到APP听书笔记---《跃迁:成为高手的技术》___古典

    《跃迁》___古典 高手与普通人的区别,普通人如何成为高手。 本书四个部分: 高手暗箱、高手策略、高手如何学习、高...

  • 如何学习编程

    工具 编程语言,代码文本,搜索引擎 方法步骤 学习编程唯一的就是实践,首先告诉自己想做什么。 例如做一个笔记本程序...

  • 如何学习编程

    做项目。 购买和阅读编程书籍。 做项目。 参加计算机科学课程。 做项目。 阅读编程博客。 做项目。 做是学习编程最...

  • 如何学习编程

    读张越的《如何学编程?》 什么是编程? 现代计算机的起点是莱布尼茨的一个梦想,将理性还原为计算,用强大的机器执行这...

  • 如何学习编程

    前段时间有位老师让我推荐C语言的书给他的学生,我针对如何学习编程,想了许久,于是有了下边的文字。我象征性地推荐了本...

网友评论

  • d66b64cb4291:好吧 还是学习英语,放弃微信读书看书
    d66b64cb4291:@acherie 你怎么才来?
    acherie: @小珂X 哈哈,用心就能做到60%,加一点努力就能做到80%
  • 苏苏1109:干货
    acherie:@苏苏1109 谢谢
  • 朋友有朋:谢谢,这几天正发愁,我该怎么提高自己,读了该篇文章学到了很多东西!
    acherie:@朋友有朋 谢谢你的肯定,其实也是因为朋友要学习编程,所以才写了自己的一点感悟,能起到帮助便是极好的。 :grin:
  • 道却春风不拂面:从中收获最多的就是学会思考,学会自己思考,解决问题的过程是美妙的。
    acherie:@不喝酒的酒晕子 恩,每次解决了问题就感觉成就感爆棚

本文标题:普通人如何学习编程

本文链接:https://www.haomeiwen.com/subject/aigpsttx.html