標籤:

學Perl還是Python?

我做運維,簡單說就是一個Linux系統管理員,現在自動化的工作基本都是用shell完成的,常遇到一些問題,比如像批量的並發執行命令要後台執行還要定義並發數,從MySQL中查詢一些信息後還要各種sed和awk,都很不方便…所以想再學一門語言。我知道關於Perl和Python的爭論很多,我也知道它們都有各自擅長的領域,我只是想問我現在的情況,哪個更適合我,不想引來關於他倆哪個好的無謂爭論


兩個都學!這兩個的共性遠大於差異,花1.2倍的力氣就足夠把兩個都學了,互相比較融匯貫通。


如果非要在這兩者里選一樣的話,作為一個有 7,8 年 Python 擼齡的用戶,個人建議是 Perl


以Script語言比較,

我覺得兩個都很好用,

以Linux管理來說,

推薦加強Shell Script和Perl的學習,

Perl適合撰寫簡潔而快速開發的代碼,

經由Regular Expression,

可以快速處理文文件或字元串,

且Linux目前存在Script多數是Perl撰寫,

可以不用會寫,會一定要看得懂和修改。

Python結構嚴謹,

很適合開發大型程序,

學會可以在Linux上開發更多結構化的程序。


曾經因為工作需要,用python寫過一個工具,大概三百多行代碼。

現在因為工作需要,經常用perl寫工具的觸發器。

比較下來還是喜歡python,其中一個非常重要的原因是python的代碼維護相當輕鬆,反觀perl簡直是人生災難。

另外python和perl都只是工具罷了,對於最基礎的掌握來說,同時學習的成本完全可以承受的,當你兩種語言都有了實際應用經驗,再考慮精通哪個語言的問題也不遲。


十年前這個選擇還值得猶豫一下,現在真沒什麼好猶豫的了。做運維寫些write-only的腳本你不怕自己看不懂嗎?


說真的,屁眼這個語言不適合做sa的管理腳本...


  1. 通用性

    find /usr/bin -exec file {} ; | grep perl | wc -l &>&> 200
    find /usr/bin -exec file {} ; | grep python | wc -l &<&< 30 find /usr/bin -exec file {} ; | grep ruby | wc -l &<&< 10

  2. 代碼版面

    sub perl {
    print "hi";
    } # 習慣

    def python():
    print "hi";
    # 不習慣

    def ruby()
    puts "hi"
    end # 習慣

  3. 未來

    據不準確消息

    • Python 3.0 會完全地破壞向後兼容性
    • Perl 6 還全面向下兼容 Perl 5 的代碼

最後以迷茫的表情分別閱讀了 Python 3.0 和 Perl 6 的部分新特性之後,我毅然決然的投入到了 Perl 的陣營。


不,應該學ruby.


某些只寫過幾百行Perl或者Python的小白,就別自己打腫臉充胖子了。別把自己聽來的事情四處說,這樣很不好。。。


不用只聽他人的一面說詞,想知道Perl語言好還是Python語言好,最好的辦法是你自己已經知道但是不去執行而已,辦法就是把兩種語言都學會,看看後來你最常用哪個,用的最多的最順手的自然就是最適合你的,不管怎樣,從結果上來講,學過Perl/Python語言之後加深了你對Perl/Python語言的理解,(或者是反過來),那也不失為一種收穫,所以並不是浪費時間。


如果是做純運維的話,學Perl就夠了,Perl的強項在於文本處理、正則表達式的使用都很方便,做做一般的運維工作,是足夠了。但是如果單純只做運維,不會太有前途,運維的大多數工作都可以通過改善流程自動化,長遠來說,DevOps是必備技能。開發工具,現在大多數公司都用Python,簡單的說Python的優勢:面向對象,代碼可維護性強,招人容易招。Python是大勢所趨。


看性格,如果你是完美主意者就Python吧!

要是比較隨意的,任性的,不怕折騰的! Perl!


時過境遷,現實告訴你,還得學Python。看看ACM比賽,支持什麼語言?C/C++,Java,Python。看看深度學慣用什麼語言?Python。看看微軟不得不支持的語言:Python。對比2個社區的活躍度。

還是得學Python,不管你學沒學Perl。


python。 python和perl的最大區別,也是最重要的區別是其語法對搜索引擎的友善程度。 python你不懂google懂,perl你不明白,一搜卧槽這是啥(°?° ╬)。


我現在也不知道學哪個好?真是。。。。。。


原來兩個語言的設計初衷不同,perl側重文本處理,而python側重數據計算,運維的話學perl會更好吧,但畢竟都在發展中應用範圍不斷擴展,就像大家所說的都不單單是簡單的腳本語言了。


學Python,Pythoner在此


兩個都學吧。perl的學習曲線要陡峭一些,但是我覺得還是蠻好用的。

python更應該學了,python已經不是一門簡單的腳本語言了。


做兩年換工作,就python。長期性做這個,就perl。perl代替awk sed易如反掌。。


新人還是學python吧


當然是學Perl


Perl 完全沒品位


推薦閱讀:

客觀地說,Perl 是不是快死了?
如何評價唐鳳(唐宗漢)這個人?
有哪些比較經典的 Perl 入門書籍?
敢問 Perl 比 Python 好在哪裡?
為什麼腳本語言GC使用了引用計數法?

TAG:Python | Perl |