A_Perry_1984 wrote: ↑10 Dec 2019, 16:32
What exactly was the main reason for ending IronAHK development?
This and the other are hard questions. I will give what I know about it, but there might be more to the story than I know, in regards to both.
Chris, the original creator of AutoHotkey, originally handed over AutoHotkey leadership to a user named Polyethylene/Titan (went by both names, maybe more). Polyethylene/Titan was an advanced user/developer of AutoHotkey that created a number of scripts and contributed a lot. The original AHK Studio and IronAHK, among them.
When Polyethylene/Titan took over as leader, it appeared he behaved erratically, would leave for long periods, and got into destructive disputes. Because of neglecting the main AutoHotkey website, users broke away and started a new website (
http://ahkscript.org). A dispute also started over which would be the official version of AutoHotkey, Lexikos's version AutoHotkey_L or Chris's original version AutoHotkey_Basic. It appears Polyethylene/Titan wanted AutoHotkey_Basic to be the official version and restarted, with IronAHK to be the alternative fork to AutoHotkey_Basic.
Polyethylene/Titan was asked by numerous members of the AHK community to hand over control of the main website back to other AHK members, who would do a better job of maintenance and upgrading (this is the present AutoHotkey Foundation LLC). Losing control of the website (and there were lots of harsh exchanges) appeared to have upset Polyethylene/Titan so much, that he stopped developing IronAHK. Though keep in mind he was not the only developer/contributor to the project (others helped with the code for Linux), but they mysteriously stopped too. An additional result of him losing control of the website and stopping development is that the AutoHotkey_L fork became the official version of AutoHotkey (which was/is still actively developed).
Luckily, Polyethylene/Titan created a very liberal license for IronAHK. Somewhat similar to a MIT license, so that others are free to contribute to and use the project. Despite what happened with Polyethylene/Titan, the work on IronAHK should arguably continue. Just like AHK Studio might have been originally created by him, Maestrith picked up the torch and created an improved and better version. So should this arguably become of IronAHK, where a newer and improved version should be made.
DLL's could be converted to .SO files etc?
This is trivial in Lazarus/Free Pascal or Delphi, for compiling projects to work on Windows or Linux. Both can cross-compile to different OSes, provided your original project was created in Object Pascal. Keep in mind that Lazarus/Free Pascal has a compatibility mode for Delphi, where Delphi doesn't have the reverse.
However, you can't use the WinAPI on Linux. Your code must not include anything specific to only the Windows OS, if you want to compile it for Linux. You may need to find a "Linux way" of accomplishing a particular task.
Is it possible there exists some C++ to Pascal conversion programs?
A number of C to Pascal converters exists (
https://wiki.freepascal.org/C_to_Pascal). C++ is a bit more difficult beast, but there is a SWIG variation for Object Pascal/Delphi (
http://www.fmxexpress.com/create-wrapper-interfaces-for-c-and-c-libraries-using-swig-with-delphi-support/). Note- Lazarus/Free Pascal have a Delphi compatibility mode setting. SWIG developers are a bit funky about including Object Pascal/Delphi in the main branch. There have been Object Pascal programmers that have written code to be included in the main branch of SWIG, which appears to keep being forgotten to be included.
SWIG and C# should be easier to work with. Overall, for AutoHotkey, there is a lot of C# usage, where Object Pascal is rarely ever mentioned on the boards. C++ is closer linguistically to C# (though Object Pascal is arguably easier to understand), and both supported by Microsoft, and there is IronAHK already. I do think an Object Pascal fork of AutoHotkey is quite possible (as WinAutokey shows), but it will probably be easier to find developers that can restart and continue development on IronAHK in C# and Visual Studio.