From a certain level of complexity, any shell script is almost guaranteed to be buggy, says Itamar Turner-Trauringring, – and retrofitting correctness features is quite difficult. Therefore, one should use a less incorrect language. […]
According to Itamar Turner-Trauringring, shell scripts are only OK in some situations, such as one-time scripts that you manually maintain.
Sometimes there is also no guarantee that another programming language is available and you have to use the shell to get things going. In addition, shell scripts are suitable for sufficiently simple cases in which only a few commands are executed one after the other, without subshells, conditional logic or loops.
As soon as you want to do something that goes beyond that, you are better advised with a less error-prone programming language. And since most software tends to grow over time, it’s best if you start with a less error-prone language, says Itamar Turner-Trauringring in his article on Pythonspeed.com .
*Bernhard Lauer is, among other things, a freelance editor of dotnetpro and manages the Basic Instinct section here, for example. He has been programming privately with Visual Basic since version 1.0.