分类: LINUX
2010-02-20 00:15:39
When not to use shell scripts
Resource-intensive tasks, especially where speed is a factor (sorting, hashing, recursion ...)
Procedures involving heavy-duty math operations, especially floating point arithmetic, arbitrary precision calculations, or complex numbers (use C++ or FORTRAN instead)
Cross-platform portability required (use C or Java instead)
Complex applications, where structured programming is a necessity (type-checking of variables, function prototypes, etc.)
Mission-critical applications upon which you are betting the future of the company
Situations where security is important, where you need to guarantee the integrity of your system and protect against intrusion, cracking, and vandalism
Project consists of subcomponents with interlocking dependencies
Extensive file operations required (Bash is limited to serial file access, and that only in a particularly clumsy and inefficient line-by-line fashion.)
Need native support for multi-dimensional arrays
Need data structures, such as linked lists or trees
Need to generate / manipulate graphics or GUIs
Need direct access to system hardware
Need port or socket I/O
Need to use libraries or interface with legacy code
Proprietary, closed-source applications (Shell scripts put the source code right out in the open for all the world to see.)