《这些年编程的一些反思》00.前言

前些日子,我在我自己的公众号里写了这样一篇文章——《编程15年,为何一直是菜鸟》,我反思了一下自己这十几年的职业生涯,希望能够给大家一些警示。在文中,我提到了一些我认为的学习方法,尤其是如何学习编程方面。我当时在文中的观点是,学习编程语言,在刚开始的时候,可以不用太拘泥于一些细节,也不要太过较真哪种语言好,X语言和Y语言,在很多方面,都是相通的。对于主流的编程语言,相似的地方要多于不同的地方。关注语言的共同特征,应该大于关注语言的种类。

我觉得在现实生活中,编程应该和开车,绘画,写文章一样,几乎是每个人都要掌握的一项最基本的技能。当然不会是所有人都要学会开车,学会写文章,但是,如果会这些技能,显然会让生活的质量提高一大截。尤其是未来的设备肯定会有巨大的进化,个人认为会一定的编程思维能更好的与之交互。

我个人认为,编程是一种心理活动。这种心理活动在外人看来又是难以琢磨的,就像一种巫术,有的巫师是哈利波特,有的巫师可能就是个水货。但是,很难从外表分辨出来,只好也给水货巫师很多的薪水,只为了赌一下。这当然会让大型IT公司的管理人员心生不满。于是,几乎所有的编程语言,都或多或少的去除一个因素,那就是去除人的因素。大家也都知道了,现阶段的Java,Python等主流语言,无一不宣称自己易于阅读,易于合作。几乎就是在说,随便替换一个程序员,也能写出相同的代码,程序员就慢慢的成为了代码流水线上的一员。

这难道不是非常的诡异么?当我们在欣赏一幅画的时候,我们会惊讶于某个画家独特的画风;当我们在阅读一本小说的时候,我们会惊讶于某个作家异于他人的文风。但是当我们在谈到软件的时候,态度就变了,我们会说这个程序写的易于让别人阅读和修改,每个软件都有大同小异的调用,都有大同小异的算法,甚至都有大同小异的缩进(在此,应该感谢python:)

栋哥没有能力改变软件行业的发展,但是,既然软件行业的目标之一是让不同的开发人员写的程序变的相似,那么,我们是不是也可以同时学习几种相似的编程语言呢?

我认为是可以的。

同时熟悉几种编程语言的语法,对工作也有很大的好处。比如说,当你在网上搜索某个算法的实现,而能找到的算法,所采用的编程语言恰好不是你所需要的语言,你想要Java的实现,结果只找到了Python的代码。这个时候,能读懂Python的代码是非常重要的。

学习编程的方法并不是多么的神奇,在刚开始的时候,与其说是在编程,不如说是把关键字,标点符号放置在正确的位置上。和拼图类似,只是拼多了,就慢慢的学会了。

有人会说,没有兴趣怎么办?确实,如果没有兴趣的话,玩编程拼图这个游戏是很容易就放弃的。我先讲个故事吧。

溥仪

上面这个人叫溥仪,是中国最后一个皇帝,他是住在皇宫里的。我觉得他是对园艺工作没有兴趣的。但是,他最后在北京植物园,从一个完全不懂如何修剪植物的外行,变成了一个养花的能手,他一年时间,做了好几斤的笔记。

如果听过栋哥电台的人,可能记得我说过一句话,兴趣是最好的老师,贫穷也是最好的老师(甚至更是)。如果你对编程没有兴趣,但是你和栋哥一样,穷的吃土,搬砖是工作,编程也是工作,既然都要在这个世界上来一遭,为什么不不来试一试呢?


形成这篇文章的草稿

草稿1
草稿2

刘延栋 wechat
欢迎扫一下关注我的公众号:软件那些事儿
欢迎收听我的电台,你的支持将鼓励我继续前进