AutoHotkey versions

Discuss the future of the AutoHotkey language
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

AutoHotkey versions

05 Oct 2018, 16:29

I recently read the history of AutoHotkey... It is incredibly confusing !!
I see that my current version is 1.1.30.00, but this seems to go back years, and then there are 2.0 alpha things, which also goes back many years(!!).

Is AutoHotkey still under active development?
If so, wouldn't it be best to pull everything together and rationalise into a 2.0 release?

Thanks.
swagfag
Posts: 1534
Joined: 11 Jan 2017, 17:59

Re: AutoHotkey versions

05 Oct 2018, 17:49

there's 4 AHK version currently being actively developed:
- AHK_L v1
- AHK_L v2-alpha
- AHK_H v1
- AHK_H v2-alpha

_L v1 so far as im aware isnt going to be getting any new feature updates any more, just bug fixes

if ure a beginner and wondering what AHK version to go for, idk, its hard to say. There are a lot of tradeoffs at play here. My take would be:
- AHK_L v1: Pros - forum support/access to more libraries. Cons - no access to new features/ull have to waste time learning about a lot of useless quirks which wont be relevant in the new version
- AHK_L v2: Pros - new lang features/streamlined. Cons - more limited forum support(kinda, -ish, save for super trivial/behemoth requests, doubt ur question would remain unanswered)/access to fewer libraries/ull have to transpile v1 snippets to v2 urself
- AHK_H v1: use this if u know v1 and need threading
- AHK_H v2: use this if u know v2 and need threading

tl;dr if ur script isnt using any v1-exclusive libs, write it in v2
User avatar
jeeswg
Posts: 5403
Joined: 19 Dec 2016, 01:58
Location: UK

Re: AutoHotkey versions

05 Oct 2018, 18:06

- I use AHK v1.1 and write code in as forwards compatible a way as possible.
- Plus I use:
commands as functions (AHK v2 functions for AHK v1) - AutoHotkey Community
https://autohotkey.com/boards/viewtopic ... 37&t=29689
- So I'm writing code that's almost AHK v2 code in AHK v1.1.
- If you're doing a complicated GUI, I might recommend to use AHK v2.
- By using 'AHK v2 functions for AHK v1' and always using 'if' with parentheses, (and maybe some other things,) there are virtually no AHK v1 syntax quirks. I can only think of Loop requiring 'force an expression', off the top of my head.

- The changelogs for AHK v1.1/v2 show that development for both has been quite active. (Thanks.)
Changes & New Features | AutoHotkey
https://autohotkey.com/docs/AHKL_ChangeLog.htm
AutoHotkey v2 alpha (UPDATES) - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=37&t=2120
User avatar
nnnik
Posts: 3526
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: AutoHotkey versions

06 Oct 2018, 00:48

AHK_H has several advantages. Threading is just one of the few that are more well known.
Recommends AHK Studio
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

Re: AutoHotkey versions

06 Oct 2018, 00:58

I'm a complete beginner, so I don't know v1 or v2. I just went to the autohotkey.com site and downloaded and have built quite a lot of useful scripts for myself in the last few weeks.
I generally like to use what is a) most heavily used, and b) most stable.

So, when you say "v2", I only see one under autohotkey.com, which is "v2 alpha", so I went there and I see:
"The current alpha release is usable, but some features, behaviour or syntax may be altered in the next release or future releases."
But that doesn't sound like a stable build that I would want to use, but from what you guys are saying v2 is maybe pretty stable?
I also note that there is no discussion of the changes to the language syntax, so if the syntax changes are major, then I wouldn't know what to do.
I'd say that "v2 alpha" looks pretty unattractive to people based on these points.

Also, I cannot see if v2 alpha is "AHK_L v2" or "AHK_H v2" (threading or non-threaded by the above)?
Where is the main page for AHK_L v2?
Where is the main page for AHK_H v2?

So I'm still a bit confused. The description makes v2 alpha sound messy and incomplete (not going to attract many people to get on board that way!) and as if a release could be years off.
Do you expect a final (consolidated) AHK v2 in the near future, or will there be AHK_L v2 and AHK_K v2 versions

Thanks for actively updating this jeeswg, what do see as the roadmap / expected release dates (and are you working on (AHK_L v2 or AHK_H v2)?
And will there be full documentation for the language (since "The current alpha release is usable, but some features, behaviour or syntax may be altered in the next release or future releases." doesn't sound complete)?
Having a consolidated single language that all people can work around is pretty important to building a solid userbase. I see that the history of AutoHotkey is a fractured mess, but it would be great if a single unified v2 (non-alpha, non-beta, but full release, with full documentation) was released, or do you think that _L / _H mess will continue going forward?
Last edited by roysubs on 06 Oct 2018, 01:22, edited 1 time in total.
User avatar
nnnik
Posts: 3526
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: AutoHotkey versions

06 Oct 2018, 01:22

AHK_L is in fact AHK v1.1 - the most used version of AHK.
AHK v2 is the v2 Version of v1.1.
AHK_H is HotkeyIts personal fork of AHK that has a few nice features.

AHK v2 is still in active development and there might be breaking changes regarding the syntax - most of the major stuff is set in stone though.
Recommends AHK Studio
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

Re: AutoHotkey versions

06 Oct 2018, 01:38

Thanks nnnik, that's clear ta, but damn, that's gnarly that there is a fork with those nice features.

Can't these guys get coordinated and make v2 something that includes those nice features and has a single 2.0 development path, or is there a bunch of bitterness and arguments? Absolutely hate when that happens, massive turnoff for a language, wish there could be a single v2 or the 2 groups could work to merge those features.

What do you use? Are there huge differences between AHK_L v2 and AHK_H v2?
User avatar
nnnik
Posts: 3526
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: AutoHotkey versions

06 Oct 2018, 01:47

There are a few issues with how things are implemented in AHK_H.
They are in a way hackish and thats not saomething you want in a language.
AHK_H v2 is following AHK v2 closely and essentially just merges all changes AHK v2 makes back into itself.
It just adds a few new features - any script that will run under AHK v2 will run under AHK_H v2
Recommends AHK Studio
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

Re: AutoHotkey versions

06 Oct 2018, 06:13

Thanks, ok, sounds like there might be some kind of light at the end of the tunnel then.
I will stick with AHK v2 then if possible (hate that it's called 'alpha' though, makes it sounds like *absolutely broken crap* (especially as it's been in 'alpha' for like 4-5 years??), please get that changed to a proper beta version and try to have some kind of release schedule!

However, I'm beginning to get annoyed by the syntax. I'm finding old forum things with things that don't work and using #if or if or If WinExist or IfWinExist or #IfWinExist, braces like { } or when to use 'return', that's all driving me a bit crazy as a beginner as I've not found a good document that rationalises things.

For v2, can you point me at a good document that describes principles, what structures work, and what structures have been completely killed off in what v2 is trying to achieve? That would be great.
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

Re: AutoHotkey versions

06 Oct 2018, 06:34

Also, when I go to download v2, I get this a horrible red screen with "Dangerous program alert!" and

"The site ahead contains harmful programs. Attackers on autohotkey.com might attempt to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit)."

Oddly, I don't get that from the 1.1.30.00 download link. It's really not going to win many converts with an 'alpha' version that looks essentially unchanged since 2014, with Chrome giving tons of warnings that the download is a virus, and no clear release schedule of beta versions with a predicted release date (honestly, I so want to use this, and want to really get into using it for some projects, but stuff like this just turns people off and makes them go and look around elsewhere imho).
swagfag
Posts: 1534
Joined: 11 Jan 2017, 17:59

Re: AutoHotkey versions

06 Oct 2018, 07:46

https://autohotkey.com/v2/v2-thoughts.htm
https://autohotkey.com/v2/v2-changes.htm
its right there on the v2 main page. although idk the extent to which these documents will make sense to u, if u arent already somewhat familiar with how things used to be in v1
regardless, if u find something confusing or unclear, ur best bet is to just ask on the forum, discord or irc
User avatar
nnnik
Posts: 3526
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: AutoHotkey versions

06 Oct 2018, 10:00

We only have so many developers - thats why it takes a long time to overhaul the program.
Also I think you should calm down and stop being so aggressive. We provide this language in our free time and people like you make me want to stop doing that.
Lastly we cannot do anything about the Google Chrome warning. There has been multiple reports of this not being malicious or anything like that.
The only thing we can assume is that we are apparently unwanted due to whatever bs Google Chrome came up with. (A lawsuit is clearly needed.)
Recommends AHK Studio
SOTE
Posts: 218
Joined: 15 Jun 2015, 06:21

Re: AutoHotkey versions

06 Oct 2018, 10:59

roysubs wrote:Also, when I go to download v2, I get this a horrible red screen with "Dangerous program alert!" and

"The site ahead contains harmful programs. Attackers on autohotkey.com might attempt to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit)."

Oddly, I don't get that from the 1.1.30.00 download link. It's really not going to win many converts with an 'alpha' version that looks essentially unchanged since 2014, with Chrome giving tons of warnings that the download is a virus, and no clear release schedule of beta versions with a predicted release date (honestly, I so want to use this, and want to really get into using it for some projects, but stuff like this just turns people off and makes them go and look around elsewhere imho).
Over the years, it appears Google has become a bit nefarious, where it takes questionable actions and does black listing for internal reasons and to take advantage. If you are a Chrome user, the best actions you can probably take is go to the Chrome product forums and file a report- https://productforums.google.com/forum/#!forum/chrome or use Google Feedback- https://www.google.com/tools/feedback/intl/en/

Another alternative is to drop Chrome, and use a different web browser like Edge or Firefox.

It appears that on AutoHotkey's side, they must go out of their way to take various steps hoping to appease Google- (https://developers.google.com/web/funda ... hl=en&rd=1) Though I do wonder if there is some regional Google office you can call and lodge a complaint to directly.
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

Re: AutoHotkey versions

06 Oct 2018, 11:20

nnnik wrote:We only have so many developers - thats why it takes a long time to overhaul the program.
Also I think you should calm down and stop being so aggressive. We provide this language in our free time and people like you make me want to stop doing that.
I'm not criticising that at all! It's not aggression. I like it very much and have really enjoyed what I've been able to build so far, so I'm just curious and hopeful that a consolidated version would give me one version that I could target. If you tell me that you don't think there will be a v2 final release for 1-2 years, that's fair enough, it's your baby. I'd probably be curious why not just make a release version as it is now and then add newer features as and when you can, but whatever you decide is fair enough.
nnnik wrote:Lastly we cannot do anything about the Google Chrome warning. There has been multiple reports of this not being malicious or anything like that.
The only thing we can assume is that we are apparently unwanted due to whatever bs Google Chrome came up with. (A lawsuit is clearly needed.)
Not the first time I've seen that sort of bs for sure, but it just struck me as odd that the 1.1.30.00 download on the same page doesn't get that warning(!!)... Just a thought, but maybe they look on 'alpha' releases as a potential threat and so just flag them that way.
User avatar
nnnik
Posts: 3526
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: AutoHotkey versions

06 Oct 2018, 12:15

lexikos is the main maintainer of AHK. I just contribute every once in a while.
Google flags all of our downloads as malicours - even the AHK Basic download (a version thts outdated and just available for download for historical reasons).
Apparently they redeived so many complaints from us that they removed the warning from the main download - the fact that AHK v2 is in alpha should not be an issue at all.
(Especially considering that several other products are available in alpha version too.)

The reason why AHk v2 cannot be put in beta yet is the fact that several features still need to be removed or changed.
Recommends AHK Studio
roysubs
Posts: 141
Joined: 29 Sep 2018, 16:37

Re: AutoHotkey versions

06 Oct 2018, 12:48

Well, thanks for all of the hard work. Hopefully beta soon then, and then maybe a union between _H and _L and then maybe Microsoft buy you all out making you all multimillionaires and they put AutoHotkey into Windows 10! ;)
User avatar
jeeswg
Posts: 5403
Joined: 19 Dec 2016, 01:58
Location: UK

Re: AutoHotkey versions

06 Oct 2018, 15:50

- @roysubs: One comment of yours that surprised me is:
an 'alpha' version that looks essentially unchanged since 2014
- There have been lots of changes, even *today* there was a change.
AutoHotkey v2 alpha (UPDATES) - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=37&t=2120
- Here's a map of activity for AHK v1.1 and AHK v2. (Note: new AHK v1.1 features are normally added to AHK v2, and sometimes the other way round.)
Lexikos (Steve Gray) · GitHub
https://github.com/Lexikos

- My functions to help write 'AHK v1.9'-style scripts should work on AHK_L v1.1, and I suppose on AHK_H v1.1, which I haven't tested.
- I've also been working on an AHK v1 to/from AHK v2 converter. (I'll release AHK v1 <- AHK v2 code when I complete a function library I'm working on.)
- I wrote a changes summary here:
AHK v1 to AHK v2 conversion tips/changes summary - AutoHotkey Community
https://autohotkey.com/boards/viewtopic ... 37&t=36787
- There hasn't been much in the way of new script-breaking changes since that last conversion guide update, and it doesn't look like there will be many in future:
v2-thoughts
https://autohotkey.com/v2/v2-thoughts.htm
- The one exception is: I'm wondering if there are any implications for rewriting custom object classes ...
lexikos
Posts: 6207
Joined: 30 Sep 2013, 04:07
GitHub: Lexikos

Re: AutoHotkey versions

07 Oct 2018, 03:00

jeeswg wrote:There hasn't been much in the way of new script-breaking changes since that last conversion guide update, and it doesn't look like there will be many in future
It may appear that way because v2-thoughts is missing some significant things that I haven't written about, either because I'm still slowly working out details, or because writing about it would take more time and energy than just doing it, and I'm short on both (or just motivation/inspiration).

v2-thoughts mostly covers things that I haven't had motivation to do yet, either because they're not interesting or because they depend on other ideas that I haven't written about or completed (some of which relate only to code maintenance, not syntax or behaviour).
roysubs wrote:Hopefully beta soon then,
The beta will not be "soon". There will never be a development schedule. Development is almost entirely dependent on my motivation/level of interest at any given time, and whether I'm able to get into the mindset needed to actually do the work. Any volunteer with sufficient motivation could push things along, but I wouldn't count on much progress happening that way.
and then maybe a union between _H and _L
If you want AutoHotkey_L plus whatever changes HotKeyIt has made, that is exactly what AutoHotkey_H is. With it being a separate fork, HotKeyIt (or any other volunteer) is responsible for maintaining the code and documentation for features that he has added or changed. I have no desire to take on that responsibility, and as yet, have not wished to integrate any of the changes.

Return to “AutoHotkey v2 Development”

Who is online

Users browsing this forum: No registered users and 16 guests