ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Main Area and Open Discussion > General Software Discussion

AutoIt3 versus AutoHotKey

<< < (2/5) > >>

Amadawn:
i always thought autoit was more user friendly but less powerful, but maybe i need to re-evaluate the idea that its less powerful.
-mouser (January 28, 2006, 10:48 PM)
--- End quote ---

I think that is true for AutoIt2 (i.e. AutoHotKey is like AutoIt2++), as I believe that AutoHotKey was born because one of the devs wanted to expand AutoIt2 with new functions while the rest of the devs were focusing on AutoIt3. But AutoIt3 has gone way beyond what you could do with AutoIt2 (GUIs, tray icons, even with their own right click menus, calling COM objects directly from the AutoIt scripts and a lot more stuff) so I think that now it is more powerful than AutoHotKey.

I think that you should download the latest beta and check the help file. You'll see there all the new functionality and then you can make up your mind.

Of course there might be some new stuff that has been put into AutoHotKey that is missing in AutoIt3, but I am not aware of it myself (but I'd love to know about it if someone here knows).

I also find the new syntax much better, but that might be just me :)

Amadawn:
I think the AutoIt exes are kind of bloated though, and the language could have been nicer. I'm almost tempted to do something of my own based on LUA, but... well... AI3 does the job and I can live with the exe sizes.
-f0dder (January 29, 2006, 12:44 AM)
--- End quote ---

Bloated? They hardly are bigger than 150 KB, and I've never seen a compiled script bigger than 200 KB! That is small enough for me! :) Although I must recognize that the size has gone up since the last version, since the GUI stuff was added, as it used to be smaller than 100 KB. The reason is that a compiled AutoIt script includes the actual AutoIt scripting engine. But is that different from AutoHotKey? I believe that both are based on the same code (I think that the AutoIt 3 team is even credited for it in the AutoHotKey web page) although perhaps the AutoHotKey scripts are smaller if they do not have some of the newer stuff (like COM support)?

But I do not want to sound like a fanboy (although I fear that I probably am ;)). In the AutoIt3 forum there have been a lot of requests for an updated compiler that is able to leave out the functions that are not used from the compiled script. The problem is that the function "Eval" which allows you to execute any arbitrary code requires to include all the functions and the devs fear that it would be cause for a lot of problems if some functions were removed.

The things that I miss most in AutoIt3 is a debugger and being able to create proper structs (which would be handy for XML parsing, and for some COM programming, for instance).

I don't know about LUA but you made me curious. Can you give me more info on it? Basic was the first language that I ever learned and that is perhaps why I find AutoIt3's syntax so natural but I understand that some people might prefer a more C like or BAT like language.

f0dder:
Well yeah, I think it's a bit bloated... I would compile the script to bytecode, so the output .exe files don't need to have parser+compiler etc., but "just" the VM + engine. LUA would be pretty suitable for this. But well, I have an assembly background, so I might be a bit oversealous wrt. size ;)

The biggest flaw with AutoIt, IMHO, is that "compiling" doesn't actually compile (and thus, syntax check) the scripts - this sucks if you're 20 minutes into an unattended install, before you realize that your script misses a single string quote character...

LUA - www.lua.org . Lots of software uses it now, including games like Painkiller and World Of Warcraft.

Amadawn:
The biggest flaw with AutoIt, IMHO, is that "compiling" doesn't actually compile (and thus, syntax check) the scripts - this sucks if you're 20 minutes into an unattended install, before you realize that your script misses a single string quote character...
-f0dder (January 29, 2006, 04:17 AM)
--- End quote ---

Have you heard of "Au3Check"? You can find info about it and the download link in the following AutoIt3 forum post: http://www.autoitscript.com/forum/index.php?showtopic=3169. Basically it fixes what you mention. It performs the actual syntax check on any script and it tells you where are the syntax errors (if any). I think that you should give it a try, as I've had the same problem that you mention before I knew about this little tool. I agree with you that they could put use the bytecode instead. The only advantage of their approach is that you can extract the actual script code from a compiled script, which might come handy (you can avoid this by checking the right option on the AutoIt3 compiler though). However I'd prefer that you had at least the option of using bytecode instead as you say.

By the way, if you install the Scite4AutoIt3 package that I mentioned earlier, you'll get this Au3Check as well (it is fully integrated into the editor).

Thanks for the info on LUA. that seems very promising. I didn't know that that was what WoW uses.

Cheers,

Amadawn

wr975:
because they felt that their code was being stolen from them without the proper credit-Amadawn (January 28, 2006, 08:30 PM)
--- End quote ---

There are a quite some threads in the Autohotkey forum about this topic. Here's what I learned: Almost all of Authotkey is own code. Some commands use or are based on source code of AutoIt (back then Open Source, so it's no stealing). The author of Autohotkey lists all these few commands somewhere in the forum and gives proper credit. Some external tools, like the compiler, are almost unmodified from AutoIt. Again, proper credit is given. Heck, if I launch the Autohotkey compiler I see a huge "AutoIt" logo...  ;)

What to use? Which one is the better program to use? You decide. Just use what you want.


FWIW, if you want to advertise for AutoIt, code some Coding Snacks. Because of Skrommel's coding snacks I got interested in Autohotkey and now I can't live without this program...

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version