为什么要学编程? 

为什么要学编程?

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

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

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

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

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

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

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

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

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

为什么选择学习 Python语言呢? 

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

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

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

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

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

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

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

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

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

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

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

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

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

怎么更快的进入Python殿堂呢?

如果你有很多时间,或者你能在繁忙的工作中抽出时间学习Python,每天学习研究几个小时,并且能折腾出几个小的项目,那你就自己学习,可以看些 Python 技术书,还要Github上的开源项目。

如果你经常加班,自学效率很低,没有头绪,建议可以报个班快速学习,节约时间,很快上手。

51Reboot 教育的 Python 实战班,适合往开发或者运维开发方向发展,Python基础为零或薄弱,但能读懂shell 或者其它任何一门语言的同学。感兴趣的可以看下大纲:http://www.51reboot.com/course/actual/(点击原文)。

文章分类 Reboot分享

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

在线交流

数百位业内高手和同行在等你交流
Reboot运维开发分享