1. 占用资源的任务,尤其那些影响速度的工作

比如排序,哈希,递归等等。

2. 大量使用数学运算

尤其是浮点运算,比如任意精度的计算或者复数计算等等,这类使用C++会好很多。

3. 跨平台的(适用于C或者Java)

4. 复杂的程序,比如需要对象编程,类型检测等

5. 关键应用(一旦出错不会危及公司业务的)

6. 需要安全性的任务

7. 由若干互相依赖的子模块组成的项目

8. 需要复杂文件操作的任务

因为bash只能对序列化的文件做处理,而且它的处理方式还不是很有效:基本都是一行一行处理

9. 需要多维数组native支持的

10. 需要复杂数据结构支持的

比如linked list 或者 tree

11. 需要GUI的

12. 需要直接获取硬件资源的操作

13. 需要获取port或者socket IO资源的操作

14. 需要调用libraries 或者 legacy code 借口的操作

15. 闭源应用项目

因为 Shell Script 会把该闭源应用的源代码暴露给外界。

 

原文

05-06 04:57