对于我必须完成的许多任务,我发现自己必须在使用Linux中的Shell脚本或Java或Groovy等编程语言编写程序之间做出选择。有没有人有经验知道我应该如何选择另一个以及为什么?
发布于 2011-02-10 18:17:26
Shell脚本非常适合于简洁的文件系统操作和脚本编写,通过管道将过滤器和命令行工具中的现有功能组合在一起。
当您的需求更大时-无论是在功能、健壮性、性能、效率等方面-那么您可以转向功能更全的语言。它们倾向于提供以下几种组合:
针对可变生命周期和内存的更高级containers
发布于 2011-02-10 18:20:39
Shell脚本是在您的系统上拥有“粘合剂”的最直观的方式。但是,它没有像Python这样的语言所拥有的一些有用的概念,比如继承和模块化(Python也被用来“粘合”系统)。
诚然,语言的使用基本上取决于你试图完成的任务。在我工作过的大多数情况下,shell脚本都工作得很好,尽管我使用了很多Python来完成与系统相关的任务。在这种情况下,我不认为Java是一种选择。可能是Groovy,但不是Java (我指的是Java作为一种语言,而不是Java作为平台)。
从sysadmin的角度来看,我认为Python和Ruby是很棒的语言。这不仅是因为动态类型和不需要编译,还因为像Fabric、Capistrano、Puppet和许多其他工具使系统管理员的工作变得容易得多:-)
发布于 2011-02-10 18:30:07
@Tony提供了一个很好的利弊列表。我要添加一个更通用的point - shell脚本,因为它们非常方便,当其他人需要使用它时,可能会显示出“没有什么比临时解决方案更持久”的特点,以及随之而来的所有维护问题。
https://stackoverflow.com/questions/4955686
复制相似问题