我们所有人都有不时提出的任务,我们认为脚本或自动化比手动完成更好。
显然,某些工具或语言对此比其他工具或语言更胜一筹-例如,没有人(在他们的正确思想中)会交叉引用他们的PM刚刚在汇编器中提供的一堆文本列表。
对于在时间(而不是优雅)至关重要的地方要执行的一般快速而肮脏的工作,您会推荐哪种工具或语言?
背景:我曾经是一名程序员,现在是开发经理PM,希望学习一种有趣的新语言。如果我要学习一些有趣的东西,我希望它会很有用,这种用例很可能会出现。
我们所有人都有不时提出的任务,我们认为脚本或自动化比手动完成更好。
显然,某些工具或语言对此比其他工具或语言更胜一筹-例如,没有人(在他们的正确思想中)会交叉引用他们的PM刚刚在汇编器中提供的一堆文本列表。
对于在时间(而不是优雅)至关重要的地方要执行的一般快速而肮脏的工作,您会推荐哪种工具或语言?
背景:我曾经是一名程序员,现在是开发经理PM,希望学习一种有趣的新语言。如果我要学习一些有趣的东西,我希望它会很有用,这种用例很可能会出现。
Answers:
蟒蛇
显而易见的答案(并且有充分的理由)是Python。它是一种可靠的语言,可以跨平台使用。由于它是动态的,因此可以交互地运行它,这非常适合将内容捆绑在一起,并且它具有大量的库选择,因此它是一种通用语言,因此可以应用于大多数问题。
Autoit是无与伦比的。这是具有语言的工具。
AutoHotkey是Windows的免费开源工具。有了它,您可以:
使用此工具,我已经为多家公司节省了大量资金。
佩尔
Perl几乎是我对快速和肮脏的定义。
Perl是无限灵活的,这是一个优点和缺点。它不会强加于您的结构,但是如果您需要它,它就会在那里。它具有所有内容的库。它已经被广泛使用了20年。有大量的代码可以使用。
$=
; $ _ = \%!; $ _)= /(。)/; $ == ++ $ |;($。,$ /,$ ,, $ \,$“,$;,$ ^,$#,$〜,$ *,$ :,@%)=($!=〜/(。)(。)。(。)(。)(。)(。)..(。)(。)(。)..(.... ....)/,$“),$ = ++; $。++; $。++; $ _ ++; $ _ ++;($ _,$ \,$,)=($〜 。$“。” $; $ / $%[$?] $ _ $ \ $,$:$%[$?]“,$”&$〜,$#,); $,++; $,+ +; $ ^ | = $“; $_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=
(这是实际的Perl -诚然,故意坏的Perl -对于那些谁不读它)。
电源外壳
它不如Python通用,但如果您存在于Windows环境中,则可能会更有用。
它比Python更像shell /脚本(因为它就是它),但是它可以连接到.NET框架,从而为您提供了非凡的功能。它还得到了社区的广泛支持。
微软一直忙于增加PowerShell将其服务器产品(因此“更有用”),并推出远程处理,使您可以运行脚本有从控制台这里。
对于复杂的自动化,您可能需要使用Robot Framework。该框架主要针对自动化测试,但也可用于通用自动化。
您可以轻松地用Python编写自己的库,并且有许多预先存在的库(Selenium,AutoIt,telnet,ssh,swing等),这些库可以驱动各种功能,如果您在混合环境。
它是关键字驱动的,因此您可以创建新的关键字,从而抽象出重复的任务,甚至具有正在积极开发的IDE,该IDE允许进行一些简单的重构。
我一直在努力将一些Common Lisp例程组合在一起以帮助编写脚本,但是它不像Perl那样容易地完成该任务。
对于Windows,我强烈建议使用AutoIt(http://autoitscript.com)。确保从下载部分安装Scite软件包。
http://autoitscript.com/forum是获得帮助和查找要包括在脚本中的UDF函数的重要资源。
AutoIt能够控制应用程序窗口和控件,使您几乎可以自动化。编译可执行文件后,它也不需要依赖项。
我遇到了使用多种语言进行不同自动化设置的相同问题。我是印度一家IT服务公司的高级顾问。每次我咨询不同
出于这种目的,我很艰难地向管理层证明了这一点。我什至还和我的朋友们讨论过(作为休闲话题)关于开发一种统一的语言以解决所有自动化需求并且仍然跨平台的问题。如果有一个,那可能
改变脚本世界。据我所知,我们通常使用的映射
AutoIT-基于Windows的GUI自动化Bash-基于Unix的自动化主要涉及系统交互Perl-具有较少系统交互的数据处理自动化Expect-基于字符的交互需求。(Perl,Bash无法解决)VBS-基于Windows的脚本
任何自动化总是伴随一个或多个远程调用来进行信息检索或结果发布。这是针对主要操作系统的不同列表。
psexec,Powershell
plink,Quest Plink-> SSH服务器
SSH客户端-> SSH服务器
winexe,wmic-> WMI代理check_nrpe-> NRPE_NT代理
在上面的列表中,您可以轻松地确定功能集中没有一种语言可以替代其他语言。在拥有一个通用的OS以及通用的通信协议和API标准之前,我们必须与之共处。
Python对此非常有用,并且具有较大的安装基础,而Ruby并没有什么更好的,除了它具有《为什么要对Ruby进行艰苦的开发》。认真地讲,卡通狐狸。