运维到底该学哪门编程语言?

运维到底该学那门编程语言?那么多脚本语言,学那个最好? 在多年以前我也经常问自己这些问题,为了找到答案,我几乎读完了中外所有的关于脚本语言之争的帖子和文章,最后我也没找到特别有说服力的的答案,因为在当时我已经有php了基础,python对我来说非常的陌生,如果转入python意味着我将要从自己的舒适区走出来,人性是懒惰的,人们为了说服自己,就要想从外界寻求答案,所以当时为这个问题也纠结了大半年,到最后我重新定位了自己的职业发展,是要做开发还是做运维?我的答案是运维,如果是运维,我觉得学习python是必然的选择,所以最终还是放弃了php,全身心投入的python学习中,从这件事可以看出,选择永远不难,难的是你是否可以清晰的认识自己,所以回到我们最初的问题,我给的答案是:运维如果非要掌握一门编程语言的话?我推荐python,接下来我就和大家来谈谈为什么。

首先,从python语言的学习曲线看,python入门非常容易,它关键字少、结构简单,语法清晰,这使得我们运维人员能在短时间内轻松上手,并且代码易读和易维护,有人说写python代码就跟说话似得,可见python是多么易读和编写,同时python是一门完整的编程语言,符合所有编程语言具备的特点,例如OOP等。虽然python支持OOP,但不要求必须用OOP思想来编程,所以对已经有shell基础的工程师来说,写python也是顺手的事,从shell过度到python也很自然,但如果要学java这种纯OOP语言的话,如果不懂点OOP思想,学习起来会感觉吃力。

其次,从目前运维的发展来看,现在都进入云时代了,各个云平台为提供给用户灵活的运维,都提供了API接口,这些接口都支持python的sdk,再过2年如果你不懂得如果调用云平台接口去开发适合自己的定制化的运维系统,我估计连做运维的资格都没了,还有像现在的开源系统ansible,saltstack,等,要想玩好这些,那python肯定是必不可少的了,这就是DevOps,另外大名鼎鼎的openstack就是用python开发的,这足见python的强大,这些还不够?好吧,大家都知道什么是全栈语言吧?如果不知道耶不解释了,请直接看下表吧。所以说:“人生苦短,我用python”。真是至理名言呀。

领域 流行语言
云基础设施 Python, Java, Go
DevOps Python, Shell, Ruby, Go
网络爬虫 Python, PHP, C++
数据处理 Python, R, Scala

现在,假设你决定学习python了,学习资料的问题永远不必担心,因为python学习资料的丰富程度远超出你的想象,另外现在都到了移动手机时代,简单到只要关注个公共号,就可以随时随地学习,重分利用碎片时间来提高自己,比如:python运维技术公众号就是非常好的学习平台,基本每天都会拿实际工作中的源码进行讲解,一步步带你变为python高手,想关注的长按二维码–识别二维码—点关注就可以了,没兴趣的请绕行吧,毕竟学习的事不能强求。

python1

以上就是我要表达的内容了,其它的不多说了,最后想说,不管学习什么技术,时间千万不要浪费在选择上,而要多用在行动上!