Here is the deck we presented in the AutoHotkey webinar on AutoHotkey Version 2
The 62nd AutoHotkey webinar discussed the benefits and challenges of switching to version 2, which offers improved consistency and cleaner code, but may require code conversion and can be less forgiving for beginners.
- 00:00 📢 The 62nd AutoHotkey webinar discussed podcast topics, demonstrated Quick Access Pop-up, and provided a code template for running AutoHotkey in a specific business with the Unicode version.
- The 62nd AutoHotkey webinar had 112 registrants and participants were asked to ask questions in the chat instead of speaking due to the potential for confusion.
- The speaker discussed various podcast topics including version two, increasing the likelihood of script running on multiple computers, and the pros and cons of subscription-based vs one-time fee sales.
- The speaker shared their screen and demonstrated how to use Quick Access Pop-up with AutoHotkey in the 32-bit version.
- The speaker provides a code template that can be downloaded to force AutoHotkey to run in a specific business with the Unicode version, which is a useful function that should be built into AutoHotkey.
- 04:45 🚀 The new version of the cjson parser improves code consistency and speed, while the changes in autohotkey code may be less forgiving for beginners.
- Geek dude’s new version of the cjson parser works in both 64-bit and 32-bit, and thanks to everyone who develops and runs the forum.
- The speaker discussed the changes from version 1.1 to version 2 and provided examples of how to correctly convert code to avoid errors.
- In the updated version, everything is a function and errors occur when a variable is not declared, resulting in better code and fewer commands.
- The upgrade may improve consistency and speed, but benchmarking is needed to determine the extent of the improvements.
- The changes in version two of autohotkey code are simpler and less arbitrary, but may be less forgiving and not as easy for beginners to learn.
- The speaker thinks the new conversion process is great despite concerns, and is currently working on a converter that is improving but may have difficulty handling large changes.
- 14:01 👨💻 Arrays, hotkeys, and objects behave differently in Autohotkey version 2, but it has improved consistency and nested functions.
- Arrays behave differently in version one and version two, with brackets and points having different effects, and it’s important to understand these differences when working with arrays.
- Fix hotkeys by adding brackets and use an ampersand before name to avoid errors.
- Version 2 of the programming language requires a space instead of a comma for the first variable in commands, and the use of objects has been changed.
- Autohotkey version 2 has improved consistency and nested functions, making it easier for editors to do their intellisense type stuff and allowing for special tools without interfering with the rest of the program.
- Learning it was easy with just understanding the birth variables, and there were not many difficulties encountered.
- 22:25 📝 The speaker discussed code conversion challenges and loop confusion, while also sharing their struggles with using Hit Up and making changes to improve their skills.
- The speaker discussed adding an ampersand sign to the function declaration and clarified that loops are not functions.
- The speaker created a converter to convert version one code to a new version, but loops as a function can be confusing and the converter is currently only for testing purposes.
- The speaker discussed the challenges of converting code and the need to sometimes invent methods to achieve the same results, while acknowledging that there may be better ways to code and asking for a link to the converter.
- The speaker struggled with using Hit Up, a coding script adopted from another person, and made changes to it before the original coder stopped helping, leading to the speaker working offline to improve their skills.
- 28:24 👨💻 Switching to version two of AutoHotkey can avoid issues and the speaker is working on converting functions from version one to version two.
- V2 began around 10-12 years ago and the error level variable in V2 produces the same result as the V1 goat.
- Consider switching to version two to avoid the same issues Python faced when switching between versions two and three.
- Many people still have thousands of Python 2 scripts written in legacy libraries and converting them to Python 3 can be a daunting task.
- The speaker demonstrated how to run different versions of AutoHotkey using a small script that detects the version number in the first 20 lines of the file.
- The speaker is working on converting functions from version one to version two, focusing on the most used ones, and believes that com objects should work the same regardless of the language used to connect to them.
- 36:49 💻 Using AutoHotkey version 2 leads to cleaner and more consistent code, with a 64-bit installer for easier management of hotkeys and scripts.
- Functions are preferred over commands in programming as they have a cleaner syntax and are easier to understand, and while the old way of dealing with double quotes in version one is no longer available in version two, single quotes can be used instead.
- Using version two of the converter leads to more consistent and cleaner code in the long run.
- When installing AutoHotkey version 2, it does not install version 1 and comes with a 64-bit installer, which allows for easier management of hotkeys and scripts.
- Learning the syntax of a new coding language is important to be able to use the same rules in your code and make the transition easier.
- Version one library for functions has two functions inside, and it is easy to transition without converting the whole code, but it is hard to differentiate between exchanges.
- The speaker stumbled upon forum posts about hotkeys using vanilla and l versions while learning dot notation with auto hotkey.
- 47:00 💻 AutoHotkey users should consider using separate sub-forums or tags to indicate the version being used, and a converter can help avoid problems when transitioning to version 2.
- Use separate sub-forums or tags to indicate the version of AutoHotkey being used to avoid confusion, and consider using custom extensions for more interactive output.
- Autohotkey version 2 has new functionality and changes that shouldn’t break version 1, but it may take a while for it to gain widespread popularity.
- Language should be concise and consistent, although every language has its quirks.
- A gradual move to version two would damage adoption and cause problems in the community, so a converter can be a great help for people to avoid that kind of mess.
- Automating 80% of the work is helpful and efficient, as it saves time and effort.
- 54:59 👨💻 It’s suggested to make a community-wide effort to switch to a new version of AutoHotkey to avoid supporting multiple languages, but it may be difficult due to the large amount of content that still works with the old version.
- There are some improvements in AutoHotkey version 2, but there is no compelling reason for existing users to switch to it.
- Users may not switch to AutoHotkey version 2 quickly as long as they can find examples of version 1 scripts in the community.
- To avoid the challenge of supporting multiple languages, it is suggested that a community-wide effort should be made to switch to a new version as fast and hard as possible, although it may be difficult due to the large amount of content that still works with the old version.
- The majority of code in the programming language Otaha is found in a select few places, such as Reddit and hockey forums, and efforts could be made to create a foolproof converter to update outdated code.
- The speaker suggests using a tool to nudge developers to use version two and setting up rules to check for version one code in posts to reduce confusion and fragmentation in programming languages.
- The speaker discusses the implementation of Lactico’s version of AutoHotkey and how it drove some people away, while also mentioning the debate between Lactico’s version and the previous version.
hey everyone it’s joe lyons here out of dallas texas yeah and jackie’s too clear from copenhagen denmark andyeah and dimitri our our guest presenter today iswhere was it belgium actually i couldn’t rememberyes i’m from belgium i thought it was southern texas with that accent butanywayso we’re at thei believe 62nd AutoHotkey webinar which again that’s a sounding numberand here’s some info from jackie and i let’s go on to the next slide there’s 112 registrants now we
know most people just watch the you know things after and get the resources so we don’t expect everybody here although everyone starts off new to everyone i think i recognize everybody here so you all know thiswe don’t mute you because we want to be blabbering it’s just because with too many people talking it gets very confusing fast so if you have a question you know ask in the chat which jackie or i will be monitoringor you know if you want ask you know mention you have a question and then we’ll
wait until dimitri’s done talking or whoever’s talking and then bring it up at a good time butyeah that’s that’s how that goes and then also we’re gonna start off in this one we’re talking about v2 which i’m really excited to hear more abouthowever after the first hour you know if we have some q a on it then if you have a specific question with something you’re working on we’re more than happy to try to help you with that so stick around if you aren’t interested in
v1 we didtalking about it actuallyi would love we should have if we had thought ahead of time we would have asked sean
to come on as well and had his his thoughts on itwhether you should be selling something as a subscription based first a one-time fee or or doing both it was an interesting conversation especially with the way the world’s going and the pros and cons of each each approach all right so the the script highlight and now let me let me paste the link to this in case anyone’s interested this is where you get it so and we did it live in in a webinar i’m sorry in a video isaias and i werei told him somehow we came to the topic
of something we had had to run in version 32bit version of Auto Hotkey and i like normali’m gonna pull up my i am sharing my screen right yeah you are yeah okay the highlighting is gone for some reason so here if i go this is quick access pop-up if i come under here under a Hotkeyi had some stuff for oh it’s funny i rewrotein from oh so force as 64-bit you know 32-bit and 64-bit this is code i in my little templates i could inject that would tell AutoHotkey make sure you know when this launches to relaunch it
if it’s not in the right businessthese were two different you know complete things of code and the code was so similar and i said hey you know what isaias this is a great example where a function just passing a parameter is perfect so let’s record a video on itbut i just wanted to to provide it here so that’s the link you can download it and you can just basically launch it with either one of these right this is run 64 or run 32 and that will force you just put that above in your script and of course
include the function either in your library or in the code and it will force AutoHotkey to run in that business with the with the ottawaHotkey u unicode v1 we typically use butyeah it’s a cool little thing that i i wish this was something built into AutoHotkey that i could you know force that on its own without having to create it because the code itself isit’s not complex but it is you know sort of confusing in that sense and you have to search for it so this is
just a great easy way it would just be nice to be able to have that option to set it as i guess what would you say jackie a directive maybe to be able to control that yeah yeah that would probably be one way to do it for sure so yeah soif you ever have anything now i i typically run into it with like calm objects oruh parsing a json althoughgeek dude who’s here now and i mentioned a few minutes ago his new version of the cjson parser now works in both 64-bit and 32-bit so kudos to youand geek
dude for you know and all you got everyone that’s doing developing stuff i was going to say a big shout out to lexico’s when we get into v2 is these people put in a lot of time and they they help all of us and i always feel kind of guilty because i don’t know if they ever get the love that they’re deserving i mean they hear it back a lot i think they’ll see posts here and there but we all owe them a huge amount of debt that’s just awesome so thanks everybody for for all the work
you guys do and everyone running the forum and stuff is crazy okay dimitri and i could put this together we’ll share some resources but this isn’t something i was going to share demetria do you want to share from your desktop or you want me just to flip the screen the i’lli’ll start sharing okay can you see my screen yes yeah okayas probably most of you guys knowthere’s actually a kind of good sideto desperate all the changes of version 1 to version 2 actually 1.1 to version 2.
but i try to come up with some examples to display make it a little bit more concrete what’s what is actually changing and also i know some things that really up your code if you don’t convert it correctly that even you you don’t get arrows but you will getyeah some trouble so main part probably everybody here knowsshould i type text or should it be a variable it’s more clearly defined and more consistent that you always just use expressions and that every everything is just a function that’s quite
just easy for me thing that you will probably encounter is that you will get errors when a variable is not declared for example this code would result in in this era and it seems annoying but it prevents mistakes when coding if you mistype your variable name then you will would it’s possible that you wouldn’t even notice it and i like it because your code will become better by it yeah and yeah like i already toldevery command is now just functions so they also means that you
can get a return value it can be an object or just a string for example the [Music] message box has also become a function and it will result a string that that will will display what what happened with the message boxif the timer it occurred or which button is pressed things like that so that also means that some some special quirks of v1 of the really interesting things that i had read was that everything now is a function and if
i remember right you don’t even need the parens which to me really confuses the the crap out of me butit was interesting yeahyeah here’s an example of some functions that will start returning objects and for the input box for example it will get your value but also the result if something is canceled and things like that will it will take some time to to understand it and to to use it but i think in the end it’s it’s way easier now dimitri and i don’t want to throw you off course here but um
did you look into a bit of the meeither like performance as far as that is is that going to be pretty consistent is it is this the the major changes having more to do with being consistency than it does any certain anything to do with performancei haven’t checked it butfrom what i read from the problem it’s apparently also an upgrade for thethe speed would also be greater so but we we should actually do something it would be a nice topic to do some benchmarking on it [Music] but that will probably also depend on
what you’re testing and some things will greatly improve and other will be probably be exactly the same yeah and and i know at least i’m sorry my understanding was a lot of the changes that lexicos was making was to to tie up some of the not arbitrary but you know the kind of craziness on on how code was origin not originally but you know implementedhowever to me one of the big strengths was that AutoHotkey code was so simple for noobs right people coming in it was very very easy to understand and
the stuff in v1 you had sometimes you
need to do it like that and sometimes like that yeahit’s funny gabe cook here he’s my my code codecation buddy that you know we usually every year we take like a codecation or we program together and foryou know about a year and a half or so we were trying to learn python and both of us when we were first started learning python we we didn’t like how constrained we were and how we had to do things and then later i think we both also agreed it was like it actually did it was a plus it seemed
like it was a negative but it was a plus it forced us to you know have your space delimited things in a certain way and it was just it really was a benefit it’s just going to be painful if you were used to the old way switching over but once you get used to it i think it’s great yeah i read here on the on the chat that they’re a little bit concerned about the conv2 but actually i’m i’m currently working on on the converter andit’s actually quite working
better and better but the only thing isif the changes are largei’m not sure if i can handle everythingbut i’ll oh i can show you a demonstration of it later onyeah for example but i’ll talk about the difficulties a little bit later let’s firstsee the examplesi mean there’s also something very pretty with their ah damn it my english if you have arrays on the v1 it behaves different than in v2 if you have brackets or you use a point it’s different and in version 2 it’s the
same i can demonstrate it for you so let’s test it in the v1 then we just get the the text of the the first variable of the array and if you run the same in v2 you you will notice that you don’t have the propertycalledyeah that is just now the element doesn’t exist i think so that’s something that could really if you’re working a lot with arrays you’ll need to be careful that and you’ll you’ll need to understand it’s quite good to to fix it um
anAuto thingsomething quite easy to fix is just that all yourHotkeys are now actually the same as functions you’ll need brackets for them yesanother thing that you but this is actually quite easy to convert if you have a pi ref variable oh i have made ityou need to add the what’s what’s the is it ampersand yes you need to have an ampersand before name else you’ll you’ll also get an error it’s actually i’m
not really sure why why have they done this but yeah it’s again more consistent and what is also quite kind of strangeif you want to loop or just any command the first variable doesn’t require a comma if you use a the command syntax and that’s i think most of the people find it very strange because yeah it’s totally different from v1 and a lot of times that first comma is optional right i don’t know about loop but in other things it’s optional right if
you don’t yeah i always use it yeah it’s the same with message box and all kinds of different commands where you don’t really need the first comma but i think in version 2 it’s you it’s not optional anymore you it requires a space okay and of course the the gluey eyes are really totally changed no object just and if you don’t like objectsprogramming then you’ll probably hate it but that’s i find it more consistent and if you understand it a little bit it’s it’s it’s simpler to to implement
you know i didn’t think about it but i knowsite for AutoHotkeywith the v2 that’ll you know they could actually control for that better it’ll be easier so it might be easier for some editors to do their intellisense type stuff which would be nice yeah that’s true because version 2 is
way more consistent i actually also have written some functions to try to separatethe parameters of the commands and to determine when a comma is meant as text or when it’s meant as a separator of a variable and it’s quite hard to do inAutoHotkey v1 because yes sometimes it’s almost impossible to know and it’s all also mainly depends on the functions what makes it quite hard [Music] although try todemonstrate my converter a little bitalso something that i read was what was kind of interesting you
version 2 has also nested functions [Music]so you can have a function inside the function that you can only use inside the main function actually and that i think it’s also quite interesting if you want to specify a special tool for example with some special commands and you do not want to interfere with the rest of the program nested functions are interesting it hurts my brain a little think about
it but yeah keep you track of all that that’s awesome it’s it’s kind of special becauseyou’re spending years learning how to Hotkey codes and you’re spreading to the the help file to to read and understand and at one point you think yeah now i almost know everything you don’t find any a lot of new things anymore and now you you need to start over again becauseagain a lot of big differences and quite interesting things so just thinking about everything you’ve you’ve learned and i i do want to see
your converter don’t get me wrong butwhen you first started using it what what were the one you know top two things that just you know really threw you for a loop that that made you you know take a step back and rethink what you were doing is there anything that stands out for you that was hard to get used toactually not a lot it’s quite it’s it’s very easy to learn if you just yeah the birth variables i found it a little bit strange alsoi okay i already taught it to lexicos and we will probably change the help file so
that’s in the declaration of the function and at the top we will also add the ampersand sign because it would be more logical for people to eat if you understand what i mean for example if yousplit batters songreally a relayer asked he was just wondering why lexicos didn’t move loops over to functions but i thought everything was a function now loops isn’t a function also if if it’s also you could almost think that it’s a function but i don’t think it’s it’s a function it’s and i tried it but it didn’t work
it’s just see it’s little things i’m not knocking what he’s doing right but it i thought everything literally everything was a function so when you start having things that aren’t then and maybe i mean maybe he’s still working on it right it’s who knows yeah but lupus actually yeah it’s it’s a flow control so maybe it’s normal to maybe and then but also although version 2 will probably also still evolve and i do i don’t think that it wouldit would be possible if you make it a
a function and it wouldn’t cause anybackwards compatible error so maybe in the future it will become effect yeah geek dude chimed in just saying loops as a function can get very confusing when you are expecting ramifications of scoping so yeah are we ready to see yAutoconverteryes actually let’s go back to v1 code [Music] let’s start with something message box for example so actually i justselect some codes i press aHotkey and then i’ll get
but this is actually just for for testing purposes if it becomes better i will probably make it so that you can drop a file into it and it will convert it and this data changes but for now i just wanted tojust quickly grab the scripts and try to convert it see what happens and i have a function to run the v1 codes as you can see and a function to run the converted code and i’m always happy it works but also for example here more complicated it’s should also work will wait till it’s time out and then
it displays the correct message box but as you can see sometimes i’ll need to invent some methods to to get the same results for example even in some functions i even began begin to declare the error level variable so if it’s used afterwards then it will get the same results my main concern i want to convert it so it reacts the same way sometimes it isn’t as clean cold as you could write it but it’s normal i i want to keep the scripts functional as far as i can go but that doesn’t mean that sometimes
there are way better ways to to to code it of course but i think everybody understands that it’s not easy toto make everything perfectwith a converter [Music] and and by the way can youi assume it’s out there your converter is that available can you put the link in the chat for peopleactuallyyeah i can put it but my latest version i’ve actuallythis is actually the hit up page but it’s an older versioni’m kind of bad with the hit up i’m still learning it and i’ve already just actually i adopted the
script from another guy and i think he also adopted it from somewhere else and i’ve done some changes together with him but at one point he said yeah i’ll help you but i’ll i will notcontinue to code and then i was just like okay but then i’ll work offline a little bit it’s way easier if you’re not used to to get up does anyone i i guess we could search for it but i’m just curious when did v2 begin what did he start working on that it’s been a while right i i don’t remember when
started but yeah it must be quite a few years isn’t it maybe almost 10 years ago or something yeah most likely yeah maybe in 12 or something like that for example an example that i i a little bit and i i’ll start to define the error level variable myself will get the same result as the v1 goatnotnot to go there but i guess i’m gonna go therei know i think it was jeez wig and a couple other people have posted stuff to the forum on basically backporting some of the functionality to v1 so if you like some
things done a certain way you can do it in v1 of the biggest reasons for that was because the people kept taking the new stuff for v2 still and i think it really killed people and it really hurt python for several years
where people weren’t adopting it because dude you know it wasn’t all of it wasn’t backwards compatible similar to what we’re talking about here and i think you know this is a good question like do we feel we’re at a place once maybe you know maybe maybe it’s in the year when v2 i mean i actually was learning about aki when l i’m sorry vanilla was you know still
around and v1 wasn’t really the l wasn’t a thingand that was painful very confusing for people i have to for me it was i got to know it and it was really like oh this is way easier even if i do not have aeditor that works with the correct syntax i was reading geekdid saying he still has some python 2 scripts deployed using legacy libraries for yeahwell here’s the in someone else and i forget if i didn’t see actually pay attention who said it might have been john maybe something else they said they have
thousands you know and so do i i have thousands definitely has thousands of scripts written in you know ver the older version and that’s the part of like good lord do i really want to go back and have to worry about all that you know converting it over reallybecause i have a script of 40 000 lines or something it would be crazy to do it by hand sure i agreesomebody wants to know ah it’s actually quite simplei just usetake this text i write it through a file and then i just runthe different xe
Auto Hotkeys with as arguments the name of the file the path of the file now now dimitri now i have to go back and and change that run with that i demonstrated earlierto to make it allow you to say you know what v1 version to another as
because you still have some great v1 scripts running you i actually created a small script thatif you have written version 1 or version 2 in the first 20 lines and then depending on that it will run by a different AutoHotkey version but that is yeah it’s a great way to to work on it yeah the optimization is quite quite difficult that’s true but i i actually i started to convert the converter we were working out of the to file and that was at first it was kind of hard because the code was also quite
complicated and i hadn’t written it so it took time to to fix it now do you know dimitriare there any like com objects that we won’t have access to if we’re using v1 code function that i never use then and if it’s hard to convert it then i’ll
i’ll skip them for now because it’s a lot of work and if it’s not used a lot i that’s focused first on the on the things that are mainly used i see geekgood’s note about quick code tester which is his editor that he does is that you can you can change what v1 but it allows you to launch scripts in in v2 which is cool yeah thanksfor following up that because i was just thinking also i think com objects are kind of the whole they’re a
translator right so how you connect with them it i would think it should work the same with with whatever you’re using to connect to it because it’s kind of the point right the com object stays the same regardless of what language you’re using and connected to it very cooli’ll also demonstrate the gui it’s not finished yet but [Music] yes this also works quite but i have to run it and he’ll say yeah you you don’t have a button of a for this should become a
function yeah and you know if i was a noob looking at these two examples here i know they’re not working examples butthe left side definitely looks a little cleaner right however once you start learning programming i can definitely see how the right is to me i do like functions i prefer functions over the commands yeah actuallywhen i created the convert at first it still translated commands to commands but i i changed it so it just everything as functions because i the syntax is a little bit more understandable for
for us because it’s we will use that everything is a variable quite easy to understand yeah although and i knowif isaias was here he would he would you know yell at me so supposedly but the old way of dealing with double quotes in v1 like if you have a single double quote you could basically define it as aum what do you call itequip not equation expressionso you didn’t have to use the double quotes at all right and it was so easy to work around and that goes away in v2however you can use the
single quotes kind of like python right you can use the double quotes or single quotes on the outside to the final variable which i am looking forward to that you want to give them an example you understand what i’m saying dimitri just to show them yes waitthat’s is normally regarded as not sure if he has done it correctly as that’s nice actually be this yes it’s still something i need to look at my understanding is on the right
you could put single quotes on the outsides of the ksd all the way to the f so you can use either single or double quotes so if you have a double quote inside you could just use single quotes on the outside of the the text yes that’s how p1 works if you use single quotes well it doesn’t work in v1 it works in v2right
yeah jean was it which i agreethis converter is awesome buthe was just wondering you know what are some of the benefits of converting our stuff over and using v1 of things especially people that are new i don’t
think it’s anybody in this call right but they’re new to AutoHotkey doesn’t understand when you install AutoHotkey you get you know the the unicode you get the v1 also if we just start it off and installed v2 does it come with anything else with that no i i for us as far as i know now it doesn’t even as a great installer yes and stalls 64 version i’m not sure if a 32 version will
exist yeah right maybe it will but i haven’t seen it yet but i i see that you can do a little a lot more with the the second v1 codes it’s very very hard to to switch over
because that’s the the thing that changed the most and if a few clubs are glad even if you you’re sayingyeah i’m doubting to switching over it’s still interesting to learn the syntax so we can at least try to use the same rules in your code to convert then it’s easier well and i know Isaias’s on some of the stuff with our stuff he started adopting some of the patternsin v1 even though we’re still using it for v2 just because he’s like i want to get in the habit of
it so he started converting and then that way whenever we do switch it it’s already there i mean like the Hotkey thing he was already putting the brackets you know in there yeah that’s a good practice also i think on the forum i found a v1 goat not sure if they all worked exactly the same but yeah it was thanks to how to transition so you don’t need to convert your whole code at once but yeah and start over yeah and the other really great thing is
uh it’s such a lightweight program anyway right it’s so small that having both is at the end of the world yes the only issue i it’s quite hard that the exchanges are the same that makes it hard to differentiate yes right sure but couldn’t you simply change that to yourself yeah you could change it but if yeah if if you had the need for both you could set v2 up to use a different extension and then do that on your system yes yes you could do it but if you go to the internet you still can download text files so
yeah goods and and then if yeah it would be nice if it was just a convention we we just do it like that i think a lot of people are now using aha2 as extension for version 2. yeah well you know the Auto question i had because i ran into this like i said i was learning when i was first learning dot notation using AutoHotkey withdot notation andprogramming vanilla was still out there and i would stumble upon posts in the forum that were with the vanilla version about aHotkey and then with the l and clearly
even though i didn’t know what i was doing clearly they were two very different structures right like it was very confusing to mewhat can we do other than on the forum having completely separate you know sub forums for your posts which i i guess that’s probably the smartest way to do it but or can we have some sort of a tag or something that absolutely needs to be applied every time you make a post telling people letting them know what version because people will forget right they’ll they won’t mention it
actually there is a command line even in v1 forum that will have two separate languages yeahand i saw really earlier mentioned the h2 also butgeek dude was saying he was you can have some fun with custom extensions
um he has something that instead of as a gui it makes it always show a command prompt when you run the script and let you output interactively in the command prompt section in ways that you can’t with the normal interpreter and the customizations can be pretty fun so yeah it’s an interesting interesting way to to basically do some logic you know and and say hey if i’m doing this always treat it a certain way that’s pretty cool because i do as much as i’m looking forward to this it does concern me if i don’t want to
i don’t want anyone to experience what i felt i went through when i was first learningAutoHotkey and trying to understand the differences between the two so the more we can avoid that kind of experience that’d be great does it do anyone have any specific questions of you know how does something work or anything in particular that we don’t want to ask about v2
shouldn’t break whatever you do in v1 thing breaks i think it’s still acceptable if it’s not too muchi actually tried tochangeauto studio so it wouldit would interpret thatAutoHotkey get the right syntax so
i didn’t spread the version 2 documentation to collect every command to try to to get a syntax file that that we could i could use but i couldn’t get it to work so i’m reading 10 years ago when i was new to AutoHotkey a friend of mine suggested that i would try the l version because it had more powerful features like arrays i thought i already do those things with the main mainline versionwhat do i need l4this is why i think it’ll be a long time for v2 to gain widespread popularity here yeah and that gets back to
what are really the quote-unquote benefits as a programmer the the new functionality new things that we’re going to have access to and it sounds like it’s not clear right it’s more about having a tightened up language that people will hopefully stop making fun of not that we do that right but other people will complain about inconsistencies or little of course but that’s in every darn language you know come on give me a breakbutyeah so why should we be yeah they absolutely yeah they do and rightly so in some places right it
bothers me on some things i get a little confused but it’s not the end of the world but every language has their little quirksi pinged make sure to see what’s his plan i know he’s been really busy i talked to him this morning on a different project we’re working on buti didn’t ask him about that i didn’t even cross my mind ironically if you want to ask people to get to use out e version 2 you also need toget the editors that they also it’s very important and that easily search in the help files
and things like that with a button yeah and so clive is mentioning what the catalyst be for people moving to v2 will be gradual yeah a gradual move would probably damage adoption of either version and that was exactly my point actually i think you joined after i was saying thatwhen we were learning python we were right in that and that really slowed down python for the whole both language and you’re spot on both languages i’m sorry both versionsit really caused a lot of problems in the communities of people just a lot of
stuff and i’m just trying to give what can we do to help avoid that kind of mess yeah that’s also the reason why i started the converter because i think it’s can be great help for people to even if it doesn’t work absolutely fully if it works most of the time or give you a hint how you need to make it and if it does the most of the work then it’s already great help you know dimitri is kind of funny but it’s exactly how i program right without a hockey i don’t automate the entire thing right i automate you know a little
bit of it which is usually like 80 percent of the work and then you know i mainly take care of the other stuff and so yeah that’s exactly how i do most of my stuff because that automating the entire thing is just a crapload of work and to me rarely is it worth all that effort jackie what are your thoughts man i’m i’m i must say i’m just sitting here and reading the v2 documentation just because the ampersand just irritates the i don’t know out of me so i wanted to make sure i read up on it to to know
about it so other than that i didn’t listen to the last maybe three minutes or something well we were just talking in general what do you think you know are people gonna you think AutoHotkey v2 will get adopted swiftly is there anything we can do to help encourage that what are the benefits like why why should we i think there’s a big difference between the benefits of AutoHotkey in general versus each individual right the the language itself it’s tighter and it’ll be cleaner and you knowbe a little more consistent
for people to learn but on i don’t see any huge benefits of learning things you know i’m sorry of things working faster or having access to things we didn’t have access to before yeah i’d say one of the things that i think will be hard is making existing users switch to v2 because i’ve yet to find a truly compelling argument for why to make the switch yeah there might be some speed improvement or there might be some consistency improvements but other than that just like the old vanilla um
to to one conv1 and Auto things like that so new scripts new projects new people coming into AutoHotkey but the problem is we don’t control how people come into ourHotkey they often search for something end up on a page or a chat or somewhere
else far off find an example download it run it and they’re off with v1 and then they figure out that oh there is a two it’s a beta and people are not sure if they’re really converting over or what’s the benefits so we’ll see the exact same thing as we
did with vanilla we we won’t see a big shift into two in any fast way whatsoever as long as you can find examples of one and as long as you will have who knows how many script examples all around the AutoHotkey community that are still done in one then user users will still keep using one yeah but i i think he made a couple excellent points one of which i hadn’t thought of at all which recently because i you and i talked about this maybe a year ago was with lexicos doing most of the heavy lifting and and i
don’t blame him he doesn’t get paid for this stuff right he’s he spends a lot of time he’s doing the stuff you know and he he has interest in what he wants to work on right so and and actually i would even say because i know you and i talked about this too with the whole like windows eight and seven and eight and then pushing out ten they they purposely went out and tried to migrate as many people as they could to help negate that supporting multiple languages forever like xp stuck around right so i think
that’s a very valid point of boy you know in the long run if we are going to switch we really should do it as fast and hard as possible probably not that i’m saying we do that now but when we do make that decision it needs we need to have a community-wide effort but you bring up some big points of if there’s still access and how would we ever lose access to all those we’d have to go back and actually convert use you know a an advanced one that dimitri went you know in version three or four of
where it’s doing a lot more go and actually convert the old stuff out there to have a new v1 for the most part then there’s some h and there’s some iron and there’s all kinds of other stuff out there and somehow forcing people onto two or getting them to adopt that first it it’s a really daunting task it’s
the best we can probably do is in chats and here on on Auto different types of stuff we can try and push it and the first page on ourHotkey dot com can have that as the pushed v1 i would say compared to other languages otaha yes otaha he is on a lot of
different places however mostly it’s on a couple select ones right especially i would say like the-Automator is a one-off right i’m just saying compared to look at
python or something right it’s you know the vast majority of code is in a very select few places that supposedly we might control or at least have a big influence in that we could do but anyway i still get your point jackie let’s say we did manage to make an 99 foolproof converter or set up the conversion rules so completely that we could do it correctly in almost all cases then we could ask tank to run it on the forum and mark the version 1 and put a new code box below it with the version 2.
whatever who knows stuff like that would probably be needed to remove the almost a hundred thousand examples of v1 minute code and it’s everywhere when looking at ourHotkey as a thing i do know that python and c plus plus and whatever are on even more places but just in our small space it’s still spread out quite a lot
it is i’m just saying compare compared to python and other languages it’s not as drastic it’s not as fragmented however anywayyeah i think clive had a good point of you know we can get kind of do like what you just said on the forum if we had a tool to do that and then have you know select developers that are doing some cool stuff just do stuff in v1 code in a post
you could still run some kind of batch job that would put a notification on the code box but this box probably holds a v1 of my big issues before was lord it was confusing of what was i looking at you know and like you said in some things it’s very obvious where you don’t even need what you’re saying but if you’re new you really do right you need that thing
but but i still think it gets back to without actually real new functionality that we don’t have in v1 it was still debated but
for the most part people were in agreement that one one was just a little bit simpler when working with com and stuff like that and the objects was a nice add-on there wasn’t too much functionality written for them at the time but that came along but with two i’m currently still stumped on what is it doing for me right it’s yeah i can read both of these examples here just fine i i’m used to the old way of AutoHotkey looking so the new way of it looking is okay it’s more functiony but that’s that’s about it
awesome well let mewe’re at a good kind of stopping point let me stop the recording inor yeah let me just stop the recording we’ll start it back there