學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的管理腳本...
通用性
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代碼版面
sub perl {
print "hi";
} # 習慣def python():
print "hi";
# 不習慣def ruby()
puts "hi"
end # 習慣
未來
據不準確消息
- 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使用了引用計數法?