Python對日常運維工作來說比Perl和Bash都弱。Python做Web開發也比PHP麻煩很多。我個人的感覺Python更像Java,不適合與Perl/Bash比較。我個人常用的運維工具是Bash為主,Python主要用來做一些演算法演算。因為我的日常維護任務以檔案系統維護為主,比較語言要結合場景。絕大部分的應用需求,所有語言都能完成,但是難易程度不同,選擇語言要看開發者的熟練程度和需求的複雜程度。如果只是“grep”需求,你選Bash執行grep最簡單,如果稍複雜就用awk,再複雜就用perl。用更通用的語言就是費力不討好。如果是個矩陣計算需求,perl的陣列能把你折騰死,bash的管道能把機器折騰死。我下面這個觀點一定會有爭議(尤其是PHPer),我傾向於把高階語言分成三類:
1) 底層的C/C++這是可以寫作業系統,操作硬體的。可以解決一切問題,但是絕大多數網際網路專案不應該用。
2) 中性的Java/Python/Ruby/.NET系列這是做專案的主要語言,平衡開發效率和執行效率。沒有明顯的亮點,亦沒有明顯的缺點。
3) 特長的PHP/Bash/Perl在某些特定領域,應該選擇這些有特長的語言。隨著需求越來越全面,語言的短板越用越多,應該控制擴散。
Python對日常運維工作來說比Perl和Bash都弱。Python做Web開發也比PHP麻煩很多。我個人的感覺Python更像Java,不適合與Perl/Bash比較。我個人常用的運維工具是Bash為主,Python主要用來做一些演算法演算。因為我的日常維護任務以檔案系統維護為主,比較語言要結合場景。絕大部分的應用需求,所有語言都能完成,但是難易程度不同,選擇語言要看開發者的熟練程度和需求的複雜程度。如果只是“grep”需求,你選Bash執行grep最簡單,如果稍複雜就用awk,再複雜就用perl。用更通用的語言就是費力不討好。如果是個矩陣計算需求,perl的陣列能把你折騰死,bash的管道能把機器折騰死。我下面這個觀點一定會有爭議(尤其是PHPer),我傾向於把高階語言分成三類:
1) 底層的C/C++這是可以寫作業系統,操作硬體的。可以解決一切問題,但是絕大多數網際網路專案不應該用。
2) 中性的Java/Python/Ruby/.NET系列這是做專案的主要語言,平衡開發效率和執行效率。沒有明顯的亮點,亦沒有明顯的缺點。
3) 特長的PHP/Bash/Perl在某些特定領域,應該選擇這些有特長的語言。隨著需求越來越全面,語言的短板越用越多,應該控制擴散。