学还是不学,这是个问题
有很多想要学习编程的童鞋反映,自己处在想学,但又很犹豫的境地。听别人说编程很重要,是三大必备技能之一。但是到行动上,总是感觉不踏实,最好先翻翻黄历,看看是不是黄道吉日。
在和小伙伴的交流中,大致总结了大家思想上的困惑。快来看看,有几个你能对上号~
有用吗?
这个问题应该是学习编程乃至学习任何一门手艺最容易被问到的问题。
- 学钢琴有用吗?
- 学画画有用吗?
- 学跳舞有用吗?
很高兴,上面三个问题的答案好像都是有用。因为好像都能高考加分!其用处绝对是杠杠的。
那编程呢?
作为我这种视编程为兴趣,以此来体验思维快感,借此与大神发生思维碰撞的人,编程是生命不可缺少的部分。不过对大家,尤其是想学习编程的小白,究竟学了之后能给自己带来什么呢?让我来给大家举几个例子吧。
统计词频
笑来老师那本稿费从来都没有动过的书大家还记得么?老师是怎么做到让这本出卖出了两辈子还在大卖?对了,就是运用了词频统计。看看托福考卷中究竟有哪些单词需要考生记忆,从而让大家有针对性的背诵两千多单词而不是传说的一万个。
那这本书关键的一个技术活就是“统计词频”。对于不会编程的你,会不会觉得这个工作很难?其实一点儿也没有~让我在这里显摆一下下
代码加起来一共13行,执行一下一秒钟也没有,就能完成文章的词频统计。得到了该文章中最高频出现的五个单词分别是and, to, of,the,in。
好了,就这么简单。是不是觉得自己棒棒哒,也可以像笑来老师那样写长销书了呢~
搭个网站
是的,你没有看错,就是搭个网站这么无聊~
比如说这样的
上过超级数字力的同学都知道这是学长给我们做的财报网站。在网站上可以直接搜索想要查询的公司,即可获得该公司的财报信息,想买啥就看啥。是不是感觉很溜~(写完才发现,貌似我透露了点什么重要信息)
然后再给大家看一个我写的网站。有点丑,大家包涵一下。
这个网站上包含了我想要分享给大家的视频内容,现在只有两个
- 一个是《找工作?让工作找你吧》提到的的开源社区
- 一个是超级数字力上学到的识别财报猫腻的方法
网站长得确实丑,不过你仔细想想,是不是发现我这是在践行笑来老师说的第二种个人商业模式
多次出售自己的时间
我只需要把自己的技能凝结成视频,就可以让更多的人来网站上学习,从而做到了一次劳动多次出售。虽然现在还处于起步阶段,不过我相信在商业模式层次上的改进将会给带来质的变化。这是也是我主动活在未来的选择。
好消息~其中《老司机带你进入开源世界》经过一周已经成功出售了100多次了~你要不要也来一份~
整个游戏
上面两个例子都太功利了,说直白的就是学会了编程可以拿出来卖。那这次说一个不是卖的。
自己做个小游戏
之前关注公众号的朋友应该看到过了,就是这个贪食蛇游戏。
如果你学了之后能亲手打出来,是不是有满满的自豪感?一辈子总要做点不一样的事儿不是么?
别着急,说不定哪天我会教亲手打出这条贪食蛇。
难学吗?
作为鸡汤写手,先给你一碗鸡汤喝。
世上无难事,只怕有心人
智商都是可以进化的,还有什么是难的呢?
虽然大家问的是“难学吗?”“我能学会吗?”,其实问题中隐藏了一个非常重要的变量--时间。所以大家想问的是“我能快速学会吗?”
这个快慢因人而异。就好像高中生去上大学的课,肯定要比小学生去上大学的课要感觉轻松一样。每个人的现状,决定了对编程学习的接受程度。所以这个问题在没有了解你自身情况的前提下,我无法给出答案。
老师说过,每个人的长期根据自己的现状而不一样。所以如果你决定了编程是一门重要的技能,是未来必须要学习的,那就要
选择正确的难受
好了,鸡汤撒完,理智分析一下学习程序是难还是不难。我的答案是跟着老司机学,不难。
有位名人说过
编程是一门技术也是一门艺术
是技术,因为不论用什么编程语言都自由一套语法规则,你不得不遵守。
是艺术,因为编写优良的代码真的会散发出她独特美感,令你由衷赞叹。
就好像绘画,学的时候是画点,线,面的具体技术,但最后呈现的是一件件精美的艺术品。只不过能够成为艺术品的,只占了所有作品中极少的一部分。
这点和编程,乃至世上任何一件需要时间打磨的技能一样
只有极少数人能在某一个领域做到顶尖
这不仅仅是因为个人的天赋和能力,更是基于对这项技能的敬畏和付出。
艺术是没有办法传授的,而技术可以。计算机作为一门严谨的现代科技,之所以很多非专业的人士觉得很难,尤其是很难入门。就是因为从来没有看到过活人做过。
还是拿绘画来举例。如果让大家随意画一朵花,可能会不像,可能会很丑,可能根本看不出这是一朵花。但至少大家知道拿起笔,在纸上随意涂鸦一点。哪怕是没有学过画画的也能做到。为什么呢?因为或多或少我们看到过别人画画。
但是编程完全不一样。没有学习过的人,一个字儿也蹦不出来。因为你根本不知道要输入什么,连在哪里输入都不知道。所以仅从技能层面,只要有专业人士带领你经历过一次你就马上能学会。而且打出来的程序和老司机的是一模一样,因为程序无非就是一些安排好的字符。
所以跟着老司机学习计算机技能,就不是一件难的事情了。
枯燥吗?
这是所有人学习任何技能时都要问的一个问题了。对于这个问题我非常认真且深入的做了思考,还在网上搜索了不少编程学习的视频,观摩他们授课时的内容。最后得出一个结论:
他们上课,确实枯燥
那有没有办法让编程学习不那么枯燥呢? 有
- 通过故事,了解历史来理解概念
计算机学科虽然是一门实践学科,但是它自有着独特的一套知识体系和概念结构。大家能看到的各种首字母缩写很大一部分来自于计算机学科。其中很大一部分大家都是知道这个词,但是不知道具体的含义。
比如说现在大家比较熟悉的go,python都被称为高级语言。那你知道什么是高级语言么?既然有高级语言,自然有低级语言咯?那什么是低级语言?高级语言和低级语言的区别是什么?很多课程不会解释,因为如果直接用语言很难解释。按照大脑认知学的说法,人无法用未知解释未知。用一大堆概念术语去解释另一个概念术语,只会越来越糟。
那我会怎样让你理解这个“复杂”的概念?我会告诉你计算机历史,通过语言的演进让你自然知道计算机语言从低到高的发展史。让你亲眼看到低级语言高级语言的样子,从而自己对语言的分类有个判断。就好像你看过象形文字后,再也不会指着现在的汉子说这是象形文字一样。
- 通过实际生动的例子来操作练习
计算机是一门实践学科,从这一点上来讲是非常符合人类大脑认知过程的。因为你的输入能够及时的反馈到输出上。这一经典的例子就是电子游戏了,比如现在流行的王者荣耀。
所以如何设计好中间的实验环节,让大家能够体验编程带来的乐趣是我要好好思考和探索了。现在略有端倪,大家敬请期待。
在这里我还要再强调一下学习编程还需要的一个重要刚需
耐心
编程和游戏很像,但毕竟不是游戏,尤其是在程序出错的情况下。遇到错误很多人就懵了。这很正常,不过你要相信既然别人可以打出正确执行的程序,你也可以。而且这也是一个发现和纠正自己错误概念的绝好时机。放心,到时候我会告诉你怎么排除这些小地雷。