Why learn programming and why Python

Why learn programming and why Python

Li Xueming's DevOps Perspective

about the author

comyn, Li Xueming. Python Great God, formerly the architect of Dianping's operation and maintenance platform, the core operation and maintenance expert of Tencent's advertising department, and the senior director of Python operation and maintenance development of Ele.me, currently working in Haitao company. Years of front-line operation and maintenance experience, participated in core operation and maintenance projects such as architecture transformation, platform migration, automation construction, etc., have a deep understanding of open source systems, such as LVS, Haproxy, MogileFS, Varnish, Nginx, etc., have modified the iptables kernel to achieve real-time traffic mirroring Replicated and laid a model for non-destructive pressure testing of large-scale company traffic. Known by the majority of netizens as a "sweeper monk", he is omnipotent, from installation, to writing code, to the details of the tens of millions of PV architecture, and has in-depth research.

Why learn programming


君子求诸己,小人求诸人

不知道大家有没有感受到云计算的威胁?我已经深深的感受到了来自公有云的威胁,虽然国内云环境还不成气候,但威胁无时不在。 

按照当前的发展趋势,运维,或者说中级运维的需求会越来越少,为什么会这样?因为随着自动化程度的提高,尤其像docker这样的容器技术的发展,更多的运维沦为操作工,而这是初级运维的事,我花5k请一个应届生能操作得很好,而且还听话,我干嘛要花15k去雇你。 

然而,也并非所有运维都沦为操作工,那些在某一领域有深入研究的专家,在需要他的地方,永远是块宝,这样的人,无须我多说,属于行业里拔尖的那一小撮,不经过一番磨练,常人难以抵达那个高度。 

说到这里,大家该开始灰心丧气了,其实没必要,我为什么不能成为拔尖的那一小撮呢? 

成功没有捷径,但有的路好走一点,有的路难走一点,而通往高级运维的路,学一门编程语言可能是最好走的一条路。

因为它一步一个脚印,你看得到。这句话怎么理解呢?我说我的一个小故事,在我刚毕业那段时间,我花了两个月时间去优化一个系统,所有PHP模块静态编译,甚至操作系统都换成了getoo,能静态编译的都静态编译了,最终卓有成效,平均响应时间从3秒提高到了2.8秒。这是何等的沮丧。

后来,当我开始编程的时候,我每天,甚至每小时,我都能看到我的效果,虽然也有起伏,但一路上风景都很好。

编程是一种创造,在创造的过程中,你能体会到造物主的乐趣。而且能给你启发。当我在程序的世界里徜徉一段时间之后,回头看我当年所作的优化,很多曾经难以理解的原理,瞬间清晰明了,因为我真正从怎么创造它的角度去看,去思考了,当你真正的想过怎么去创造,那么你必然明白为什么会这样。

  因为编程是一种创造,所以你总是能看清最本质的东西。 

Why Python


  Python是目前为止,上手最快的一门语言,而且它刚好够用

  前面我们说了学习编程是一条通往成功的相对好走的路,然而,我现在要说的是,到目前为止,Python是这条路中最好走的一条。

Python不是最快的语言,Python不是功能做完备的语言,Python不是应用最广泛的语言,然而,Python是一门最容易上手的语言,而且它刚好够用。

我为什么说Python是一门最容易上手的语言呢?现存的编程语言种类不比自然语言少,然而常用的就那些,大家可以去看编程语言排行榜,虽然那个榜单没什么指导意义,但是,前50种语言,已经包括了你所听说过的大多数语言,而这50种语言里,有很多你可能是第一次听说。鄙人不才,我用来实际开发过最终用于生产环境的项目的语言,也就五六种,而以我浅薄的见解,这其中,Python最容易上手。

我初次接触Python,是我大学二年级的时候,那个时候我刚刚学完谭浩强版的C语言,对编程完全没有一点概念,当时所写的最复杂的程序就是遍历单向链表,在其中插入和删除节点了。

那个阳光明媚的下午,其他同学要么在泡妞,要么在打魔兽,当时流行的还是冰封王座,我既没有妹子,又实在不会玩游戏,百无聊赖,忽然看到一本讲蟒蛇的书,花了一个下午,匆匆看完一半,忽然感觉像进了一个新的世界。原来编程还能如此简单,原来列表是内置数据结构,逆天的是,连字典都内置了,而且整形永远不会溢出。

然后我就对Python着迷了,一个周之后,我已经能用web.py开发简单的网站了,我资质鲁钝,到这一步,花了一个周,聪明的你,也许三天就能搞定。

所以,在我看来,现存的语言里,上手最快的就是Python,虽然说是一家之言,但是从Python的使用者分布,也大致可以看出一些。Python在生物学,数学,经济学等科学领域使用非常广泛,而IPython notebook这一工具,逐渐成为数据建模领域的重要工具。

科学家们大多数精力在搞科研,所以当然要选择容易上手的语言,它们可没时间像程序员那般去调教编程语言。

你也许要说,bash不是更容易上手吗?对,你说得对,但是bash并不够用,虽然也有人用bash开发出了贪吃蛇,甚至还有bash的web框架,然而bash并不够用,这点你也许比我清楚。

然而,Python却不同,它刚好够用,这是多么美妙啊,然而更为美妙的是,它在很长一个阶段,都是刚好够用,无论是你刚刚学习编程,用它处理一些简单的事情,还是你已经很资深,用它开发诸如dropbox这样的应用,它都刚好够用。想一想,这是多么美妙的一件事啊。

一开始,我可以用它来开发一些简单的脚步,只为一些用bash难以实现的需求,慢慢的,我能把我的脚本组合起来,逐渐成为一个工程,在后来,我的工程逐渐变大,我开始抽象出标准流程,你在开始打造一个平台,看一步一个脚印,向着一开始你只能仰望的目标前进,而Python都刚好够用。

 当有一天,你发现它不够用了,那么恭喜你,你已经到了一个新的台阶了,那时候,我们该探讨一些其他更好玩的东西了。

Guess you like

Origin blog.51cto.com/15127511/2658102