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