I need to choose a Windows automation scripting language. Which one do you recommend; AutoIt, AutoHotkey, or an other?
I have read "An AutoIt / AutoHotkey comparison". Interesting history, but without recommendation. Searching Google leaves around 312k hits for AutoHotkey Windows
vs 482k for AutoIt Windows
. On Stack Overflow there are 15 questions tagged autoit vs 18 autohotkey.
I am interested in your opinion as programmers. Which one do you think is easier to use, more deployable and more powerful in terms of functionality? I have already used AutoHotkey for personal use, so my initial preference is for this.
- I think AutoHotkey's GUI implementation is easier to use like many of its commands.
- AutoHotkey (no longer maintained) has 3 forks :
- AutoHotkey v1.1.* (previously known as AutoHotkey_L) has COM, Unicode support, object-oriented -like syntax, arrays, and more.
- AutoHotkeyCE works on Windows mobile PDA's and smartphones (unfinished, no longer maintained).
- IronAHK, a .NET version of AutoHotkey (unfinished, no longer maintained).
- AutoHotkey includes a DLL file that you can call from other programming languages (so does AutoIt).
- AutoHotkey is open source, AutoIt is not.
- You have to search the AutoHotkey site to put all tools together. AutoIt does better at packaging all in its initial download.
My vote is for AutoHotkey (AHK).
I've used both very much.
AutoHotKey is very good at managing hotkeys and basic GUI automation. It's syntax is horrible and it's not meant for bigger applications.
AutoIt has almost every feature AutoHotKey has and much more. COM-automation support, arrays and a pretty nice UDF (User Defined Functions) library. It's harder to build complex hotkeys in AutoIt.
AutoIt is a tremendous tool and its seductive ease of use and immense library of UDFs, coupled with an unbeatable help file, is hard to compare to.
I tried AutoHotkey, but its clunky feel and shabby syntax turned me off. Why settle for the ugly sister when you can wine and dine the princess herself. AutoIt 100%.
I use both depending on the situation. AutoHotkey is nice for quick keystroke macros and AutoIt has a much broader range of automation functionality and user-defined functions (UDFs) allow a range of useful things such as XML and database interaction. When automation requires a lot of GUI interaction I use AutoIt.
I used AutoIt before AutoHotkey was created (when it had a syntax inherited from BAT files). I don't have enough experience with current AutoIt to make a correct comparison. It has a quite regular syntax, while AutoHotkey's syntax (although greatly improved from the original style) seems odd. People having never coded before actually love this syntax!
I hesitated, read numerous comparisons, and finally chose AutoHotkey despite its syntax. Partly because of its superior hotkey management, partly because it was open source. The author was active (he stopped, but there are alternative branches now) and open to suggestions. I shown a prototype of regular expression support using a PCRE DLL. He integrated the concepts and pushed them beyond (regular expression support in window name detection for example).
Documentation is excellent, detailed and full of examples with a comprehensive index. The community is very active and helpful. The binary is compact and you can make a standalone EXE file with your scripts. It also has GUI support (good for quick simple dialog windows).
I won't say one is better, the choice is mostly a matter of taste, feeling and needs.
I worked with AutoHotkey and thought the language was difficult. I suppose it is either an acquired taste or some people have affinity for it. I was a long-time Perfect Keyboard user but am now a huge fan of AutoIt.
Though it is Basic-like I can still write "C" -like programs which is most comfortable for me. And the libraries for AutoIt, what a time saver. For example, the library for IE has a lot of great and useful functions. Good IDE and active user community.
My vote is with AutoIt.
I have been extremely happy with AutoIt. The language is an easy flavor of Basic. They include great help files, a script compiler, an editor that understands not only the syntax but supports F1 for help, etc. They have plenty of code samples.
I don't have any first hand experience with AutoHotKey - I do remember considering it, but I've never looked back since using AutoIt.
精彩评论