现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致cpu使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?
为什么要学python?
运维开发为什么要用python?
那java呢?好吧,一个臃肿\中庸\豪无新意的语言,还是老老实实用它来做erp吧,搞个运维小平台,用java真心没啥必要,在我看来,java就是稳定的中年男人,稳定\成熟\秃顶,而pytohn代表的就是青春, 简洁\快\干净\帅!
当然还有新的语言go,有些搞运维的看见做开发的人员搞go,也想凑热闹,觉得是未来,我想说,别瞎没事跟风,go再成功,也不会变成运维开发语言。
有些人觉得python效率底,说他不能支持多线程,oh,好吧,这个还有点说对了,但是我想问,看我这篇文章的有几个做过搜索引擎开发?有几个做个上亿pv的并发网站开发? 有几个看过linux内核源码?如果没有,请别瞎跟着传了,知道python为什么不支持多线程吗?这句话问错了,其实python支持多线程,只是不支持多cpu多线程,也就是一个程序spawn出来的多线程只能占用一个cpu,但是为什么呢?噢,因为gil,gil是什么东东,请自行补脑。。。但是你非得用多线程吗?你可以用多进程呀,再牛b你还可以用协程呀,这些pytohn支持的都很好呀,如果你的程序逻辑不好,搞个多线程也快不起来。我认识一个博士讲过一句话,我觉得不错,他说,程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说python效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用python写的web程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么web框架这么牛b? 别问它是谁, 它叫tornado。
python能否自学?
所以奉劝没基础又想学python的同学,花点钱去报个班学吧,拿钱换时间,时间是生命,钱没了可再挣钱,时间过去了就再也不会回来,如果你不信邪,非要自己学,那我佩服你的勇气,不过自己试试就知道了。
说了这么多,只想告诉那些迷茫不知所措该学什么语言的新手们, 在你还没学好走路的时候,不要老想着,将来我当上老板了,我是开宝马呢?还是开奔驰呢?先学会骑自行车吧。。。