![](https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?s=100&d=%2F%2Fwww.autohotkey.com%2Fboard%2Fpublic%2Fstyle_images%2Fortem%2Fprofile%2Fdefault_large.png)
Reasons why enterprises do not use AHK
Does anybody know a software company which uses AHK or commercial applications written in AHK? If the number of companies using AHK as development language increases, job opportunities relating AHK will naturally arise. Consequently more sophisticated ideas and methods will be created and eventually delivered to the ordinary users through the Internet such as this online forum. It will be beneficial to the community and further growth of AHK itself.
If AHK is barely used for a commercial purpose, what are the reasons for it?
![Reasons why enterprises do not use AHK: post #1](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
They likely just post a job: Hey can someone write this in C++?
They need to actually post what they want the program to do & have the programmer choose the correct language to write it in.
For a simple example, VLC is written in Qt, which is fine, sorta, but the "Go to time" dialog is really crappy/hard to use. I've written a nice "replacement" Gui in AutoHotkey for this, but to get that into the main VLC, I -- or someone -- would need to convert that to Qt. I can write AutoHotkey in my sleep, but I can't even write Qt in my nightmares. I'm not saying Qt is bad but it's just alot more involved to download/install/write/compile/test with.
![Reasons why enterprises do not use AHK: post #2](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
OMFG, the AutoHotkey forum is IP.board now (yuck!)...I may not be able to continue coming here (& I love AutoHotkey)...I liked phpBB, but not this...ugh...
Note...
I may not reply to any topics (specifically ones I was previously involved in), mostly cuz I can't find the ones I replied to, to continue helping, but also just cuz I can't stand the new forum...phpBB was soo perfect. This is 100% the opposite of "perfect".
I also semi-plan to start my own, phpBB-based AutoHotkey forum (or take over the old one, if he'll let me)
PM me if you're interested in a new phpBB-based forum (I need to know if anyone would use it)How (or why) did they create the Neil Armstrong memorial site (neilarmstronginfo.com) BEFORE he died?
![Reasons why enterprises do not use AHK: post #3](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
![Reasons why enterprises do not use AHK: post #4](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
![Reasons why enterprises do not use AHK: post #5](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
![Reasons why enterprises do not use AHK: post #6](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
In addition to the excellent point brought up by JSLover; I feel the following are the major reasons AHK is not taken seriously in the work place:
#1) False Positives
http://www.donationc...php?topic=28137
http://www.autohotke...le=FAQ#Virus.3F
#2) Source code exposed in "compiled" .exe
http://www.autohotke...=FAQ#Protection
![Reasons why enterprises do not use AHK: post #7](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
![Reasons why enterprises do not use AHK: post #8](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
The universe is a wondrous place! The faster you create unbreakable code, the faster the universe creates people that can break it. All scripting follows the rule Rule Of Twos -- 1) Good, 2) Fast 3) Cheap -- pick any Two.
I guarantee absolutely nothing about any code I provide except that it works in my machine. ●
MMO Fighter KeyLooperDemo Key Spammer TinyClickRecorder GGs Password Generator.ahk
For the newest version of AutoHotkey and some killer scripts go here.
![Reasons why enterprises do not use AHK: post #9](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
If a smaller compayn was able to sift through all the several dozen ahk scripts used at the office they'd prolly find about 0 that would apply to anything they do specifically. It would only be after heavy modifications that it would help them at all. They might as well just write one from scratch.I think these automation tasks are most of the time rather specific. It's probably easier to write one yourself than to try to find one that exactly fits your needs.
![Reasons why enterprises do not use AHK: post #10](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
![Reasons why enterprises do not use AHK: post #11](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
AHK is actually a huge part of my job, but I work in a very unique position. But I think for most major projects, AHK has a few limits that older programming languages don't. Don't get me wrong - AHK rocks, and idk what I'd do without it - but there are some things it doesn't do (yet!) such as:
- Encryption and other security measures (though I heard someone actually wrote an encryption algorithm in AHK! Again, AHK rocks)
- Databases (creating/reading/updating/deleting info)
- XML (XML parsing functionality can be created easily, but it would have to be built)
- Processing HTTP requests/responses (though again, I've hP script - definitely not impossible)
- Other platforms (but everyone I've ever worked for uses Windows, so this may or may not be significant).
And there could be others as well. None of these are truly beyond the reach of AHK (and in fact I could give more ideas of how to do each of the above tasks) and it'll only get better with time - but if I were asked to develop, say, a program for managing patient data for a local doctor's office, I wouldn't go with AHK. Again, don't get me wrong - I use it for the overwhelming majority of my programming projects (work-related or otherwise), but any time there are massive amounts of money or personal information involved, those are the kinds of things that development teams need to take into consideration.
I do think though that with time, AHK will outgrow its current reputation of a "gamer's toy language" (though I hope it stays "code for dummies" LOL). It's already simpler and more powerful than any other language I know, and that in and of itself makes it more efficient. And now Microsoft has this new hybrid laptop-tablet thing that runs Windows 8 (Don't recall the name; can't afford one yet lol) which my boss says will run AHK. Then someday an Android/iOS guru will develop something like Xamarin Studio, to essentially port AHK scripts to those platforms. I think that the bottom line is, as technology continues to change and improve, if AHK keeps going with it, it'll get there.
Here's an example that's a good laugh: JavaScript. idk about you, but when I think back to about 15 years ago, JavaScript was this annoying little language that was only good for mouseovers and pop-ups. Of course the internet itself was a whole different ball game back then, but look how it's changed. These days with Ajax, JQuery, JSON, Node.js etc. JavaScript is just about the AHK of the web. I googled "autohotkey jobs" and this topic was the first to come up. I googled "javascript jobs" and before I got to the O in "jobs" it was already 3rd on the suggestion list. Yeah, AHK will get there.
![Reasons why enterprises do not use AHK: post #12](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
atleast XML and Processing HTTP (and possibly databases) can be added to your AHK if you upgrade from 1.0 to 1.1+. Go here:
Using the built-in COM stuff you can easily do xml/html parsing/info getting/updating/managing/whatever.
Documented demo I made (gets headlines from yahoo news):
#singleInstance, force ; --------------------------------------- ; ------------- HTTPREQUEST ------------- ; --------------------------------------- ; documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383979(v=vs.85).aspx ; this is COM stuff. ; This section gets the XML data from yahoos RSS news feed ; I'm no COM expert so I don't really know any of the technical terms or how it works ... ; ... I just read the confusing documentation until it works. url=http://rss.news.yahoo.com/rss/mostviewed ; the URL to the news feed. WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1") ; This gets a pointer (I think) to the WinHttpRequest thingy created. WebRequest.Open("GET", url) ; This sends a GET request to the specified website WebRequest.Send() ; ??? xmldata:=WebRequest.ResponseText ; now we get the actual text, the XML data. we save it to a variable: xmldata ; show us the retrieved XML ; MsgBox, %xmldata% ; ------------------------------- ; ------------- XML ------------- ; ------------------------------- ; IMPORTANT: this relies on the httprequest stuff above! ; documentation: http://msdn.microsoft.com/en-us/library/ms757878(v=vs.85).aspx ; this is COM stuff. ; this section parses the retrieved XML data using Microsofts built-in XML COM stuff. doc:=ComObjCreate("MSXML2.DOMdocument.6.0") ; Get & create a pointer to some XML object thingy. doc.async := false ; ??? doc.loadXML(xmldata) ; Load the data we got above into an XML object. ; this while-loop parses all "title" nodes in the XML data until there is ; ... no more nodes with a title (its 'text' [gathered from the .text method] will be blank) ; != means "not equal" and "" checks if something is blank. while (doc.selectSingleNode("/rss/channel/item[" A_Index "]/title").text!="") ListOfTitles.=A_Index ". " doc.selectSingleNode("/rss/channel/item[" A_Index "]/title").text "`n" ; the .= operator appends stuff to the end of a variable. `n means "make a new line" ; so the variable ListOfTitles appends a counter (a_index) followed by some ... ; ... XML COM stuff to get the text of the current node (based off of a_index), followed by ; ... a new line, to start the next index from the loop. ; here we display some simple msgboxes. `n makes a newline. msgbox, Top headlines from Yahoo:`n-----`n%ListOfTitles% msgbox, note: this is a simple example. Yahoo News has URLs`, descriptions and other information. I kept this simple by only getting the titles. You could combine all the data and make a fully featured news app. ExitApp loadXML(ByRef data) { o := ComObjCreate("MSXML2.DOMDocument.6.0") o.async := false o.loadXML(data) return o } esc::exitapp
![Reasons why enterprises do not use AHK: post #13](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
rawr. be very afraid
*poke*
. Populate the AutoHotkey city. Pointless but somewhat fun. .
Encryption and other security measures.
Not true.
You ! just dont use them.
Standards like AES etc. can be used when you use DlCall.
Databases (creating/reading/updating/deleting info)
Same reason.
there is a giant library made by IsNull.
You can search it.
![Reasons why enterprises do not use AHK: post #14](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
Visit the new forum ahkscript.org.
And if we could get a platform independent version of AutoHotkey that would run on Apple and Android and Linux We'd RULE THE WORLD! (But most definitely Linux and Android)
![Reasons why enterprises do not use AHK: post #15](http://www.autohotkey.com/board/public/style_images/ortem/icon_share.png)
The universe is a wondrous place! The faster you create unbreakable code, the faster the universe creates people that can break it. All scripting follows the rule Rule Of Twos -- 1) Good, 2) Fast 3) Cheap -- pick any Two.
I guarantee absolutely nothing about any code I provide except that it works in my machine. ●
MMO Fighter KeyLooperDemo Key Spammer TinyClickRecorder GGs Password Generator.ahk
For the newest version of AutoHotkey and some killer scripts go here.