Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate

autoIT versus autohotkey


  • Please log in to reply
291 replies to this topic
he929
  • Guests
  • Last active:
  • Joined: --
Thank you very much, fragman, this puts things into perspective - into good perspective, that is, re AHK and re fincs' posts.

Thank you also, fincs. I know that developers virtually always suppose other people should know what kney now, so developers are mostly bad with explanations and / or refuse to give any.

The postings of B-2Admirer are a little bit frightening since they confirm what I have yet seen for myself, and what he says is certainly true, as are fincs words.

So, somebody starting should be well advised to choose AI, it seems?

If I'm not 100 p.c. sure yet, that's because AHK has got a lot of functions that AI hasn't got, for processing and checking the clipboard, and if you run scripts that do a lot of shuffling pieces of text around among several applications, it seems those AHK functions come VERY handy.

So, arrays not being a deal breaker anymore, it's the sloppy programming style of AHK that bothers me (a lot), yet I think I need some of AHK's exclusive features...

It's weird: AT's function list is MUCH longer than AHK's, but there are important functions that AI doesn't seem to have, whilst AHK has got them...

Learning both languages would be too much, so what to do?

fragman
  • Members
  • 1591 posts
  • Last active: Nov 12 2012 08:51 PM
  • Joined: 13 Oct 2009

Good luck. When I view a piece of AutoIt code it hurts my eyes, I really don't like it all.

Well, I think I know what you mean :wink: All those quotes, parenthesis and dollar signs may seem unsavory if you aren't used to them, but hey, this is what makes a script logical. In AutoIt there is no need to escape anything but quotes (by doubling them). In AutoHotkey you may have to escape commas, percents, accents, semicolons, spaces... and quotes, which is bound to lead to wasting time on debugging a seemingly sound script.

You don't need to do that in expression mode. In commands which use traditional syntax you can prepend "% " (without quotes) to for the argument to take an expression. Functions take expressions all the time.
AHK v2 will also be able to change between using function or command syntax at will, so you could simply only use functions there. There's also a wrapper library for the commands around if you prefer to use that.

B-2Admirer
  • Members
  • 7 posts
  • Last active: Mar 06 2012 11:34 AM
  • Joined: 14 Oct 2011

You don't need to do that in expression mode. In commands which use traditional syntax you can prepend "% " (without quotes) to for the argument to take an expression. Functions take expressions all the time.
AHK v2 will also be able to change between using function or command syntax at will, so you could simply only use functions there. There's also a wrapper library for the commands around if you prefer to use that.

To be honest, I don't completely understand you.
In any case, If the syntax allows a number of different ways to get the same result, it doesn't mean it's as good as the "best" of those ways, it only means it's very messy. To be good a programming language syntax HAS to be as strict as possible, P-E-R-I-O-D. I hope I don't have to explain the reason.

Just look at the way AutoHotkey syntax is developing: in many cases newly-introduced parameters of the existing functions have to be specified by adding an asterisk with some text to the existing parameters (read the descriptions of FileRead, for instance, and tell me if it isn't repulsive). One has to wonder if it wasn't done on purpose to make the syntax even uglier than it is. Especially since the developers don't even try to be consistent. Compare how the binary mode is set for FileAppend (asterisk before the filename).

Regarding AutoIt versus AutoHotkey: some environmet is always going to have functions that the other doesn't, but the pure hardcore truth is that AutoIt has much better syntax and much fewer inherent limitations. I, for instance, gladly traded away all the unique functions of AutoHotkey for the ability to handle data wuth binary zeros.

  • Guests
  • Last active:
  • Joined: --

... gladly traded away all the unique functions of AutoHotkey ...

Reading your various posts I do get the distinct impression that your knowledge (and skills) of AutoHotkey is/are lacking and are not based on extensive research or experience. But go have fun with AutoIt, we'll just stay here and play with our favourite tool ;-)

B-2Admirer
  • Members
  • 7 posts
  • Last active: Mar 06 2012 11:34 AM
  • Joined: 14 Oct 2011

Reading your various posts I do get the distinct impression that your knowledge (and skills) of AutoHotkey is/are lacking and are not based on extensive research or experience.

As long as they're sound enough for me to make the right choice, that's all that matters. I'm not interested in persuading anyone.

It seems very strange, however, that someone with (supposedly) high level of skills & knowledge of AutoHotkey doesn't even have an accout on AutoHotkey Community forums.

  • Guests
  • Last active:
  • Joined: --

... doesn't even have an account on AutoHotkey Community forums.

That is what AutoHotkey and its forum is all about, freedom to do as you like :wink: (not that I'm a skilled user nor try to convince anybody either).

If your background is programming you may indeed prefer a more strict syntax, but remember that one of AutoHotkey's purposes was to develop something that could be easily be used by non-programmers, and commands do seem easier to understand when you have little or no programming knowledge.
And lets not forget AutoHotkey has its roots in AutoIt version 2.0 which had that command syntax and no functions at all. When AutoIt v3 was developed they adopted an entirely different approach and new syntax. As I said before to each their own. Although you are now a AutoIt convert, I do hope you stop by every now and again to keep track of AutoHotkey developments (like v2 which you will probably like a lot more).

jaco0646
  • Moderators
  • 3165 posts
  • Last active: Apr 01 2014 01:46 AM
  • Joined: 07 Oct 2006

AutoHotkey has its roots in AutoIt version 2.0

Why do people keep saying that?

AutoHotkey does not use any AutoIt v2 source code. However, it does use some AutoIt v3 code (less than 5% on a lines-of-code basis)

...and as AHK_L grows, that 4% gets smaller and smaller.

  • Guests
  • Last active:
  • Joined: --

Why do people keep saying that?

Probably because its true ;-)
Roots <> source code. :!:
As luck would have it I still have a 28 AutoIt v2 scripts on my PC (because I'm a sentimental person). Have a look at one of my oldest scripts:
HideAutoItWin, On
WinMinimizeAll
WinActivate, Program Manager
Send, !{F4}
WinWaitActive, Shut Down Windows
Send, !s
Send, {ENTER}
Exit
I dunno but sure looks familiar to me ;-)
And of course <!-- m -->http://www.autohotke...utoIt2Users.htm<!-- m -->
(Feel free to edit post above if you know a better word for "roots")

fragman
  • Members
  • 1591 posts
  • Last active: Nov 12 2012 08:51 PM
  • Joined: 13 Oct 2009

You don't need to do that in expression mode. In commands which use traditional syntax you can prepend "% " (without quotes) to for the argument to take an expression. Functions take expressions all the time.
AHK v2 will also be able to change between using function or command syntax at will, so you could simply only use functions there. There's also a wrapper library for the commands around if you prefer to use that.

To be honest, I don't completely understand you.
In any case, If the syntax allows a number of different ways to get the same result, it doesn't mean it's as good as the "best" of those ways, it only means it's very messy. To be good a programming language syntax HAS to be as strict as possible, P-E-R-I-O-D. I hope I don't have to explain the reason.

Just look at the way AutoHotkey syntax is developing: in many cases newly-introduced parameters of the existing functions have to be specified by adding an asterisk with some text to the existing parameters (read the descriptions of FileRead, for instance, and tell me if it isn't repulsive). One has to wonder if it wasn't done on purpose to make the syntax even uglier than it is. Especially since the developers don't even try to be consistent. Compare how the binary mode is set for FileAppend (asterisk before the filename).

Regarding AutoIt versus AutoHotkey: some environmet is always going to have functions that the other doesn't, but the pure hardcore truth is that AutoIt has much better syntax and much fewer inherent limitations. I, for instance, gladly traded away all the unique functions of AutoHotkey for the ability to handle data wuth binary zeros.

I agree that the AHK syntax could/should be more consistent in some areas and it would help if there were fewer exceptions. Luckily AHK V2 attempts to fix many of these issues. For myself I'm simply avoiding traditional syntax most of the time (except for command parameters) and I have successfully written a few ten thousand lines of AHK like that so I think I'm entitled to some judgement here. In the end it's a matter of taste and task that influences the choice of tools.

Mickers
  • Members
  • 1239 posts
  • Last active: Sep 25 2015 03:03 PM
  • Joined: 11 Oct 2010
@guest
I've heard more than a few claims that Ahk has roots in AutoIt yet no one has been able to prove it. Just because something looks similer doesn't mean it is it has the same roots. Monkeys DNA is only somthing like 5% off from humans but an elephant has the same %. Does that mean we have the same chance of being related? :wink:

  • Guests
  • Last active:
  • Joined: --

I've heard more than a few claims that Ahk has roots in AutoIt yet no one has been able to prove it.

You complete misunderstood what I said + you have no clue about the history of AutoHotkey.

So the author began his own program from scratch basing the syntax on AutoIt v2 and using AutoIt v3 for some commands and the compiler.


Don't take my word for it though. Chris himself: <!-- m -->http://www.autohotke... ... 9710#19710<!-- m -->
Replace roots with your own preferred word, "inspired by" for all I care. Bottom line: If there hadn't been a AutoIt v2, AutoHotkey would probably have never been developed.
My last post about this btw, I prefer AutoHotkey and AutoIt v2 over AutoIt v3 and I'm not here to troll if that is what you are thinking.
Chris created an excellent piece of software. Period.

Mickers
  • Members
  • 1239 posts
  • Last active: Sep 25 2015 03:03 PM
  • Joined: 11 Oct 2010
@guest
I don't need to know the history of AutoHotkey to read all the posts made in the past year that claim that Ahk has roots in AutoIt to know that there all rubbish.

+ I don't really give a care for people that spend all there time in the AUTOHOTKEY forum talking about how AutoIt is so much better or that Ahk is just a spin off of it...
Edit:
Perhaps that was a bit harsh. Still true though. :p

My last post about this btw

/bye

tank
  • Administrators
  • 4345 posts
  • AutoHotkey Foundation
  • Last active: May 02 2019 09:16 PM
  • Joined: 21 Dec 2007
The fact is Mickers AHK's creator is a defector of autoit by his own admission. and according to him in that very thread linked above he states matter of factly that 34 commands are based on autoit code. It doesnt matter about the rest or why. And honestly the whole point of debating this very fact is idiotic by both sides of the coversation. the author stated these facts so anything else is BS
Never lose.
WIN or LEARN.

UberFoX
  • Members
  • 3 posts
  • Last active: Dec 01 2011 01:24 PM
  • Joined: 29 Nov 2011

The fact is Mickers AHK's creator is a defector of autoit by his own admission. and according to him in that very thread linked above he states matter of factly that 34 commands are based on autoit code. It doesnt matter about the rest or why. And honestly the whole point of debating this very fact is idiotic by both sides of the coversation. the author stated these facts so anything else is BS


Who cares what source stuff came from? Its obvious AHK creator is simply taking something he wasnt happy with and making it better the way he wants it to be.

Playing with pure binaries isnt always fun but being able to make core changes and even branch off and make your own trunk definately is a lot of fun and a great learning experiance.

Frozenthia
  • Members
  • 59 posts
  • Last active: Sep 10 2013 07:12 PM
  • Joined: 18 Dec 2010
In an aesthetic point of view, the Autohotkey syntaxt can be improved to be as neat as AutoIt.

However, that's only to please my eyes. Autohotkey still has superior documentation and support, in my opinion.
Syntaxt is not enough to make people want to go learn a scripting language that has poor documentation and support that makes one cringe.

Good spirit has also led to better collaboration.

Edit: I thought I read enough, but I should have read this entire thread, since I only echoed what other people have already said.