普通人如何学习编程

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

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,因为它很容易让你感到提高了生产力

学习资源

  • 26
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
普通人学习AI编程,首先应该具备一定的计算机基础知识和编程知识。如果没有编程经验,可以通过在线教程或参加编程培训来学习基础的编程语言,如Python或Java等。然后可以进一步学习机器学习和深度学习的基本概念和算法。 学习AI编程的关键是通过实践来加深理解和应用知识。首先可以找一些开源的AI项目进行学习和实践,例如在Github上有很多开源的AI项目可以参考。可以先从简单的项目开始,逐步增加难度和复杂度。同时还可以参加在线AI编程竞赛,与其他开发者进行交流和切磋。 此外,利用好各种资源也是学习AI编程的关键。可以参考一些经典的AI教材和学习资源,例如《机器学习》、《深度学习》等。在网上还有很多开放的课程和教学视频,例如Coursera上的《深度学习专项课程》和网易云课堂上的《人工智能基础》等。可以根据自己的需求和兴趣选择适合自己的学习资源。 另外,了解和关注最新的研究和进展也是不可或缺的。可以关注一些AI领域的学术会议和期刊,如NeurIPS、ICML、CVPR等,通过阅读和学习最新的研究成果来拓宽视野和深化理解。 总之,学习AI编程需要具备基础的计算机和编程知识,并通过实践、利用资源以及关注最新进展来不断提升自己的能力。随着不断的学习和实践,普通人也可以掌握AI编程的技能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值