python還是perl
① 老話題 對SA來說用perl還是python比較好
hell,python和perl我三種都學了,而且前兩種自認為用的還比較熟練,覺得自己還是應該有點發言權的,對SA來說,平時管理系統用SHELL腳本肯定是最簡單的,如果是純粹的系統管理,很少有問題是shell解決不了的,如果認為寫一些系統管理腳本shell解決不了,說明你對shell還不夠熟練,那麼python和perl呢?
我對python和perl沒有什麼偏好,最終選擇了python主要還是python比perl簡單,看完python的入門書後,過一段時間還能記得怎麼寫程序,但看完perl的入門書後,過一兩個月就忘記的差不多了,要重新開始看。
我用python主要解決用shell解決起來比較麻煩或者通用性不好的問題,比如處理文本,要用到awk或者sed的高級功能才能實現時,我寧願用python實現。至於效率嘛,用到需要高效率的程序,我直接用C語言寫。perl的粘滯性比較好,如果要在程序中大量用到系統命令,那麼perl肯定比python方便多了。
② perl,python學哪個更有前途
各有所長。perl擅長處理字元串,但是由於它不是面向對象的,所以開發大型程序有困難,代碼難以管理。python是完全面向對象的,代碼可維護性很好,適合寫大程序。要說前途的話,Google這兩種語言都用,NASA也都用。關鍵看你能否精通。
③ 對於學自然語言處理方向的學生來說,學 Perl 好還是學 Python 好
python
1, python 易學,
2, nlp現在python工具包也挺多的,比較流行,比如:
NLTK
NLTK 在使用 Python 處理自然語言的工具中處於領先的地位。它提供了 WordNet 這種方便處理詞彙資源的介面,以及分類、分詞、詞干提取、標注、語法分析、語義推理等類庫。
④ Python和perl各有什麼特點和優勢,哪個更好一些
perl是駱駝,python是蟒蛇,優勢或者兩者差異可以用 perl vs python這些來google一下獲得別人的看法。 perl代碼比較晦澀,python現在也是linux的標配了。建議python,除非你是要維護老代碼。
⑤ python和perl誰更好用
語言的問題,見仁見智,基本上屬於信仰,無法強求一致。
就 語法來看,Python比Perl優美得多。Perl裡面充滿了像$!和$_這類的天書標記,初學的時候每讀一段代碼,就會碰到幾個從來沒見過的標記,然 後過兩個星期,他們又以全新的面目出現在我面前。在我看來,這決不是什麼緊湊,只是瘋狂。不過同樣的尼采,有的人看到的是偉大的哲學家,有的人看到的只是 一個瘋子。
類庫,Python的類庫不如Perl的多。但是這很大程度上是因為Python沒有一個像CPAN這樣的類庫集散地。其實Python的類庫也是很全的,只是要找。SourceForge是一個,此外還有freshmeat。就我自己的經驗,有些類庫是無意中找到的。比方說,我看IBM的 developer network,看到一個twisted,安裝的時候讀了它的README,發現還有pycrypto,和pyopenssl類庫。
如 果你覺得Python的開發效率還不及C++,那隻能說你對Python還是太不熟悉,不過有C++的底子,用不了多久你就會闖過這一關的。其實 Python的文本處理能力一點都不比Perl遜色。它的re模塊的思路同java的regex很像,而中文處理則要用到codecs。真正學懂之後,你 會覺得Python模塊的邏輯性很強。不像Perl,雖然很方便,但是一個一個模塊之間沒有什麼必然的聯系。
關 於Python的大型項目,最知名的就是Zope,然後有twisted(它既是一個類庫,也是一個framework)。此外還有 gadfly,mesa(其實這兩個是Zope的子項目,但是Perl沒有這個重量級的產品吧),以及Chandler。這些都是純Python的程 序。
⑥ perl和python選哪個
就 語法來看,Python比Perl優美得多。Perl裡面充滿了像$!和$_這類的天書標記,初學的時候每讀一段代碼,就會碰到幾個從來沒見過的標記,然 後過兩個星期,他們又以全新的面目出現在我面前。在我看來,這決不是什麼緊湊,只是瘋狂。不過同樣的尼采,有的人看到的是偉大的哲學家,有的人看到的只是 一個瘋子。
類庫,Python的類庫不如Perl的多。但是這很大程度上是因為Python沒有一個像CPAN這樣的類庫集散地。其實Python的類庫也是很全的,只是要找。SourceForge是一個,此外還有freshmeat。就我自己的經驗,有些類庫是無意中找到的。比方說,我看IBM的 developer network,看到一個twisted,安裝的時候讀了它的README,發現還有pycrypto,和pyopenssl類庫。
如 果你覺得Python的開發效率還不及C++,那隻能說你對Python還是太不熟悉,不過有C++的底子,用不了多久你就會闖過這一關的。其實 Python的文本處理能力一點都不比Perl遜色。它的re模塊的思路同java的regex很像,而中文處理則要用到codecs。真正學懂之後,你 會覺得Python模塊的邏輯性很強。不像Perl,雖然很方便,但是一個一個模塊之間沒有什麼必然的聯系。
關 於Python的大型項目,最知名的就是Zope,然後有twisted(它既是一個類庫,也是一個framework)。此外還有 gadfly,mesa(其實這兩個是Zope的子項目,但是Perl沒有這個重量級的產品吧),以及Chandler。這些都是純Python的程 序。
⑦ 敢問Perl 比 Python 好在哪裡
1. perl正則好用: sed, awk, grep的正則有細微差異, 難以記憶, 基本上一個正則表達式需要試很久. 而perl在onelinar寫shell腳本中, 可以替換sed/awk/grep. 只需要記住統一的perl正則即可, 統一簡潔好用.
2. 形式自由, 可以隨心所欲. 用perl寫腳本, 可以有多種寫法. 想簡潔就簡潔, 想整潔就整潔, 風格自己定.
3. 繁雜的extension和精簡的語言內核很吸引人. 函數(sub)和符號表(%::)都是first-citizen, 所以高階函數和typeglob都用起來很爽.
4. 最最重要原因, 用perl的人, 內心強烈的認為perl比python好, 不用不知道這種偏好是多麼強烈. 偏好是一種強烈的執念, 執念容易虛妄.
5. 其實ruby要比perl和python都好. 但腳本語言, 屬於小語種, 熟悉了常用的一種, 就不想學其他小語種了.
⑧ perl 語言跟python 語言的區別。學哪一個比較好。
python代碼清晰一些,一切東西都是對象。
perl靈活一些,主要面向過程,內置正則表達式(這個是perl的精髓,很強悍的),支持有限有面向對象,有很多默認的東西和符號,可以把代碼寫得很簡潔(也讓不熟悉的很難讀懂代碼)。
個人使用python, 可以互動式運行,這個很爽的。
⑨ perl 、shell、python三種腳本語言那種好學、易用
perl、shell、python三種腳本語言的區別:
1、適用不同:shell是操作linux的基本,是必須學的。學shell就是學linux命令。perl有強大的正則表達式支持,對於文本處理非常強悍,玩linux不得不學。python作用一種面向對象的,能作為linux腳本的語言,學好之後能幫你很好地完成工作。
2、特點不同:Perl是一種能完成任務的語言。從一開始,Perl就設計成可以把簡單工作簡單化,同時又不失去處理困難問題能力的語言。它可以很容易操作數字,文本,文件和目錄,計算機和網路,特別是程序的語言。
這種語言應該很容易運行外部的程序並且掃描這些程序的輸出獲取感興趣的東西。而且它還應該很容易能把這些你感興趣的東西交給其它程序做特殊的處理。當然,這種語言還應該很容易在任何現代的操作系統上可以移植地編譯和運行。
shell提供了你與操作系統之間通訊的方式。這種通訊可以以交互方式(從鍵盤輸入,並且可以立即得到響應),或者以shellscript(非交互)方式執行。
shellscript是放在文件中的一串shell和操作系統命令,它們可以被重復使用。本質上,shellscript是命令行命令簡單的組合到一個文件裡面。Shell基本上是一個命令解釋器,類似於DOS下的command.com。
它接收用戶命令(如ls等),然後調用相應的應用程序。較為通用的shell有標準的Bourneshell(sh)和Cshell(csh)。
Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格,Python的這種偽代碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。
3、優點不同:perl,用作文本處理比較好,可以作為系統的輔助工具。shell,用作系統維護、操作等方面。python,功能強大,模塊多、跨平台能力好,完全面向對象,尤其適用做大型腳本程序的開發和快速開發。
(9)python還是perl擴展閱讀:
erl比shell+sed+awk更強大,但學習兩者並不沖突,通常是學習shell做為腳本編程的入門基礎。而Python在應用領域則與前兩者有很大的差別,無太大的可比性。面向不同的任務,可以只需用到其中的一種,也可能三種都要用到,所以究竟該學誰不學誰,需要由面對的任務來決定。
總之,shell是基礎,其他是進階輔助。
Shell腳本通常都是以.sh為後綴名的,這個並不是說不帶.sh這個腳本就不能執行,只是大家的一個習慣而已。所以,以後你發現了.sh為後綴的文件那麼它一定會是一個shell腳本了。
test.sh中第一行一定是「#!/bin/bash」它代表的意思是,該文件使用的是bash語法。如果不設置該行,那麼你的shell腳本就不能被執行。』#』表示注釋。後面跟一些該腳本的相關注釋內容以及作者和創建日期或者版本等等。