Perl、PHP、Python、Ruby對於入門的Linux運維來說,哪個更易學?
01-02
基礎較差,剛剛入門Linux運維,希望可以學習一個用於Linux運維
Ruby,你可以參考我寫的這本書:Chef之道 - GitBook
Ruby語言很靈活,寫出來的代碼可以很魔幻,初學者可能天天會有發現新大陸的感覺,但是你如果看別人的代碼會發現每個人的代碼的代碼寫得都不一樣,因為實在太靈活了,Python設計理念則跟Ruby恰恰相反,論上手難易度Python顯然更簡單…… 如果是運維,目前我知道的已經有幾本關於用Python做運維的專註,國內也有一本騰訊員工寫的 Python自動化運維,可見Python在運維界的接受度還是挺廣的…… 至於運維工具,我前幾年Chef, Puppet都用過,現在已經完全用Ansible了,Chef用的是全Ruby, Puppet和Ansible是自己設計的DSL,Puppet可以用Ruby, Ansible用Python,都有可擴展的機制,而且Ansible的擴展機制更簡單,寫起來很自然……相比於前兩者,Ansible是輕量級工具,這也意味著更容易上手,Python也有重量級的運維工具叫saltstack……所以如果做運維有有得選擇的話,推薦Python
運維方向的常用語言目前主要是三種:Shell Scripts,Perl,Python。拋開shell不談(無論你最後選哪個,shell都是繞不過的,哪怕不精通至少也要熟練)。而在Perl與Python當中,目前的選擇當然是Python第一,除非你有很多Perl的歷史遺留需要維護。PHP與Ruby更多的是用在WEB端的開發中,在運維體系中用的不多。
Perl 與 Python 相對 PHP 與 Ruby 的優勢主要集中在現有發行版的Linux基本都自帶,有極其豐富的針對運維的第三方庫,有大量的實際經驗可以借鑒。
而Python相對於Perl的優勢在於,簡單,易學,可讀性好,寫代碼的效率高,Code review與團隊間合作愉快
Python的運行效率有所薄弱,但在運維場景中,高的開發效率遠比稍慢的運行效率更重要。運維方面,python 用得多一些,比較容易學習一些。建議學習python。請看如何訓練自己的編程思路 - 通過python學會編程 - 知乎專欄Linux運維人員如何學習python編程 - 黃哥的文章 - 知乎專欄
ruby。語法優雅 ,一致,上手比較容易,而且題主所說的linux運維方面對執行效率要求不是很高。個人覺得python語法沒有ruby優雅,上手比ruby難一點。python開源庫多,然而在這方面並沒有什麼卵用。
要想精通都很難。
我覺得可以根據你最急的需求,選一個相對合適的語言入手,並逐步把他吃透,搞懂。然後根據一些文檔或者書籍《xx天精通xx》,真正了解語言特性。等你真的精通一門語言的時候,再去用別的語言做一些簡單的工作,就可以看看《快速入門xxx》就可以幹活了。因為本質上說,很多編程語言的基礎和常見特性是可以互通的,缺失的僅僅是他們的特性而已。人生苦短,我用python。python是世界上最好的語言,沒有之一。
運維學PHP干毛?
我用php做運維,也沒啥不行的。php+shell各種cli,各種daemon。唯一不好的是沒什麼開源的軟體用。另外b格跟不上py的。
不會php, 就說剩下三個, 學習難度: python &>&> ruby &> perl
對運維來說的實用程度: perl &>&> ruby/python 要知道很多金融行業的大牌公司, 都是一邊罵perl難用一邊打著燈籠招人來維護他們的遺留perl腳本的.不過這又有啥關係呢? 我知道ruby一堆缺點, 但是我還是會選ruby, 這幾個裡面也只有ruby的設計正常一些了...
Perl,誰用誰知道,就比比 one line 好了,其他那幾個能戰么(
會3p最好不過了。
剛入門的時候是寫perl 的,似乎也沒有感覺難多少.
後來,還是慢慢的轉到python 去了, 主要是換工作了, 同事們不懂perl ,導致我寫的大把代碼,無人維護,都讓我一個維護.
用python 還有一層意思,是他可以oop 編程. 簡單易用這個不說了.不會Perl做什麼運維啊。只要是有一定歷史的公司哪個沒有一大堆Perl代碼需要維護的?我們公司目前90%以上的運維腳本是用Perl寫的。
運維只是維護,大概看懂就成。學最簡單程度的shell和php就夠。php和perl是親戚。
perl oneline 必須的
搞運維幹啥
毫無疑問, python
個人經驗ruby語法簡練優雅,但約定大於配置的「自由」思想需要學習者認同適應;python數據結構處理方便,語法精鍊,了解配置就好;php接觸不多,感覺編程思想有些混雜;perl根本沒興趣去接觸…
「Life is short, you need Python!」
作為10年的資深PHP碼農推薦適合運維的語言為python本來可能perl和系統結合的緊密,但可讀性很容易成問題;PHP先天的不適合做運維語言。
運維當然python沒得選,你總不能在運行java的伺服器上裝個php吧
推薦閱讀: