1. 程式人生 > >不適合使用shell的場景

不適合使用shell的場景

1.  資源密集型的任務, 尤其在需要考慮效率時(比如, 排序, hash等等).

2.  需要處理大任務的數學操作, 尤其是浮點運算, 精確運算, 或者複雜的算術運算(這種情況一般使用C++或FORTRAN來處理).

3.  有跨平臺移植需求(一般使用C或Java).

4.  複雜的應用, 在必須使用結構化程式設計的時候(需要變數的型別檢查, 函式原型, 等等).

5.  至關重要的應用, 比如說為了這個應用, 你需要賭上自己的農場, 甚至賭上你們公司的未來.

6.  對於安全有很高要求的任務, 比如你需要一個健壯的系統來防止入侵, 破解, 惡意破壞等等.

7.  工程的每個組成部分之間, 需要連鎖的依賴性.

8.  需要大規模的檔案操作(Bash受限於順序地進行檔案訪問, 而且只能使用這種笨拙的效率低下的一行接一行的處理方式. ).

9.  需要多維陣列的支援.

10. 需要資料結構的支援,比如連結串列或陣列等資料結構.

11. 需要產生或操作圖形化介面GUI.

12. 需要直接作業系統硬體.

13. 需要I/O或socket介面.

14. 需要使用庫或者遺留下來的舊程式碼的介面.

15. 個人的, 閉源的應用(shell指令碼把程式碼就放在文字檔案中, 全世界都能看到).