[理念]谈谈编程

已经过去的那个五月,自己欠下了一屁股债。先是一位本已才气过人的读者(etter)发来截图提醒我曾经承诺的文章「谈谈大学」,后又有几位读者不约而同再度求稿「谈谈编程」。算了下日子,「谈谈大学」本该先写,但下笔两天,却无从写起 —— 我想表达的其实已经被etter在她自己的文章「谈谈大学」里面表达得很好,而且作为一个尚在就读的大学生,她文字的水平,思维的深度均远远超出了我大学时的水准,想想自己都觉得汗颜。所以这文章我就暂且搁下了,等过几天写好,再附上她的原文,供大家品鉴。今天讲讲编程。

由于我的文章曾经被知乎转载,进而又扩散到其它的一些平台,从这些平台上看了文章,加了我微信号的读者大多和编程无关,于是乎,每当我发点和开发有关的内容,都会有不少人问类似的问题:作为一个处在和编程毫无关系的行业里的小职员,虽然想学编程,但编程对我真得有用么?

比如说昨天的一条留言:「感谢你的答复,编程在我心目中有种键盘侠的形象,但害怕随着对编程的更深入理解,发现不是自己所想像的那样,也不知道有没有在原来的方向上拐了个大弯,毕竟国际贸易(我在做的工作)和编程好像是完全没有关系的2门学科,到时浪费了时间精力走歪了路」。。。

这个问题我觉得可以变成这样的一系列问题:

我不用开车,学驾驶有用么?

我工作中从来不用英语,学英语有用么?

大多数人对这样的问题都有肯定的答复。因为这两样技能,已经变成了现代人生活的基本技能,有或者没有决定了你在不同场景下的生存能力。

编程也是如此,未来的世界里,不会编程,虽不会决定你的生存能力,但会影响你的生存能力。

我们仔细想一想编程是什么?编程是通过构建一个系统,将一系列的输入,变成一系列的输出,通俗地说,就是给定一个问题,用计算机高效解决这个问题的能力。放到生活中一些的场景里:

老板给你一堆数据,你要从中筛查,组织出一个报表;

家里的数码资料越来越多,你想找拍摄于某地的一个视频;

工作中对着计算机总是在做一些重复性的劳动,比如说把某个文件中的内容按照格式拷贝粘贴到另一个文件中;

这些每个人几乎都会遇到的场景,都可以用编程来解决,有些甚至几行代码可以免去你一天的辛勤工作。

现代编程语言的趋势是越来越简单,越来越易学,一个非科班出身的人,只要有一定的计算机使用基础,循着语言的文档和教程,几周内学会一门语言并能用其解决问题并非难事。不信?我给你讲一个例(ji)子(tang),这个例子我自从听到后,就常常用来鼓励周围的人学编程。

例子的主角是个15岁的男孩(好吧,我想很多人已经知道我要讲谁了),也就是国内刚上高中的样子吧。他喜欢编程,做了一个叫Trimit的iOS application,使用一些机器学习/自然语言处理的方法将大文本浓缩成小的篇章,比如说140个字的tweet。在这样一个注意力不断缺失,人类越来越不愿进行长阅读的时代,小哥的app引起了很多人的注意,这app在app store上成为一个不小的话题。李嘉诚注意到了这个小哥,给了他一笔USD300k的投资。有了钱,并且根据用户反馈,小哥重写了整个app,并且重命名为summly(之后又获得USD1M的投资)。然后在他17岁的时候,yahoo的梅丽莎同学花了USD30M买下了他和summly。

这些都不是故事的重点。他是个高中生。整个软件是业余时间在卧室里做出来的。他还得和其它孩子一样正常上课,写作业,争取毕业。

这小哥名叫Nick D’Alosio。就算Nick智商超高,他也才是个十几岁的孩子。就算他12岁就开始学编程,他的理解能力能比我们这些成人高多少?如果他都能搞机器学习/自然语言理解,作为成年人,我们写点脚本代码,又有何难?

鸡汤时间结束。

前面讲到编程其实反映的是一种解决问题的能力,在这一点上,非科班出身的人更有优势 —— 跨界的优势。因为他们有实实在在的业务问题,而学CS的人没有,需要主动寻找。这就跟科班学英语一个道理,学得再好,到了应用场景还是会抓瞎。你让英语专业的人翻译一下the art of computer programming试试,估计死的心都要有了。你让一个学CS的人做个化工方面的软件(非MIS)试试?没有一段时间的浸淫,他做不出来。

非科班出身,有了对业务的理解,如果再会一些编程,能解决工作中的问题,那就非常吃香了。人家一天的活,你写个脚本半小时跑出来,剩下的时间该学习学习,该把妹把妹,还受老板待见,何乐而不为?

科班出身其实挺苦恼。我LP经常会跟我聊她工作中的琐事,我一边听着一边琢磨着,嗯,这事可以写个脚本自动化,那事如果用VBA,能简化好多操作,可惜我不会啊,她的那些单据,凭证,报表,inventry,我听了就头大,看了就眼花,空有一腔编程热血,却撒不出来。

现在所谓互联网创业,在没有做到一定规模以前,科班出身的人没有任何优势,用的工具,技术其实没什么难的,非科班一样能掌握,而且跨界的思维往往能擦出更多的火花。我自己做过了互联网,再回过头来做硬件防火墙,看到的遍地是机会(当然很多都是我自己没法把握的),这还是行业内的跨界;行业间的就更不必说。我相信一个做过快销会编程的人,做相关的SaaS,要远强于一个科班出身写代码的人。

编程有多难?有多易?不用整天讨论。卷起袖管,挽起裤腿,冲进沼泽,自己寻思吧。

Welcome to battle field~

给TA捐赠
共{{data.count}}人
人已捐赠
教程

[理念]你需要学习脚本吗?

2018-2-4 15:19:11

教程

[理念]AutoHotkey 是什么?

2018-2-4 15:31:07

3 条回复 A文章作者 M管理员
  1. 闻花君

    棒!

  2. AHKstudy

    受教了

  3. ddgsa

    非常感谢分享

个人中心
购物车
优惠劵
有新私信 私信列表
搜索