首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不应该在shell脚本上“押注公司的未来”?

为什么我不应该在shell脚本上“押注公司的未来”?
EN

Stack Overflow用户
提问于 2008-08-19 23:50:47
回答 9查看 4.1K关注 0票数 5

我看了看http://tldp.org/LDP/abs/html/why-shell.html,被以下内容打动了:

当不使用

脚本时

..。

  • Mission-critical应用程序,您押注于

公司的未来

为什么不行?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2008-08-20 03:12:01

当您使用shell脚本的优点时,使用它们是可以的。我的公司有一些5类软交换机,呼叫处理代码和供应接口都是用java编写的。其他一切都是用KSH - DB转储编写的,用于备份、剪枝、日志文件旋转和所有自动报告。我认为,所有这些支持功能,虽然与呼叫路径没有直接关系,但都是关键任务。尤其是数据库交互。如果DB交互代码出了问题,抛出了呼叫路由表,我们就会破产。

但是任何事情都不会出错,因为shell脚本是这样的完美语言。它们很小,很容易理解,操作文件是它们的优势,而且它们是稳定的。这并不是说KSH09将是一个完整的重写,因为有人认为它应该编译成字节码,所以它是一个稳定的接口。坦率地说,用Java编写的供应接口经常不稳定,我记得shell脚本从来没有搞砸过。

票数 16
EN

Stack Overflow用户

发布于 2008-08-20 00:17:20

我觉得这篇文章列出了一个很好的清单,列出了不使用shell脚本的原因--你所指出的单一任务关键子弹更多的是基于所有其他子弹的结论。

话虽如此,我认为您不想在shell脚本上构建关键任务应用程序的原因是,即使今天没有其他要点适用于,任何要在一段时间内维护的应用程序都将发展到至少被某些point.....and的潜在缺陷之一咬下的地步--没有任何东西能够真正地解决它,除非您从一开始就使用了更多的工业优势。

票数 6
EN

Stack Overflow用户

发布于 2008-08-20 00:29:22

脚本只不过是计算机程序而已。有些人会争辩说,脚本不那么复杂。这些人通常会承认,你可以用脚本语言编写复杂的代码,但从定义上来说,这些脚本实际上不再是脚本,而是成熟的程序。

管他呢。

在我看来,正确的答案是“视情况而定”。顺便说一句,对于相反的问题,您是否应该信任任务关键应用程序的编译可执行文件,这也是同样的答案。

好的代码是好的,坏的代码是坏的--无论是用Python、Ruby、Perl、Basic、Forth、Ada、Pascal、Common、Cobol还是编译C编写成Bash脚本、Windows文件。

这是,而不是,说选择语言并不重要。有时,有很好的理由选择一种特定的语言或编译与解释(性能、可伸缩性、能力、安全性等)。但是,在所有条件相同的情况下,我相信一个伟大的程序员编写的shell脚本,而不是一周中的任何一天由一个傻瓜编写的同等的C++程序。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档